On 04.04.2018 21:51, Jonas Maebe wrote:
On 04/04/18 20:26, Ondrej Pokorny wrote:
The compiler initializes the variable implicitely for myself - this
is documented and I know it. There cannot be "wrong code behaviour"
(as you stated) and thus I cannot have an error. This is simple logic.
"Wrong behaviour" is not the same as "undefined behaviour" or "crash".
It merely means "something different than the programmer intended". It
is of course possible that you wanted the behaviour that you get when
the variable contains the empty string, nil or 0, but because this
initialisation is implicit rather than explicit, the compiler does not
rely on this. After all, it is equally possible that you forgot to
assign the correct (non-nil/0/empty string) value to the variable
before using it the first time (in which case it would be an error in
the program).
How can I forget to assign the correct (non-nil/0/empty string) value to
a variable? Oh god, this is such a crazy argument - completely out of
the reality. At latest the first execution of the program tells me about
this error. Warnings should warn me about possible errors that I cannot
easily find and that are potentially dangerous.
No, this discussion is useless.
I must not. Turning off warnings is forbidden. Turning off hints and
notes is OK. That is the rules.
The inflexibility of that rule in the Lazarus project is not a good
reason to change the priority of the message.
...and the difference between a "truly uninitialized variable" and an
"implicitely initialized variable" is not a reason either...
Funnily enough there are both message levels (warning and hint) for all
variants of "not explicitely initialized variable". So somebody decided
when a hint and when a warning is emitted and you seem to be convinced
this decision is engraved in stone.
Even more funny - in
https://bugs.freepascal.org/view.php?id=24601#c75617 you used the same
tactics as now - you explain in a general way what the current behavior
is and ignore arguments for a possible change to make the behavior
clearer. Later, Florian changed it himself.
Ondrej
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel