@@ -18,10 +18,21 @@ default = ["builtin-lua"]
18
18
# specialized version of lua into your binary, you can disable this feature to
19
19
# do that, but care must be taken. `rlua` makes at least the following
20
20
# assumptions about the linked lua library:
21
- # * LUA_INTEGER is long long
22
- # * LUA_NUMBER as double
23
- # * LUA_EXTRASPACE is sizeof(void*)
24
- # * LUAI_MAXSTACK is 1000000
21
+ # * LUA_INTEGER is long long
22
+ # * LUA_NUMBER as double
23
+ # * LUA_EXTRASPACE is sizeof(void*)
24
+ # * LUAI_MAXSTACK is 1000000
25
+ # * LUAI_THROW / LUAI_TRY are defined so that they are compatible with jumping
26
+ # over Rust stack frames. Rust is, as of the discussion around
27
+ # https://github.com/rust-lang/rust/issues/48251, intended to be compatible in
28
+ # at least a limited way with C libraries that use setjmp / longjmp error
29
+ # handling, but there are some caveats. The linked bug prevents calling into
30
+ # C APIs which use setjmp / longjmp handling *at all* on windows with at least
31
+ # the 1.24.0 version of the rust compiler, and it remains to be seen but
32
+ # potentially the 1.24.1 and 1.25 versions as well. Eventually the fix for
33
+ # this will make it into stable rust, but until then there is a fix in the
34
+ # bundled version of Lua to use __intrinsic_setjmp on windows instead of
35
+ # setjmp to avoid unwinding and triggering rust issue #48251.
25
36
builtin-lua = [" gcc" ]
26
37
27
38
[dependencies ]
0 commit comments