Stephen Chung
6bc98bd252
Remove extra clippy lints.
2022-08-27 16:29:39 +08:00
Stephen Chung
bf5d6ab35a
Shut up clippy.
2022-08-27 16:26:41 +08:00
Stephen Chung
f323644e20
Fix tests.
2022-08-09 17:24:24 +08:00
Stephen Chung
68c11060d9
Merge branch 'main' of https://github.com/rhaiscript/rhai
2022-08-09 16:31:25 +08:00
Stephen Chung
47f02b96d7
Add top-level wrappers.
2022-08-08 09:10:15 +08:00
Stephen Chung
6fab9f5b63
Fix build.
2022-07-28 18:08:21 +08:00
Stephen Chung
87687ebf25
Gate definitions with internals feature.
2022-07-28 17:58:22 +08:00
Stephen Chung
39dee556c4
Clean up clippy.
2022-07-27 16:04:24 +08:00
Stephen Chung
0bf7baa502
Merge branch 'main' into feat-definitions
2022-07-26 21:18:01 +08:00
tamasfe
d350462cf8
chore: formatting
2022-07-26 14:18:43 +02:00
tamasfe
b00bf8535d
fix(defs): conditional compilation and refactors
2022-07-26 13:55:10 +02:00
tamasfe
b7b9ff29e4
feat: basic definitions
2022-07-25 19:01:06 +02:00
Stephen Chung
61056dfb24
Export is_valid_identifier and is_valid_function_name under internals.
2022-07-25 22:05:52 +08:00
Stephen Chung
5149c56256
Streamline switch case AST structure.
2022-07-19 13:33:53 +08:00
Stephen Chung
7dca916c45
Allow duplicated switch cases.
2022-07-18 13:40:41 +08:00
Stephen Chung
b4dbc7619a
Add no_custom_syntax.
2022-07-05 22:59:03 +08:00
Stephen Chung
dee66a409f
Add case alternatives for switch.
2022-07-04 17:42:24 +08:00
Stephen Chung
6ea5ed17f4
Use rhai for ignore.
2022-06-12 15:04:06 +08:00
Stephen Chung
e5f6b28abd
Fix warnings.
2022-06-08 17:06:49 +08:00
Stephen Chung
6ebe002b18
Check for missing docs.
2022-06-05 18:17:44 +08:00
Stephen Chung
4194e2c048
Refine data structures.
2022-05-07 15:54:44 +08:00
Stephen Chung
c3d013bddc
Add to_json for maps.
2022-04-21 12:15:21 +08:00
Stephen Chung
855cb76246
Rename EvalState to Caches.
2022-04-16 16:36:53 +08:00
Stephen Chung
1e4abd012c
Minor refactor.
2022-03-09 09:25:55 +08:00
Stephen Chung
8bda8c64df
Refine data structures
2022-03-05 17:57:23 +08:00
Stephen Chung
9ef522b699
Use SmartString in parsing.
2022-02-26 17:28:58 +08:00
Stephen Chung
8205547d8a
Use bitflags.
2022-02-25 11:42:59 +08:00
Stephen Chung
fb9964e1a3
Revise on_def_var API.
2022-02-15 10:56:05 +08:00
Stephen Chung
3b9dbd5fce
Add Span.
2022-02-08 23:01:47 +08:00
Stephen Chung
187a20fd8b
Refactor OptimizationLevel.
2022-02-07 21:03:39 +08:00
Stephen Chung
becbfa8930
Fix errors.
2022-02-06 23:02:59 +08:00
Nathan Kent
86d86a85e4
Remove unsound casting functions
...
The casting functions in `unsafe.rs` were unsound (i.e., they allowed
safe code to cause undefined behavior). While they did appear to be used
in a way that wouldn't cause UB the fact that there exists unsound
functions is unsettling.
This commit removes those functions and replaces it with a macro that
performs the same reification - the difference is that the macro call
will also include the checks which are required to prevent UB. A macro
was chosen instead of a function for two reasons:
1. A macro can keep the same code generation whereas a function would
require going through an `Option` which has negative impacts on code
generation (niche values cause poor DCE).
2. There exist other `unsafe` code blocks in the crate and an attempt to
make Rhai 100% safe is completely out-of-scope for this merge
request, so we may as well use `unsafe` in the macro.
Regarding (2) above, I may come back at a later date with a 100% safe
`reify` function but only once the other `unsafe` blocks are removed.
For posterity, said function would look something like:
```rust
fn reify<A: Any, C>(value: A) -> Option<C> {
let mut v = Some(value);
let v: &mut dyn Any = &mut v;
v.downcast_mut::<Option<C>>().map(Option::take)
}
```
2022-02-05 16:29:05 -08:00
Stephen Chung
345a060672
Fix type name display.
2022-02-03 23:54:53 +08:00
Stephen Chung
7163a7331a
Add commands and status to debugging interface.
2022-02-01 22:30:05 +08:00
Stephen Chung
f1458e79e0
Improve AST debug display.
2022-01-31 13:38:27 +08:00
Stephen Chung
7b92a80c32
Fix encapsulated environment in module functions.
2022-01-30 17:27:13 +08:00
Stephen Chung
6b02dde848
Gate dead code for no_module.
2022-01-29 11:09:43 +08:00
Stephen Chung
20baae71d4
Factor tuples into structs to aid in understanding.
2022-01-28 10:11:40 +08:00
Stephen Chung
c8357de1c8
Fix feature builds.
2022-01-27 16:58:11 +08:00
Stephen Chung
3cec9751bf
Remove call stack under no_function.
2022-01-27 16:58:11 +08:00
Stephen Chung
40aaab60c3
Refine debugger.
2022-01-27 16:58:11 +08:00
Stephen Chung
fc87dec128
Add debugging interface.
2022-01-27 16:58:11 +08:00
Stephen Chung
96764c0d2d
Fix UINT -> UNSIGNED_INT.
2022-01-13 22:51:56 +08:00
Stephen Chung
0f4e8848f9
Extract index calculataion into functions.
2022-01-13 18:13:27 +08:00
Stephen Chung
37dbc68bf5
Use target_family for wasm.
2022-01-12 08:12:28 +08:00
Stephen Chung
a267ac5e54
Split Engine into eval folder.
2022-01-07 11:43:47 +08:00
Stephen Chung
328f6910b6
Refactor wasm feature gates.
2022-01-04 22:16:20 +08:00
Stephen Chung
d60ed5a502
Reduce size of Variant trait.
2022-01-01 19:54:46 +08:00
Stephen Chung
135b1f54c2
Remove Option from source and use empty string as no source.
2022-01-01 17:20:00 +08:00
Stephen Chung
8329baea29
Fix doc comments.
2021-12-31 23:01:34 +08:00