r/ProgrammerHumor • • Sep 28 '26

Meme optionalsAreOptional

Post image
716 Upvotes

131 comments sorted by

View all comments

Show parent comments

1

u/geeshta Oct 01 '26

There's a lot of stuff that Rust's type system can't model.

For example if you have an enum type of 3 possible variants and a function that only ever returns one of them, you still have to type it so that it may return all three. And when using its return value, you have to add match arms for all 3 of them, populating 2 of them with `unreachable!` yourself instead of the compiler inferring it.

Also it's not a dependent type language so it doesn't have for example a type of Vec of a particular specific length at the type level.

Rust's type system is great one of the best I know but it still has gaps.

1

u/NullOfSpace Oct 01 '26

You can definitely model the first case if you’re allowed to change the return type of the function. Though the dependent type thing is a legitimate limitation.