@@[target("rust")]

// Frame type string → C# type spelling.
// Frame has NO type system: type names pass through to the generated
// code VERBATIM (docs/frame_language.md). The alias table that used to
// translate str→string, int→int, Any→object, float→double, … was
// exterminated — it contradicted the passthrough contract. Write C#'s
// own type names; `void`/empty/user types all pass through unchanged.

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

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