@@[target("rust")]

// Frame type string → C++ type spelling.
// Frame has NO type system: type names pass through VERBATIM
// (docs/frame_language.md). The alias table (str→std::string,
// Any→std::any, int→int, …) was exterminated — it contradicted the
// passthrough contract. Write C++'s own type names (std::string,
// std::any, std::vector<int>, custom classes); all pass through.

@@system CppMapType {
    interface:
        map(t: String): String

    machine:
        $Active {
            map(t: String): String {
                @@:(t)
            }
        }
}
