Stephen Chung
470af6af71
Using hashing for full hash instead of xor.
2022-11-04 21:59:49 +08:00
l1npengtul
876fd63dd3
remove unneeded feature
2022-11-01 01:01:04 +09:00
l1npengtul
bb01f914e0
Address concerns
2022-11-01 00:59:07 +09:00
l1npengtul
3e6a3a2759
Stable Hash: Add feature, adjust CI, modify build.rs, add new API for accessing and setting the ahash seed in config.rs, make config.rs public
2022-10-31 22:14:09 +09:00
Stephen Chung
45f0fdcbe0
no_std = no_time.
2022-10-15 15:11:51 +08:00
Stephen Chung
a6a570131a
Add no_time.
2022-10-15 12:37:42 +08:00
Stephen Chung
38e47c909d
Streamline code.
2022-10-14 14:04:54 +08:00
Stephen Chung
2ecf44a48e
Remove stable_hash feature and use environment variable.
2022-09-27 13:23:47 +08:00
Stephen Chung
5d275b5307
Simplify to calc_fn_hash.
2022-09-21 11:46:23 +08:00
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