function f(x::Int)
const y = 5
#some code...
y =2 # I want this line to throw "ERROR: invalid redefinition of constant y"
x+y
end
Instead it throws:
ERROR: syntax: unsupported const
declaration on local variable around REPL[37]:2
Short answer you can’t.
Long answer: you can’t but you shouldn’t need to.
Make your function short enough and clear enough that the logic is correct and clearly correct and it doesn’t mater.
I do think this would be a nice feature to have, or even a macro that i could annotate a function with to say that it won’t ever reassign anything.
Just because I hate it when variables are reassigned.
Probably makinga macro to detect htat is not impossible
2 Likes
You can always defined a named tuple in the local scope with all “constant variables” and give it a short name like c
. But you probably will lose some time with errors just because you forgot to put c.
before the name of a variable.
1 Like