Wrap up 0.19.10.

This commit is contained in:
Stephen Chung 2021-01-14 19:07:03 +08:00
parent fe65bf6137
commit 3f44e2893c
5 changed files with 16 additions and 20 deletions

View File

@ -11,7 +11,7 @@ edition = "2018"
authors = ["Jonathan Turner", "Lukáš Hozda", "Stephen Chung", "jhwgh1968"]
description = "Embedded scripting for Rust"
homepage = "https://rhaiscript.github.io/book"
repository = "https://github.com/rhaiscript/rhai"
repository = "https://github.com/rhaiscript"
readme = "README.md"
license = "MIT OR Apache-2.0"
include = [

View File

@ -70,15 +70,13 @@ Documentation
See [The Rhai Book](https://rhaiscript.github.io/book) for details on the Rhai scripting engine and language.
To build _The Book_, first install [`mdbook`](https://github.com/rust-lang/mdBook)
and [`mdbook-tera`](https://github.com/avitex/mdbook-tera) (for templating).
Running `mdbook build` builds it.
Playground
----------
An [Online Playground](https://rhaiscript.github.io/playground) is available with syntax-highlighting editor.
An [Online Playground](https://rhaiscript.github.io/playground) is available with
syntax-highlighting editor, powered by WebAssembly.
Scripts can be evaluated directly from the editor.

View File

@ -7,8 +7,9 @@ Version 0.19.10
Bug fixes
---------
* `no_std` feature now compiles correctly (bug introduced in `0.19.9`).
* Bug in `FileModuleResolver::clear_cache_for_path` path mapping fixed.
* Some optimizer fringe cases is fixed - related to constants propagation when the evil `eval` is present.
* Some optimizer fringe cases are fixed - related to constants propagation when the evil `eval` is present.
Breaking changes
----------------

View File

@ -1058,13 +1058,13 @@ impl Stmt {
}
}
/// _(INTERNALS)_ A custom syntax definition.
/// _(INTERNALS)_ A custom syntax expression.
/// Exported under the `internals` feature only.
///
/// # WARNING
///
/// This type is volatile and may change.
#[derive(Clone, Hash)]
#[derive(Debug, Clone, Hash)]
pub struct CustomExpr {
/// List of keywords.
pub keywords: StaticVec<Expr>,
@ -1074,17 +1074,6 @@ pub struct CustomExpr {
pub scope_delta: isize,
}
impl fmt::Debug for CustomExpr {
#[inline(always)]
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
f.write_str("CustomExpr { keywords:")?;
fmt::Debug::fmt(&self.keywords, f)?;
f.write_str(", tokens:")?;
fmt::Debug::fmt(&self.tokens, f)?;
f.write_str("}")
}
}
/// _(INTERNALS)_ A binary expression.
/// Exported under the `internals` feature only.
///

View File

@ -101,6 +101,14 @@ impl Engine {
/// * `keywords` holds a slice of strings that define the custom syntax.
/// * `new_vars` is the number of new variables declared by this custom syntax, or the number of variables removed (if negative).
/// * `func` is the implementation function.
///
/// # Notes
///
/// If `new_vars` is positive, then a number of new variables are expected to be pushed into the
/// current [`Scope`][crate::Scope].
///
/// If `new_vars` is negative, then it is expected that only the top `new_vars` variables in the
/// current [`Scope`][crate::Scope] will be _popped_. Do not randomly remove variables.
pub fn register_custom_syntax<S: AsRef<str> + Into<ImmutableString>>(
&mut self,
keywords: impl AsRef<[S]>,