Mon code Julia invoque la fonction assert (ou macro, je ne suis pas sûr). Exécuté sous Julia v0.1.2 lorsque l'assertion est déclenchée, il a évalué le 2ème argument (chaîne) et a imprimé correctement l'instance évaluée. Dans l'exemple ci-dessous, v0.1.2 afficherait "Hello world".@assert de Julia n'évalue plus le message assert?
Après la mise à niveau vers la version 0.2.1, le deuxième argument n'est pas évalué. Au lieu de cela un squelette clair du message est en cours d'impression:
julia> a="world" ; @assert(1==0,"hello $a")
ERROR: assertion failed: :($(Expr(:string, "hello ", :a)))
in error at error.jl:21
julia> a="world" ; assert(1==0,"hello $a")
ERROR: assertion failed: y
in assert at deprecated.jl:21
Quelqu'un peut-il faire la lumière sur ce nouveau comportement? Existe-t-il un moyen de récupérer l'ancien comportement avec l'assertion intégrée, ou devrais-je mieux mettre en œuvre ma propre fonction d'assertion?