← Back to context

Comment by jppittma

2 days ago

Where are you going with those goal posts?

Nowhere. It's the same argument as upthread. A language that forces downstream consumers of an API to correctly deal with all possible outcomes would have prevented this.

  • You can’t force downstream to do anything. I can write a library in C that hints just as hard as rust does though, using basically the same tools/apis, since they’re all there. The only difference is that it’s less conventional in C. That’s probably a smaller lift than rewrite it in rust.

    Memory is where C is broken. I feel like without `defer` or destructors the language meaningfully is incomplete.

Goalposts are fine. If crypt did return union type, C still allows cowboy programmers to straight extract the char* without any check whether it's valid. So we'd end up in exactly the same situation.

I don't think the goal posts were moved. The comment you replied to referred to the "use"--not the existence--of sum types.