I've been vaguely aware of this behavior for a long time but never looked into it. Consider this sample:
(* I know the proper definition is: *)
(* test = Compile[{{a, _Complex}}, Sqrt@a]; *)
test = Compile[a, Sqrt@a];
test[-1]
test[-1]
test[-1]
(* You can split the cell here *)
test[-1]
Version 7 behavior:
Version 8 (and later) behavior:
As shown above, since version 8, after the CompiledFunction::cfn
is generated for 3 times, it silently disappears (nothing like General::stop
comes out) and no longer shows up.
So far, the only way I find that can make the warning appear again is to re-evaluate the definition of test
.
Is this a bug or new-added feature? If the latter, is it possible to turn on the warning CompiledFunction::cfn
without re-evaluating definition of test
in and after version 8?
General::stop
is (wrongly) suppressingCompiledFunction::cfn
. $\endgroup$