Has this ever been proposed? What about adding a consttype
keyword, that forces a value to have a certain type:
julia> consttype x = 3
3
julia> x = 1.5
Error: x must be of type Int
# alternatively convert as in array assignment:
julia> x = 1.5
InexactError ...
This could make a lot of global code faster and help to avoid possible typeinstabilities in functions. E.g.
function f()
consttype x = 1
for i in 1:1000
x += rand()
end
return x
end
could throw an error instead of silently having bad performance.