You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 0388ee8
Browse filesBrowse the repository at this point in the historyBrowse files
store SubTree literals as strings again; coerce numeric strings in script arithmetic (#1246) (#1254)
Since #1121 (shipped in 4.9.1), a numeric literal passed to a SubTree port
was stored as int/int64_t/double. That locked the entry type, so the same
value could no longer be read by a std::string port (tree creation failed),
custom convertFromString<T> was bypassed, and the spelling was lost
("007" became 7).
Literals are stored as strings again. The goal of #1121, arithmetic on
numeric literals in Script, is kept by the script evaluator instead: in
+ - * /, a string operand mixed with a number is converted when the whole
string is a number (integer first, then double).
Behavior change compared to 4.9.1 - 4.10.0, back to pre-4.9.1 behavior:
two literal operands are strings ("1" + "2" is "12", "10" < "2" compares
text), and compound assignment, unary minus, bitwise and logic operators
on such a literal require an explicit number again.
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
0 commit comments