Hacker News new | ask | show | jobs
by bluepnume 745 days ago
But 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?
2 comments

You 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.

You could make a special primary key column creation function that rejects static values.
You don't even have to reject/forbid them, just make their use explicit.