#include #include #include copy_from: (copy _) = { } parameter_styles: ( in _: std::string, // "in" is default copy b: std::string, inout _: std::string, move d: std::string, forward e: std::string ) = { z: int = 12; z++; b += "plugh"; if std::rand()%2 { z++; copy_from(b); // definite last use } else { copy_from(b&); // NB: better not move from this (why not?) copy_from(d); copy_from(z++); copy_from(e); } // std::move(z); copy_from(z); if std::time(nullptr)%2 == 0 { copy_from(z); } } main: () -> int = { }