Wrap up 0.19.10.
This commit is contained in:
parent
fe65bf6137
commit
3f44e2893c
@ -11,7 +11,7 @@ edition = "2018"
|
|||||||
authors = ["Jonathan Turner", "Lukáš Hozda", "Stephen Chung", "jhwgh1968"]
|
authors = ["Jonathan Turner", "Lukáš Hozda", "Stephen Chung", "jhwgh1968"]
|
||||||
description = "Embedded scripting for Rust"
|
description = "Embedded scripting for Rust"
|
||||||
homepage = "https://rhaiscript.github.io/book"
|
homepage = "https://rhaiscript.github.io/book"
|
||||||
repository = "https://github.com/rhaiscript/rhai"
|
repository = "https://github.com/rhaiscript"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
license = "MIT OR Apache-2.0"
|
license = "MIT OR Apache-2.0"
|
||||||
include = [
|
include = [
|
||||||
|
@ -70,15 +70,13 @@ Documentation
|
|||||||
|
|
||||||
See [The Rhai Book](https://rhaiscript.github.io/book) for details on the Rhai scripting engine and language.
|
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
|
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.
|
Scripts can be evaluated directly from the editor.
|
||||||
|
|
||||||
|
|
||||||
|
@ -7,8 +7,9 @@ Version 0.19.10
|
|||||||
Bug fixes
|
Bug fixes
|
||||||
---------
|
---------
|
||||||
|
|
||||||
|
* `no_std` feature now compiles correctly (bug introduced in `0.19.9`).
|
||||||
* Bug in `FileModuleResolver::clear_cache_for_path` path mapping fixed.
|
* 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
|
Breaking changes
|
||||||
----------------
|
----------------
|
||||||
|
15
src/ast.rs
15
src/ast.rs
@ -1058,13 +1058,13 @@ impl Stmt {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// _(INTERNALS)_ A custom syntax definition.
|
/// _(INTERNALS)_ A custom syntax expression.
|
||||||
/// Exported under the `internals` feature only.
|
/// Exported under the `internals` feature only.
|
||||||
///
|
///
|
||||||
/// # WARNING
|
/// # WARNING
|
||||||
///
|
///
|
||||||
/// This type is volatile and may change.
|
/// This type is volatile and may change.
|
||||||
#[derive(Clone, Hash)]
|
#[derive(Debug, Clone, Hash)]
|
||||||
pub struct CustomExpr {
|
pub struct CustomExpr {
|
||||||
/// List of keywords.
|
/// List of keywords.
|
||||||
pub keywords: StaticVec<Expr>,
|
pub keywords: StaticVec<Expr>,
|
||||||
@ -1074,17 +1074,6 @@ pub struct CustomExpr {
|
|||||||
pub scope_delta: isize,
|
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.
|
/// _(INTERNALS)_ A binary expression.
|
||||||
/// Exported under the `internals` feature only.
|
/// Exported under the `internals` feature only.
|
||||||
///
|
///
|
||||||
|
@ -101,6 +101,14 @@ impl Engine {
|
|||||||
/// * `keywords` holds a slice of strings that define the custom syntax.
|
/// * `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).
|
/// * `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.
|
/// * `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>>(
|
pub fn register_custom_syntax<S: AsRef<str> + Into<ImmutableString>>(
|
||||||
&mut self,
|
&mut self,
|
||||||
keywords: impl AsRef<[S]>,
|
keywords: impl AsRef<[S]>,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user