3 ms·
But variance depends on position where the value is used, not at the time of declaration, superclass/subclass at parameter/return value position can't be correc
by mirekrusin 5y ago
But variance depends on position where the value is used, not at the time of declaration, superclass/subclass at parameter/return value position can't be correctly encoded like this, can it?
- sizediterable 5y agoI think most languages define variance at type definition level, notable exceptions being Kotlin which supports both [0][1] and Flow. But yeah, TS doesn't support (variable-)declaration-site variance which I didn't realize you were asking in my previous answer. [0] https://kotlinlang.org/docs/generics.html#variance https://kotlinlang.org/docs/generics.html#variance [1] https://kotlinlang.org/docs/generics.html#declaration-site-variance https://kotlinlang.org/docs/generics.html#declaration-site-v...
- mirekrusin 5y agoDoesn't OCaml support it as well?
- sizediterable 5y agoI'm less familiar with OCaml and don't know off the top of my head. Doing a quick search I was only able to find references to type declaration variance [0], though I learned that Java also supports use-site variance too [1] [0] https://blog.janestreet.com/a-and-a/ https://blog.janestreet.com/a-and-a/ [1] https://blog.jooq.org/tag/use-site-variance/ https://blog.jooq.org/tag/use-site-variance/