Commit Graph

2655 Commits

Author SHA1 Message Date
Stephen Chung
8815b88baf Merge branch 'main' of https://github.com/rhaiscript/rhai 2022-11-15 10:02:17 +08:00
ltabis
c41db6dde5 chore: only export locked_read & locked_write. 2022-11-14 15:17:37 +01:00
Stephen Chung
7f84a9f42b Fix premature promotion in optimizer. 2022-11-13 21:05:14 +08:00
ltabis
379dc11b3d Merge branch 'main' of github.com:ltabis/rhai 2022-11-11 12:10:34 +01:00
ltabis
0790e5bc96 chore: gate func::native export under the internals flag. 2022-11-11 12:10:19 +01:00
Stephen Chung
0984f2d4df Fix docs. 2022-11-11 16:46:28 +08:00
Lucas Tabis
68083792f0
Merge branch 'rhaiscript:main' into main 2022-11-11 09:26:06 +01:00
Stephen Chung
d3fc711f33 Add missing doc comment. 2022-11-11 15:01:38 +08:00
ltabis
a381a485ec chore: sync fork. 2022-11-10 21:10:33 +01:00
ltabis
ae860ab4fb chore: change visibility to pub for native module. 2022-11-10 21:08:53 +01:00
Stephen Chung
fca71b5ed2 Reduce call to Module::is_empty. 2022-11-10 23:57:46 +08:00
Stephen Chung
013ee223ee Cleanup. 2022-11-10 14:25:48 +08:00
Stephen Chung
54353c6676 Fix no_function build. 2022-11-10 12:16:23 +08:00
Stephen Chung
3a028f2642 Move lib into global. 2022-11-10 11:49:10 +08:00
Stephen Chung
3800a6d9f5 Remove indirection. 2022-11-09 21:48:54 +08:00
Stephen Chung
1b248b5af7 Speed up static hashing default case. 2022-11-09 21:16:28 +08:00
Stephen Chung
a07eb65f02 Merge branch 'main' of https://github.com/rhaiscript/rhai 2022-11-09 20:24:37 +08:00
Stephen Chung
a1d42b826a Simplify Dynamic::as_XXX calls. 2022-11-09 20:18:11 +08:00
l1npengtul (Lua)
ad080ff944
Merge branch 'rhaiscript:main' into static_hash_finetune 2022-11-09 03:15:24 -08:00
l1npengtul
abe625c336 fix CI 2022-11-09 20:14:36 +09:00
Stephen Chung
ce046422f0 Add Dynamic::is_XXX API. 2022-11-09 12:44:57 +08:00
Stephen Chung
ad018aaae3 Move FloatWrapper into types. 2022-11-08 23:17:31 +08:00
Stephen Chung
ae1e19c98a Fix builds. 2022-11-08 21:41:00 +08:00
Stephen Chung
e93923b3b6 Move level into GlobalRuntimeState. 2022-11-08 21:28:20 +08:00
Stephen Chung
5bae4d8a19 Fix builds. 2022-11-08 16:37:35 +08:00
Stephen Chung
8f128f37f0 Add Dynamic::NULL to simplify this pointer binding. 2022-11-08 16:16:42 +08:00
Stephen Chung
6053aa1641 Clean up types. 2022-11-08 15:01:40 +08:00
Stephen Chung
f4e2901353 Use RestoreOnDrop. 2022-11-08 11:52:46 +08:00
Stephen Chung
cba914db95 Fix no_function build. 2022-11-07 16:34:25 +08:00
Stephen Chung
b4529b6a64 Add storage API for NativeCallContext. 2022-11-07 16:19:10 +08:00
Stephen Chung
0c79471fd3 Change lib to &[Shared<Module>] and remove dummy lifetimes. 2022-11-07 16:18:59 +08:00
l1npengtul
a8ae82e3d8 add lifetime parameter 2022-11-05 22:53:58 +09:00
l1npengtul
c49948def4 address concerns 1, 2 2022-11-05 22:46:08 +09:00
Stephen Chung
6e0f8b5007 Fix no-std build. 2022-11-05 10:49:34 +08:00
Stephen Chung
54aa89515e Fix no_module build. 2022-11-04 22:00:21 +08:00
Stephen Chung
470af6af71 Using hashing for full hash instead of xor. 2022-11-04 21:59:49 +08:00
Stephen Chung
35b02ce9b7 Make parameters order uniform. 2022-11-04 21:47:09 +08:00
Stephen Chung
0756994038 Fix no_function. 2022-11-04 21:42:57 +08:00
Stephen Chung
d80555e204 Fix no_function build. 2022-11-04 21:28:04 +08:00
Stephen Chung
d2cd70bf53 Minor stylistic fixes. 2022-11-04 21:22:31 +08:00
Stephen Chung
ed971df8f3 Merge branch 'main' of https://github.com/rhaiscript/rhai 2022-11-04 19:19:40 +08:00
Stephen Chung
8904b19015 Fix data size. 2022-11-04 19:18:56 +08:00
l1npengtul
36edc445d1 fix build.yml, concurrency concerns, build.rs concerns 2022-11-04 15:36:18 +09:00
Stephen Chung
2a5ef0bee1 Refactor is_anonymous. 2022-11-03 12:00:56 +08:00
l1npengtul
5816d571b3 remove stable hash and fix CI 2022-11-01 21:25:45 +09:00
l1npengtul
79e7c305bf fix templateing issue 2022-11-01 01:26:23 +09:00
l1npengtul
488a8eab5e remove config.rs (?) 2022-11-01 01:02:55 +09: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
87e51cb8fe adjust warnings doc 2022-10-31 22:26:04 +09:00
l1npengtul
ec332b4e49 add errors doc for set rhai fn 2022-10-31 22:20:43 +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
1282beabbb Handle type formatting of Result<..., Box<EvalAltResult>> 2022-10-31 18:07:38 +08:00
Stephen Chung
79ba80eeb3 Fix full optimization. 2022-10-30 23:33:44 +08:00
Stephen Chung
32493524ed Code cleanup. 2022-10-30 22:16:09 +08:00
Stephen Chung
dc5e80c821 Fix builds. 2022-10-30 19:01:51 +08:00
Stephen Chung
22ee12531c Code cleanup. 2022-10-30 18:43:18 +08:00
Stephen Chung
8b773aa15e Fix builds. 2022-10-30 16:13:51 +08:00
Stephen Chung
c9184db4d2 Refine native/script code splits. 2022-10-30 15:45:25 +08:00
Stephen Chung
d97f3f7ec4 Merge variables in Stmt::Share. 2022-10-29 15:17:12 +08:00
Stephen Chung
91415b9750 Use ImmutableString in more places. 2022-10-29 14:59:20 +08:00
Stephen Chung
8e35f98477 Fix build. 2022-10-29 14:27:30 +08:00
Stephen Chung
4100e6da64 Use ImmutableString for source. 2022-10-29 14:12:18 +08:00
Stephen Chung
68bd84417a Fix tests. 2022-10-29 12:56:35 +08:00
Stephen Chung
c14fbdb14d Add loop expressions. 2022-10-29 12:09:18 +08:00
Stephen Chung
6af66d3ed3 Code cleanup. 2022-10-29 10:40:07 +08:00
Stephen Chung
6ce1dae110 Simplify integer bits iterator. 2022-10-29 10:27:39 +08:00
Stephen Chung
6de493c8c2 Fix builds. 2022-10-27 22:25:18 +08:00
Stephen Chung
25fde7dbed Fix tests. 2022-10-27 22:08:47 +08:00
Stephen Chung
4100645512 Move pure checking out of functions. 2022-10-27 20:42:10 +08:00
Stephen Chung
4708fde8bd Compact data structures. 2022-10-27 15:52:24 +08:00
Stephen Chung
3c2e031883 Use variable interpolation for println!. 2022-10-27 13:38:21 +08:00
Stephen Chung
6b24cc151e Add auto-gen notice to build template. 2022-10-25 20:53:27 +08:00
Stephen Chung
6702fe349c Add index to Share statement. 2022-10-25 10:05:31 +08:00
Stephen Chung
6880d44900 Remove unnecessary data. 2022-10-25 08:31:13 +08:00
Stephen Chung
05b9c83bb8 Reformat. 2022-10-24 23:33:33 +08:00
Stephen Chung
d55b5a91f7 Fill variable index on captured variables in closures. 2022-10-24 23:33:24 +08:00
Stephen Chung
2f88757efe Fix builds. 2022-10-21 19:02:40 +08:00
Stephen Chung
c24794187f Reduce unnecessary generics. 2022-10-20 15:31:57 +08:00
Stephen Chung
988222418e Check data size at built-in. 2022-10-20 11:38:54 +08:00
Stephen Chung
9f36afc84c Check result size in op assignment. 2022-10-20 09:53:11 +08:00
Stephen Chung
d49dca8a29 Fix test. 2022-10-18 16:54:26 +08:00
Stephen Chung
4642895de8 Change loops to iterators. 2022-10-18 15:44:24 +08:00
Stephen Chung
530109275f Minor code restructure. 2022-10-16 11:35:21 +08: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
9b226f321e Use template to create config.rs. 2022-10-15 12:04:14 +08:00
Stephen Chung
5035dcbf47 Fix builds. 2022-10-14 18:43:25 +08:00
Stephen Chung
ac05f0a0a8 Check if function calls cannot be scripted. 2022-10-14 18:31:40 +08:00
Stephen Chung
ea63c66cf0 Add call_native_fn for context. 2022-10-14 16:57:14 +08:00
Stephen Chung
71e475be13 Fix no_module build. 2022-10-14 15:23:58 +08:00
Stephen Chung
38e47c909d Streamline code. 2022-10-14 14:04:54 +08:00
Stephen Chung
3d0626c76f Streamline global state. 2022-10-14 12:23:04 +08:00
Stephen Chung
b65b7b05a5 Allow global functions in non-aliased imports. 2022-10-14 12:14:28 +08:00
Stephen Chung
31d045279f Fix imports in eval. 2022-10-14 11:57:36 +08:00
Stephen Chung
d6b0f99781 Refactor. 2022-10-10 16:46:35 +08:00
Stephen Chung
796206f293 Fix build. 2022-10-05 15:15:42 +08:00
Stephen Chung
42c0eeed57 Remove unnecessary unchecked gates. 2022-10-05 15:07:54 +08:00
Stephen Chung
80f95b6f2a Fix no_module. 2022-10-04 16:27:04 +08:00
Stephen Chung
891214470b Make limit getters available without unchecked. 2022-10-04 15:33:51 +08:00
Stephen Chung
e8fd965eba Add parse_json. 2022-09-29 22:46:59 +08:00
Stephen Chung
6c777e68d3 Refine inlining. 2022-09-28 12:06:22 +08:00
Stephen Chung
82b64e9c7a Fix builds. 2022-09-27 23:08:27 +08:00
Stephen Chung
fde8483f54 Optimize functions calling. 2022-09-27 23:04:22 +08:00
Stephen Chung
b141e8d0e1 Do not use stable hashing with all-zero seed. 2022-09-27 16:39:19 +08:00
Stephen Chung
2ecf44a48e Remove stable_hash feature and use environment variable. 2022-09-27 13:23:47 +08:00
Stephen Chung
a518ab62bb Simplify strings interner. 2022-09-27 08:52:51 +08:00
Stephen Chung
25476d1cea Mark debug functions cold. 2022-09-27 08:52:39 +08:00
Stephen Chung
20d4b71591 Add stable_hash. 2022-09-26 23:45:50 +08:00
Stephen Chung
3a3653f42a Refactor. 2022-09-26 23:35:37 +08:00
Stephen Chung
8f1cb4aef7 Use string interpolation. 2022-09-26 22:12:28 +08:00
Stephen Chung
8d1310c0f3 Make Scope serializable. 2022-09-26 18:14:45 +08:00
Stephen Chung
335d12e182 Move Variant into separate file. 2022-09-26 12:19:45 +08:00
Stephen Chung
7d87a59315 Fix doc test. 2022-09-25 23:45:51 +08:00
Stephen Chung
e9a270f6ba Fix feature builds. 2022-09-25 23:07:47 +08:00
Stephen Chung
bf02d040e2 Use tokens to speed up function name lookup. 2022-09-25 23:03:18 +08:00
Stephen Chung
ece522ce2f Refactor fast operators. 2022-09-25 18:22:48 +08:00
Stephen Chung
ce56c43bc0 Refactor serde impl. 2022-09-25 16:20:36 +08:00
Stephen Chung
b56a9c22f3 Refactor. 2022-09-25 12:24:03 +08:00
Stephen Chung
def1a683ef Distinguish string literals from identifiers in custom syntax parser. 2022-09-24 16:59:01 +08:00
Stephen Chung
f2b1184805 Remove need for smartstring/std. 2022-09-22 23:11:38 +08:00
Stephen Chung
7a6ce2a35a Fix test on 32-bit architectures. 2022-09-22 17:20:57 +08:00
Stephen Chung
2b8578d3cb Fix bug. 2022-09-21 19:06:18 +08:00
Stephen Chung
6eef11123a Do not search for global functions if scripted. 2022-09-21 18:30:12 +08:00
Stephen Chung
5d275b5307 Simplify to calc_fn_hash. 2022-09-21 11:46:23 +08:00
Stephen Chung
d7ae65c425 Add types to scope variable definitions. 2022-09-17 22:31:38 +08:00
Stephen Chung
a51f741546 Restore global state upon errors. 2022-09-16 18:11:28 +08:00
Stephen Chung
93f43790af Fix bloom filter on 32-bit arch. 2022-09-15 21:06:04 +08:00
Stephen Chung
c727b529f5 Minor refactors. 2022-09-15 08:55:07 +08:00
Stephen Chung
640471f865 Revert "Enable capacity on packages."
This reverts commit 85ca6ec4a1.
2022-09-14 15:17:36 +08:00
Stephen Chung
72244b74cd Remove redirection in functions hash map. 2022-09-14 15:11:37 +08:00
Stephen Chung
0280aa82ba Fix no-std. 2022-09-14 13:45:20 +08:00
Stephen Chung
b256b3ecc7 Use Entry API. 2022-09-14 12:11:27 +08:00
Stephen Chung
b9478e601c Use SmartString. 2022-09-14 12:11:18 +08:00
Stephen Chung
396ec7df8a Add #[cold] tags. 2022-09-13 22:54:13 +08:00
Stephen Chung
2458e05dcb Fix doc test. 2022-09-13 21:56:36 +08:00
Stephen Chung
85ca6ec4a1 Enable capacity on packages. 2022-09-13 21:47:11 +08:00
Stephen Chung
257991ca31 Fix no_function. 2022-09-13 21:12:44 +08:00
Stephen Chung
4be8062924 Optimize Module. 2022-09-13 18:23:34 +08:00
Stephen Chung
40a12b2b7d Remove key type from StraightHashMap. 2022-09-12 23:08:38 +08:00
Stephen Chung
08f6682d09 Use is_absent_and_set. 2022-09-12 22:40:52 +08:00
Stephen Chung
44219c732c Do not cache "one-hit wonders" 2022-09-12 19:47:29 +08:00
Stephen Chung
c1ae9e0405 Add state to custom syntax. 2022-09-12 12:03:32 +08:00
Stephen Chung
32825d2ca8 Fix feature build. 2022-09-10 13:49:21 +08:00
Stephen Chung
1bfedf516d Use a bloom filter. 2022-09-08 17:49:37 +08:00
Stephen Chung
1476b14831 Fix metadata build. 2022-09-08 10:58:43 +08:00
Stephen Chung
040f28f5cd Types in constants and variables for definitions. 2022-09-08 10:53:55 +08:00
Stephen Chung
2f7d6298e0 Move format_type into api. 2022-09-08 10:52:58 +08:00
Stephen Chung
faa81ac3fc Fix no-std build. 2022-09-07 14:37:33 +08:00
Stephen Chung
b0ce3ee445 Use Entry API. 2022-09-07 13:30:31 +08:00
Stephen Chung
a6ce459b32 Merge branch 'main' of https://github.com/rhaiscript/rhai 2022-09-06 17:41:47 +08:00
quake
a3ce137500 chore: auto deref 2022-09-06 15:32:37 +09:00
quake
8ee501e4d9 pref: remove Rc/Arc::from_box 2022-09-06 14:51:32 +09:00
quake
563f18a04b pref: use ExactSizeIterator 2022-09-06 14:16:15 +09:00
quake
ab23094d65 perf: reduce one hashmap lookup 2022-09-06 12:51:44 +09:00
Stephen Chung
158b4ce7bc Change TypeId to use BTreeMap. 2022-09-05 21:17:07 +08:00
quake
d515eaf7cd chore: apply reviewers comment 2022-09-05 19:22:30 +09:00
quake
239438754c perf: change BTreeMap to StraightHashMap 2022-09-05 13:13:06 +09:00
Stephen Chung
c7da3c6edb Speed up unary operators. 2022-09-04 18:12:38 +08:00
Stephen Chung
702bb9030a Make fast operators the default. 2022-09-03 22:07:36 +08:00
Stephen Chung
defdc2a5bc Revise style. 2022-09-03 16:21:45 +08:00
Stephen Chung
2de4325d7e Use fast operators mode in rhai-run. 2022-09-03 15:31:29 +08:00
Stephen Chung
06dea067b7 Change fast_ops to options. 2022-09-03 15:15:42 +08:00
Stephen Chung
43c4d7e3ca Use standard operator to short-circuit. 2022-09-03 12:35:00 +08:00
Stephen Chung
75512bfd2f Remove log print. 2022-09-03 12:26:55 +08:00
Stephen Chung
79eb626386 Speed up built-in. 2022-09-03 11:46:20 +08:00
Stephen Chung
fcdd2eb143 Use caching for fast operators. 2022-09-03 11:27:13 +08:00
Stephen Chung
0516e8088c Add fast-ops feature. 2022-09-02 23:45:25 +08:00
Stephen Chung
044484c756 Merge 1.9.1 fixes. 2022-08-29 22:42:46 +08:00
Stephen Chung
0870318e4e Fix bug in strict variables mode. 2022-08-29 22:26:07 +08:00
Stephen Chung
80772df4f4 Shut up clippy. 2022-08-29 14:27:05 +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
d80184ba14 Allow if-expressions and switch-expressions in Engine::eval_expression. 2022-08-26 23:10:58 +08:00
Stephen Chung
204284f4f7 Add test to recreate NativeCallContext. 2022-08-26 16:20:23 +08:00
Stephen Chung
296d5c054c Use simple optimization for rhai-run. 2022-08-26 11:23:16 +08:00
Stephen Chung
b36f746dbe Add Engine::module_resolver. 2022-08-25 22:25:41 +08:00
Stephen Chung
5c80157e7a Store path in module id. 2022-08-25 22:17:01 +08:00
Stephen Chung
1c335e24dc Fix formatting. 2022-08-25 08:41:09 +08:00
Stephen Chung
ca1b7f6a39 Refine is_empty methods. 2022-08-24 21:58:08 +08:00
Stephen Chung
ae5e88928e Merge branch 'main' of https://github.com/rhaiscript/rhai 2022-08-24 21:00:08 +08:00
Stephen Chung
69bb5534ef Share encapsulated environment. 2022-08-24 20:59:11 +08:00
ltabis
1269d4b34d feat(ranges): add is_empty function to inclusive/exclusive ranges. 2022-08-24 13:17:43 +02:00
Stephen Chung
b40ca9e40d Improve docs. 2022-08-24 18:27:58 +08:00
ltabis
4b3608cedc feat(data-structures): add is_empty getter to map, string and blob. 2022-08-24 09:54:41 +02:00
ltabis
9c3443538a feat(array): add an empty getter for arrays. 2022-08-23 16:36:43 +02:00
Stephen Chung
010a96dde3 Fix feature builds. 2022-08-22 22:28:27 +08:00
Stephen Chung
a9413dc570 Remove _result registration methods. 2022-08-22 22:16:26 +08:00
Stephen Chung
4ce8d4609d Refactor CustomType to struct CustomTypeInfo. 2022-08-22 20:52:52 +08:00
Stephen Chung
db865d7538 Fix sync. 2022-08-22 14:02:24 +08:00
Stephen Chung
799dd9d9d1 Add fallible type iterators. 2022-08-22 13:10:32 +08:00
Stephen Chung
1deed8cd55 Fix generic parameters. 2022-08-22 00:15:00 +08:00
Stephen Chung
80a23ddaa2 Allow registration of getters/setters/indexers with NativeCallContext. 2022-08-21 22:59:49 +08:00
Stephen Chung
2f02b30b6e Use String::new() for empty strings. 2022-08-21 17:35:44 +08:00
Stephen Chung
248888ce0b Fine tune error display. 2022-08-21 17:35:37 +08:00
Stephen Chung
689ed48235 Add missing reserved tokens. 2022-08-20 21:55:00 +08:00
Stephen Chung
8c20801574 Add parameter to debugger init. 2022-08-20 15:04:17 +08:00
Stephen Chung
a51f6138f6 Reduce API changes. 2022-08-19 13:21:47 +08:00
Stephen Chung
f9d74fe313 Fix tests. 2022-08-18 21:36:00 +08:00
Stephen Chung
a9b6e8b98c Fix builds. 2022-08-18 21:16:42 +08:00