v.0.19.12
This version is an incremental release with a number of enhancements and bug fixes.
Notice that there are a number of breaking changes, especially with regards to replacing the ~
exponential operator with **
, and the addition of the decimal
feature that turns on Decimal
support.
Version 0.19.12
released to crates.io
.
Bug fixes
- Empty statements (i.e. statements with only one
;
) now parse correctly and no longer hang. continue
,break
andreturn
statements no longer panic inside atry .. catch
block.round
function forf64
is now implemented correctly.
Breaking changes
- In order to be consistent with other scripting languages:
- the power/exponentiation operator is changed from
~
to**
;~
is now a reserved symbol - the power/exponentiation operator now binds to the right
- trigonometry functions now take radians and return radians instead of degrees
- the power/exponentiation operator is changed from
Dynamic::into_shared
is no longer available underno_closure
. It used to panic.Token::is_operator
is renamed toToken::is_symbol
.AST::clone_functions_only_filtered
,AST::merge_filtered
,AST::combine_filtered
andAST::retain_functions
now takeFn
instead ofFnMut
as the filter predicate.
New features
- Scientific notation is supported for floating-point number literals.
- A new feature,
decimal
, enables theDecimal
data type. When bothno_float
anddecimal
features are enabled, floating-point literals parse toDecimal
.
Enhancements
- Functions resolution cache is used in more cases, making repeated function calls faster.
- Added
atan(x, y)
andhypot(x, y)
toBasicMathPackage
. - Added standard arithmetic operators between
FLOAT
/Decimal
andINT
.