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
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Bug fixes
Engine::compact_script now properly compacts scripts with custom syntax that uses $raw$ (thanks @yuvalrakavy#1079).
The string methods split, split_rev and their variants are now marked pure so they can be called on const strings (thanks @theJC#1082).
The array method index_of now falls back to value comparison for string argument when no script function of that name is registered (thanks @yinho999#1086).
The walk API now correctly visits the arguments to MethodCall and switch statements (thanks @isSerge#1092#1093)
New features
A new advanced callback, Engine::on_missing_function, is added (gated under the internals feature) to override default handling when a called function or method is not found (thanks @yuvalrakavy#1067).
A new method, EvalContext::new_frame, is added to created an isolated frame guard that automatically restores field values upon Drop (thanks @yuvalrakavy for the idea #1085).
\${...} is supported in multi-line literal strings to escape interpolation, yielding literally ${...} for the string (thanks @yinho999#1089).
Enhancements
Procedural macros such as #[export_module] and #[derive(CustomType)] no longer require importing standard Rhai types (thanks @timokoesters#1071).
FnPtr::call_fn_as_method and FnPtr::call_as_method_within_context are added (when not under no_object) to accept a this pointer for calling the function pointer as a method call (thanks @yunfengzh for the request #1080).
NativeCallContext::call_method and NativeCallContext::call_native_method are added (when not under no_object) to accept a this pointer for method calls (thanks @yunfengzh for the idea #1080).