4 ms·
Sure, you can follow along the old meme: https://twitter.com/vbhvsgr/status/1419369352164372482 https://twitter.com/vbhvsgr/status/1419369352164372482 Though i
by tazjin 2y ago
Sure, you can follow along the old meme: https://twitter.com/vbhvsgr/status/1419369352164372482 https://twitter.com/vbhvsgr/status/1419369352164372482
Though in practice in decent languages it's much less likely you'd write your own `any -> any, any`-typed library for whatever (in this case DB interactions), and use a strongly typed one in which this would at least have been a much more explicit mistake to make.
- bluepnume 2y agoBut this isn't an `any -> any` case. They passed in a default value, as a string, which is the correct type for a default value for this column. Even with very strong typing they wouldn't have got a type error here right?
- jowea 2y agoYou could make a special primary key column creation function that rejects static values.
- tazjin 2y agoYou don't even have to reject/forbid them, just make their use explicit.
- Nullabillity 2y agoYou can forbid static values and require it to be a function. Generally, static languages will just culturally be less likely to have this kind of invisible "T | (() -> T)" overload.
- paulmd 2y agoI thought this was going to be the xkcd ‘int rand() {return 6; //chosen by fair dice roll}’, which is more or less what they did lol.