Remix.run Logo
fauigerzigerk 5 days ago

I like Rust's approach to this. It's even more important when comparing with languages that hide value/reference semantics at the call site.

I've been writing some Swift code in recent years. The most frequent source of bugs has been making incorrect assumptions on whether a parameter is a class or a struct (reference or value type). C# has the same issue.

It's just a terrible idea to make the value/reference distinction at the type level.