Skip to content

Conversation

@gregorbg
Copy link

Redid #140 with a cleaner history (and less confused commits about me trying to figure out the Ruby gems native binding ecosystem)

@lgarron
Copy link
Member

lgarron commented Nov 30, 2025

I think I'd be alright with merging this, assuming that:

Sorbet types would also be nice, but I don't know how hard that would be.

@lgarron
Copy link
Member

lgarron commented Nov 30, 2025

Oh, and we also need to figure out what to do about:

VERSION = "0.0.1"

The source of truth should remain:

version = "0.11.3-dev"

@lgarron
Copy link
Member

lgarron commented Nov 30, 2025

Also, I need help making sure that VS Code extensions for Ruby syntax highlighting / formatting / linting also all work.

@gregorbg
Copy link
Author

gregorbg commented Dec 8, 2025

Oh, and we also need to figure out what to do about:

VERSION = "0.0.1"

The source of truth should remain:

version = "0.11.3-dev"

This may not be possible to resolve. Ruby bindings are their own independent thing (it's called a "gem", conceptually somewhat similar to a Rust crate), and the gem specification wants to know what version it is before even starting the native building process.

So we cannot use any approach where the native Rust code exposes its version and Ruby reads that, because this means the Rust <-> Ruby bridge needs to already be built/compiled. But the VERSION for Ruby needs to be there before the binding compilation starts.

The only approach that I can think of right now is to parse the Cargo file using some generic Ruby TOML parser library and extracting the information we need. But that doesn't sound appealing because we would need to tell the parser a relative path to the project root.

The other option is to run two versions: One Twips::VERSION and one Twips::LIB_VERSION or similar. What do you think?

@lgarron
Copy link
Member

lgarron commented Dec 8, 2025

I'd be fine with anything that allows me to use https://github.com/lgarron/repo to bump versions. I could add a Ruby version bumper to it, but adding a heuristic to look for libraries in nested folders sounds daunting. Perhaps as a stopgap I could allow a configuration that runs a script to keep the Ruby version up to date any time I bump the Rust versions. That could also be checked in CI, and it would still be easy to bump by hand.

@lgarron
Copy link
Member

lgarron commented Dec 9, 2025

I've run into another blocker: cargo test --package twips-rb now fails on my computer:

Details
╭─── /Users/lgarron/Code/git/github.com/cubing/twips ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
├─ (jj) @=low #=cf02 (rv +0 pushable +1 empty) 
├─ (git)  rv  | ✔ 
├─ lgarron@Germain
│ cargo test --package twips-rb
┴
   Compiling magnus v0.8.2
error[E0432]: unresolved imports `rb_sys::rb_proc_call_kw`, `rb_sys::rb_yield_values_kw`
  --> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/block.rs:14:5
   |
14 |     rb_proc_call_kw, rb_proc_lambda_p, rb_proc_new, rb_yield, rb_yield_splat, rb_yield_values_kw,
   |     ^^^^^^^^^^^^^^^ no `rb_proc_call_kw` in the root                          ^^^^^^^^^^^^^^^^^^ no `rb_yield_values_kw` in the root
   |
help: a similar name exists in the module
   |
14 -     rb_proc_call_kw, rb_proc_lambda_p, rb_proc_new, rb_yield, rb_yield_splat, rb_yield_values_kw,
14 +     rb_proc_call, rb_proc_lambda_p, rb_proc_new, rb_yield, rb_yield_splat, rb_yield_values_kw,
   |
help: a similar name exists in the module
   |
14 -     rb_proc_call_kw, rb_proc_lambda_p, rb_proc_new, rb_yield, rb_yield_splat, rb_yield_values_kw,
14 +     rb_proc_call_kw, rb_proc_lambda_p, rb_proc_new, rb_yield, rb_yield_splat, rb_yield_values,
   |

error[E0432]: unresolved import rb_sys::rb_class_new_instance_kw
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/class.rs:15:19
|
15 | rb_class_new, rb_class_new_instance_kw, rb_class_superclass, rb_define_alloc_func,
| ^^^^^^^^^^^^^^^^^^^^^^^^
| |
| no rb_class_new_instance_kw in the root
| help: a similar name exists in the module: rb_class_new_instance

error[E0432]: unresolved import rb_sys::rb_eNoMatchingPatternError
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/exception.rs:13:5
|
13 | rb_eNoMatchingPatternError, rb_eNoMemError, rb_eNoMethodError, rb_eNotImpError, rb_eRangeError,
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ no rb_eNoMatchingPatternError in the root

error[E0432]: unresolved imports rb_sys::rb_gc_location, rb_sys::rb_gc_mark_movable
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/gc.rs:8:74
|
8 | rb_gc_adjust_memory_usage, rb_gc_count, rb_gc_disable, rb_gc_enable, rb_gc_location,
| ^^^^^^^^^^^^^^ no rb_gc_location in the root
9 | rb_gc_mark, rb_gc_mark_locations, rb_gc_mark_movable, rb_gc_register_address,
| ^^^^^^^^^^^^^^^^^^
| |
| no rb_gc_mark_movable in the root
| help: a similar name exists in the module: rb_gc_mark_maybe

error[E0432]: unresolved import rb_sys::rb_io_enc_t
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/io.rs:8:5
|
8 | use rb_sys::rb_io_enc_t as rb_io_encoding;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no rb_io_enc_t in the root

error[E0432]: unresolved import rb_sys::rb_io_extract_modeenc
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/io.rs:14:5
|
14 | rb_io_extract_modeenc, OnigEncodingTypeST, FMODE_APPEND, FMODE_BINMODE, FMODE_CREATE,
| ^^^^^^^^^^^^^^^^^^^^^ no rb_io_extract_modeenc in the root

error[E0432]: unresolved import rb_sys::rb_hash_bulk_insert
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/r_hash.rs:16:53
|
16 | rb_check_hash_type, rb_hash_aref, rb_hash_aset, rb_hash_bulk_insert, rb_hash_clear,
| ^^^^^^^^^^^^^^^^^^^ no rb_hash_bulk_insert in the root

error[E0432]: unresolved imports rb_sys::rb_block_call_kw, rb_sys::rb_check_funcall_kw, rb_sys::rb_enumeratorize_with_size_kw, rb_sys::rb_funcall_with_block_kw, rb_sys::rb_funcallv_kw, rb_sys::rb_funcallv_public_kw
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/value.rs:25:18
|
25 | rb_any_to_s, rb_block_call_kw, rb_check_funcall_kw, rb_check_id, rb_check_id_cstr,
| ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ no rb_check_funcall_kw in the root
| |
| no rb_block_call_kw in the root
26 | rb_check_symbol_cstr, rb_enumeratorize_with_size_kw, rb_eql, rb_equal,
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no rb_enumeratorize_with_size_kw in the root
27 | rb_funcall_with_block_kw, rb_funcallv_kw, rb_funcallv_public_kw, rb_gc_register_address,
| ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ no rb_funcallv_public_kw in the root
| | |
| | no rb_funcallv_kw in the root
| no rb_funcall_with_block_kw in the root
|
help: a similar name exists in the module
|
25 - rb_any_to_s, rb_block_call_kw, rb_check_funcall_kw, rb_check_id, rb_check_id_cstr,
25 + rb_any_to_s, rb_block_call, rb_check_funcall_kw, rb_check_id, rb_check_id_cstr,
|
help: a similar name exists in the module
|
25 - rb_any_to_s, rb_block_call_kw, rb_check_funcall_kw, rb_check_id, rb_check_id_cstr,
25 + rb_any_to_s, rb_block_call_kw, rb_check_funcall, rb_check_id, rb_check_id_cstr,
|
help: a similar name exists in the module
|
26 - rb_check_symbol_cstr, rb_enumeratorize_with_size_kw, rb_eql, rb_equal,
26 + rb_check_symbol_cstr, rb_enumeratorize_with_size, rb_eql, rb_equal,
|
help: a similar name exists in the module
|
27 - rb_funcall_with_block_kw, rb_funcallv_kw, rb_funcallv_public_kw, rb_gc_register_address,
27 + rb_funcall_with_block, rb_funcallv_kw, rb_funcallv_public_kw, rb_gc_register_address,
|
help: a similar name exists in the module
|
27 - rb_funcall_with_block_kw, rb_funcallv_kw, rb_funcallv_public_kw, rb_gc_register_address,
27 + rb_funcall_with_block_kw, rb_funcallv, rb_funcallv_public_kw, rb_gc_register_address,
|
help: a similar name exists in the module
|
27 - rb_funcall_with_block_kw, rb_funcallv_kw, rb_funcallv_public_kw, rb_gc_register_address,
27 + rb_funcall_with_block_kw, rb_funcallv_kw, rb_funcallv_public, rb_gc_register_address,
|

error[E0432]: unresolved imports rb_sys::rb_call_super_kw, rb_sys::rb_require_string
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/lib.rs:1852:40
|
1852 | rb_alias_variable, rb_backref_get, rb_call_super_kw, rb_current_receiver, rb_define_class,
| ^^^^^^^^^^^^^^^^ no rb_call_super_kw in the root
1853 | rb_define_global_const, rb_define_global_function, rb_define_module, rb_define_variable,
1854 | rb_errinfo, rb_eval_string_protect, rb_require_string, rb_set_errinfo, VALUE,
| ^^^^^^^^^^^^^^^^^ no rb_require_string in the root
|
help: a similar name exists in the module
|
1852 - rb_alias_variable, rb_backref_get, rb_call_super_kw, rb_current_receiver, rb_define_class,
1852 + rb_alias_variable, rb_backref_get, rb_call_super, rb_current_receiver, rb_define_class,
|
help: a similar name exists in the module
|
1854 - rb_errinfo, rb_eval_string_protect, rb_require_string, rb_set_errinfo, VALUE,
1854 + rb_errinfo, rb_eval_string_protect, rb_require_safe, rb_set_errinfo, VALUE,
|

error[E0433]: failed to resolve: could not find ruby_rvalue_flags in rb_sys
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/r_struct.rs:45:44
|
45 | pub const EMBED_LEN_MAX: u32 = rb_sys::ruby_rvalue_flags::RVALUE_EMBED_LEN_MAX as u32;
| ^^^^^^^^^^^^^^^^^
| |
| could not find ruby_rvalue_flags in rb_sys
| help: an enum with a similar name exists: ruby_rmodule_flags

error[E0425]: cannot find value RB_PASS_KEYWORDS in crate rb_sys
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/into_value.rs:91:17
|
91 | rb_sys::RB_PASS_KEYWORDS
| ^^^^^^^^^^^^^^^^ not found in rb_sys

error[E0425]: cannot find value RB_NO_KEYWORDS in crate rb_sys
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/into_value.rs:93:17
|
93 | rb_sys::RB_NO_KEYWORDS
| ^^^^^^^^^^^^^^ not found in rb_sys

error[E0308]: mismatched types
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/block.rs:94:60
|
94 | Proc::from_rb_value_unchecked(rb_proc_new(Some(call_func), block as VALUE))
| ---- ^^^^^^^^^ incorrect number of function parameters
| |
| arguments to this enum variant are incorrect
|
= note: expected fn pointer unsafe extern "C" fn() -> _
found fn pointer unsafe extern "C" fn(u64, u64, i32, *const u64, u64) -> _
help: the type constructed contains unsafe extern "C" fn(u64, u64, i32, *const u64, u64) -> u64 due to the type of the argument passed
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/block.rs:94:55
|
94 | Proc::from_rb_value_unchecked(rb_proc_new(Some(call_func), block as VALUE))
| ^^^^^---------^
| |
| this argument influences the type of Some
note: tuple variant defined here
--> /Users/lgarron/.local/share/rustup/toolchains/nightly-2025-10-01-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/option.rs:602:5
|
602 | Some(#[stable(feature = "rust1", since = "1.0.0")] T),
| ^^^^

error[E0308]: mismatched types
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/block.rs:152:60
|
152 | Proc::from_rb_value_unchecked(rb_proc_new(Some(call_func), closure as VALUE))
| ---- ^^^^^^^^^ incorrect number of function parameters
| |
| arguments to this enum variant are incorrect
|
= note: expected fn pointer unsafe extern "C" fn() -> _
found fn pointer unsafe extern "C" fn(u64, u64, i32, *const u64, u64) -> _
help: the type constructed contains unsafe extern "C" fn(u64, u64, i32, *const u64, u64) -> u64 due to the type of the argument passed
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/block.rs:152:55
|
152 | Proc::from_rb_value_unchecked(rb_proc_new(Some(call_func), closure as VALUE))
| ^^^^^---------^
| |
| this argument influences the type of Some
note: tuple variant defined here
--> /Users/lgarron/.local/share/rustup/toolchains/nightly-2025-10-01-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/option.rs:602:5
|
602 | Some(#[stable(feature = "rust1", since = "1.0.0")] T),
| ^^^^

error[E0599]: no variant or associated item named RUBY_T_MOVED found for enum rb_sys::ruby_value_type in the current scope
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/macros.rs:18:40
|
18 | ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
| ^^^^^^^^^^^^ variant or associated item not found in rb_sys::ruby_value_type
|
::: /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/class.rs:522:9
|
522 | debug_assert_value!(superclass);
| ------------------------------- in this macro invocation
|
= note: this error originates in the macro debug_assert_value (in Nightly builds, run with -Z macro-backtrace for more info)
help: there is a variant with a similar name
|
18 - ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
18 + ::rb_sys::ruby_value_type::RUBY_T_NONE => {
|

error[E0308]: mismatched types
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/error.rs:529:18
|
529 | Some(call_func_ptr),
| ---- ^^^^^^^^^^^^^ incorrect number of function parameters
| |
| arguments to this enum variant are incorrect
|
= note: expected fn pointer unsafe extern "C" fn() -> _
found fn pointer unsafe extern "C" fn(u64) -> _
help: the type constructed contains unsafe extern "C" fn(u64) -> u64 due to the type of the argument passed
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/error.rs:529:13
|
529 | Some(call_func_ptr),
| ^^^^^-------------^
| |
| this argument influences the type of Some
note: tuple variant defined here
--> /Users/lgarron/.local/share/rustup/toolchains/nightly-2025-10-01-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/option.rs:602:5
|
602 | Some(#[stable(feature = "rust1", since = "1.0.0")] T),
| ^^^^

error[E0308]: mismatched types
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/error.rs:531:18
|
531 | Some(call_ensure_ptr),
| ---- ^^^^^^^^^^^^^^^ incorrect number of function parameters
| |
| arguments to this enum variant are incorrect
|
= note: expected fn pointer unsafe extern "C" fn() -> _
found fn pointer unsafe extern "C" fn(u64) -> _
help: the type constructed contains unsafe extern "C" fn(u64) -> u64 due to the type of the argument passed
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/error.rs:531:13
|
531 | Some(call_ensure_ptr),
| ^^^^^---------------^
| |
| this argument influences the type of Some
note: tuple variant defined here
--> /Users/lgarron/.local/share/rustup/toolchains/nightly-2025-10-01-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/option.rs:602:5
|
602 | Some(#[stable(feature = "rust1", since = "1.0.0")] T),
| ^^^^

error[E0599]: no variant or associated item named RUBY_T_MOVED found for enum rb_sys::ruby_value_type in the current scope
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/macros.rs:18:40
|
18 | ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
| ^^^^^^^^^^^^ variant or associated item not found in rb_sys::ruby_value_type
|
::: /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/exception.rs:56:9
|
56 | debug_assert_value!(val);
| ------------------------ in this macro invocation
|
= note: this error originates in the macro debug_assert_value (in Nightly builds, run with -Z macro-backtrace for more info)
help: there is a variant with a similar name
|
18 - ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
18 + ::rb_sys::ruby_value_type::RUBY_T_NONE => {
|

error[E0599]: no variant or associated item named RUBY_T_MOVED found for enum rb_sys::ruby_value_type in the current scope
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/macros.rs:18:40
|
18 | ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
| ^^^^^^^^^^^^ variant or associated item not found in rb_sys::ruby_value_type
|
::: /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/exception.rs:168:9
|
168 | debug_assert_value!(val);
| ------------------------ in this macro invocation
|
= note: this error originates in the macro debug_assert_value (in Nightly builds, run with -Z macro-backtrace for more info)
help: there is a variant with a similar name
|
18 - ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
18 + ::rb_sys::ruby_value_type::RUBY_T_NONE => {
|

error[E0599]: no variant or associated item named RUBY_T_MOVED found for enum rb_sys::ruby_value_type in the current scope
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/macros.rs:18:40
|
18 | ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
| ^^^^^^^^^^^^ variant or associated item not found in rb_sys::ruby_value_type
|
::: /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/float.rs:91:13
|
91 | debug_assert_value!(val);
| ------------------------ in this macro invocation
|
= note: this error originates in the macro debug_assert_value (in Nightly builds, run with -Z macro-backtrace for more info)
help: there is a variant with a similar name
|
18 - ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
18 + ::rb_sys::ruby_value_type::RUBY_T_NONE => {
|

error[E0599]: no variant or associated item named RUBY_T_MOVED found for enum rb_sys::ruby_value_type in the current scope
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/macros.rs:18:40
|
18 | ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
| ^^^^^^^^^^^^ variant or associated item not found in rb_sys::ruby_value_type
|
::: /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/float.rs:237:17
|
237 | debug_assert_value!(val);
| ------------------------ in this macro invocation
|
= note: this error originates in the macro debug_assert_value (in Nightly builds, run with -Z macro-backtrace for more info)
help: there is a variant with a similar name
|
18 - ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
18 + ::rb_sys::ruby_value_type::RUBY_T_NONE => {
|

error[E0599]: no variant or associated item named RUBY_T_MOVED found for enum rb_sys::ruby_value_type in the current scope
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/macros.rs:18:40
|
18 | ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
| ^^^^^^^^^^^^ variant or associated item not found in rb_sys::ruby_value_type
|
::: /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/integer.rs:194:13
|
194 | debug_assert_value!(val);
| ------------------------ in this macro invocation
|
= note: this error originates in the macro debug_assert_value (in Nightly builds, run with -Z macro-backtrace for more info)
help: there is a variant with a similar name
|
18 - ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
18 + ::rb_sys::ruby_value_type::RUBY_T_NONE => {
|

error[E0599]: no variant or associated item named RUBY_T_MOVED found for enum rb_sys::ruby_value_type in the current scope
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/macros.rs:18:40
|
18 | ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
| ^^^^^^^^^^^^ variant or associated item not found in rb_sys::ruby_value_type
|
::: /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/integer.rs:688:17
|
688 | debug_assert_value!(val);
| ------------------------ in this macro invocation
|
= note: this error originates in the macro debug_assert_value (in Nightly builds, run with -Z macro-backtrace for more info)
help: there is a variant with a similar name
|
18 - ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
18 + ::rb_sys::ruby_value_type::RUBY_T_NONE => {
|

error[E0599]: no variant or associated item named RUBY_T_MOVED found for enum rb_sys::ruby_value_type in the current scope
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/macros.rs:18:40
|
18 | ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
| ^^^^^^^^^^^^ variant or associated item not found in rb_sys::ruby_value_type
|
::: /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/module.rs:159:9
|
159 | debug_assert_value!(self);
| ------------------------- in this macro invocation
|
= note: this error originates in the macro debug_assert_value (in Nightly builds, run with -Z macro-backtrace for more info)
help: there is a variant with a similar name
|
18 - ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
18 + ::rb_sys::ruby_value_type::RUBY_T_NONE => {
|

error[E0599]: no variant or associated item named RUBY_T_MOVED found for enum rb_sys::ruby_value_type in the current scope
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/macros.rs:18:40
|
18 | ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
| ^^^^^^^^^^^^ variant or associated item not found in rb_sys::ruby_value_type
|
::: /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/module.rs:237:9
|
237 | debug_assert_value!(self);
| ------------------------- in this macro invocation
|
= note: this error originates in the macro debug_assert_value (in Nightly builds, run with -Z macro-backtrace for more info)
help: there is a variant with a similar name
|
18 - ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
18 + ::rb_sys::ruby_value_type::RUBY_T_NONE => {
|

error[E0599]: no variant or associated item named RUBY_T_MOVED found for enum rb_sys::ruby_value_type in the current scope
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/macros.rs:18:40
|
18 | ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
| ^^^^^^^^^^^^ variant or associated item not found in rb_sys::ruby_value_type
|
::: /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/module.rs:238:9
|
238 | debug_assert_value!(superclass);
| ------------------------------- in this macro invocation
|
= note: this error originates in the macro debug_assert_value (in Nightly builds, run with -Z macro-backtrace for more info)
help: there is a variant with a similar name
|
18 - ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
18 + ::rb_sys::ruby_value_type::RUBY_T_NONE => {
|

error[E0599]: no variant or associated item named RUBY_T_MOVED found for enum rb_sys::ruby_value_type in the current scope
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/macros.rs:18:40
|
18 | ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
| ^^^^^^^^^^^^ variant or associated item not found in rb_sys::ruby_value_type
|
::: /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/module.rs:445:9
|
445 | debug_assert_value!(self);
| ------------------------- in this macro invocation
|
= note: this error originates in the macro debug_assert_value (in Nightly builds, run with -Z macro-backtrace for more info)
help: there is a variant with a similar name
|
18 - ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
18 + ::rb_sys::ruby_value_type::RUBY_T_NONE => {
|

error[E0599]: no variant or associated item named RUBY_T_MOVED found for enum rb_sys::ruby_value_type in the current scope
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/macros.rs:18:40
|
18 | ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
| ^^^^^^^^^^^^ variant or associated item not found in rb_sys::ruby_value_type
|
::: /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/module.rs:537:9
|
537 | debug_assert_value!(self);
| ------------------------- in this macro invocation
|
= note: this error originates in the macro debug_assert_value (in Nightly builds, run with -Z macro-backtrace for more info)
help: there is a variant with a similar name
|
18 - ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
18 + ::rb_sys::ruby_value_type::RUBY_T_NONE => {
|

error[E0599]: no variant or associated item named RUBY_T_MOVED found for enum rb_sys::ruby_value_type in the current scope
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/macros.rs:18:40
|
18 | ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
| ^^^^^^^^^^^^ variant or associated item not found in rb_sys::ruby_value_type
|
::: /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/module.rs:597:9
|
597 | debug_assert_value!(self);
| ------------------------- in this macro invocation
|
= note: this error originates in the macro debug_assert_value (in Nightly builds, run with -Z macro-backtrace for more info)
help: there is a variant with a similar name
|
18 - ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
18 + ::rb_sys::ruby_value_type::RUBY_T_NONE => {
|

error[E0599]: no variant or associated item named RUBY_T_MOVED found for enum rb_sys::ruby_value_type in the current scope
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/macros.rs:18:40
|
18 | ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
| ^^^^^^^^^^^^ variant or associated item not found in rb_sys::ruby_value_type
|
::: /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/module.rs:662:9
|
662 | debug_assert_value!(self);
| ------------------------- in this macro invocation
|
= note: this error originates in the macro debug_assert_value (in Nightly builds, run with -Z macro-backtrace for more info)
help: there is a variant with a similar name
|
18 - ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
18 + ::rb_sys::ruby_value_type::RUBY_T_NONE => {
|

error[E0599]: no variant or associated item named RUBY_T_MOVED found for enum rb_sys::ruby_value_type in the current scope
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/macros.rs:18:40
|
18 | ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
| ^^^^^^^^^^^^ variant or associated item not found in rb_sys::ruby_value_type
|
::: /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/object.rs:74:9
|
74 | debug_assert_value!(self);
| ------------------------- in this macro invocation
|
= note: this error originates in the macro debug_assert_value (in Nightly builds, run with -Z macro-backtrace for more info)
help: there is a variant with a similar name
|
18 - ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
18 + ::rb_sys::ruby_value_type::RUBY_T_NONE => {
|

error[E0599]: no variant or associated item named RUBY_T_MOVED found for enum rb_sys::ruby_value_type in the current scope
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/macros.rs:18:40
|
18 | ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
| ^^^^^^^^^^^^ variant or associated item not found in rb_sys::ruby_value_type
|
::: /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/object.rs:124:9
|
124 | debug_assert_value!(self);
| ------------------------- in this macro invocation
|
= note: this error originates in the macro debug_assert_value (in Nightly builds, run with -Z macro-backtrace for more info)
help: there is a variant with a similar name
|
18 - ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
18 + ::rb_sys::ruby_value_type::RUBY_T_NONE => {
|

error[E0599]: no variant or associated item named RUBY_T_MOVED found for enum rb_sys::ruby_value_type in the current scope
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/macros.rs:18:40
|
18 | ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
| ^^^^^^^^^^^^ variant or associated item not found in rb_sys::ruby_value_type
|
::: /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/object.rs:169:9
|
169 | debug_assert_value!(self);
| ------------------------- in this macro invocation
|
= note: this error originates in the macro debug_assert_value (in Nightly builds, run with -Z macro-backtrace for more info)
help: there is a variant with a similar name
|
18 - ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
18 + ::rb_sys::ruby_value_type::RUBY_T_NONE => {
|

error[E0599]: no variant or associated item named RUBY_T_MOVED found for enum rb_sys::ruby_value_type in the current scope
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/macros.rs:18:40
|
18 | ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
| ^^^^^^^^^^^^ variant or associated item not found in rb_sys::ruby_value_type
|
::: /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/r_array.rs:511:9
|
511 | debug_assert_value!(self);
| ------------------------- in this macro invocation
|
= note: this error originates in the macro debug_assert_value (in Nightly builds, run with -Z macro-backtrace for more info)
help: there is a variant with a similar name
|
18 - ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
18 + ::rb_sys::ruby_value_type::RUBY_T_NONE => {
|

error[E0599]: no variant or associated item named RUBY_T_MOVED found for enum rb_sys::ruby_value_type in the current scope
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/macros.rs:18:40
|
18 | ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
| ^^^^^^^^^^^^ variant or associated item not found in rb_sys::ruby_value_type
|
::: /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/r_array.rs:1115:9
|
1115 | debug_assert_value!(self);
| ------------------------- in this macro invocation
|
= note: this error originates in the macro debug_assert_value (in Nightly builds, run with -Z macro-backtrace for more info)
help: there is a variant with a similar name
|
18 - ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
18 + ::rb_sys::ruby_value_type::RUBY_T_NONE => {
|

error[E0599]: no variant or associated item named RUBY_T_MOVED found for enum rb_sys::ruby_value_type in the current scope
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/macros.rs:18:40
|
18 | ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
| ^^^^^^^^^^^^ variant or associated item not found in rb_sys::ruby_value_type
|
::: /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/r_bignum.rs:195:9
|
195 | debug_assert_value!(self);
| ------------------------- in this macro invocation
|
= note: this error originates in the macro debug_assert_value (in Nightly builds, run with -Z macro-backtrace for more info)
help: there is a variant with a similar name
|
18 - ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
18 + ::rb_sys::ruby_value_type::RUBY_T_NONE => {
|

error[E0599]: no variant or associated item named RUBY_T_MOVED found for enum rb_sys::ruby_value_type in the current scope
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/macros.rs:18:40
|
18 | ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
| ^^^^^^^^^^^^ variant or associated item not found in rb_sys::ruby_value_type
|
::: /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/r_bignum.rs:244:9
|
244 | debug_assert_value!(self);
| ------------------------- in this macro invocation
|
= note: this error originates in the macro debug_assert_value (in Nightly builds, run with -Z macro-backtrace for more info)
help: there is a variant with a similar name
|
18 - ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
18 + ::rb_sys::ruby_value_type::RUBY_T_NONE => {
|

error[E0599]: no variant or associated item named RUBY_T_MOVED found for enum rb_sys::ruby_value_type in the current scope
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/macros.rs:18:40
|
18 | ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
| ^^^^^^^^^^^^ variant or associated item not found in rb_sys::ruby_value_type
|
::: /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/r_bignum.rs:286:9
|
286 | debug_assert_value!(self);
| ------------------------- in this macro invocation
|
= note: this error originates in the macro debug_assert_value (in Nightly builds, run with -Z macro-backtrace for more info)
help: there is a variant with a similar name
|
18 - ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
18 + ::rb_sys::ruby_value_type::RUBY_T_NONE => {
|

error[E0599]: no variant or associated item named RUBY_T_MOVED found for enum rb_sys::ruby_value_type in the current scope
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/macros.rs:18:40
|
18 | ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
| ^^^^^^^^^^^^ variant or associated item not found in rb_sys::ruby_value_type
|
::: /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/r_bignum.rs:329:9
|
329 | debug_assert_value!(self);
| ------------------------- in this macro invocation
|
= note: this error originates in the macro debug_assert_value (in Nightly builds, run with -Z macro-backtrace for more info)
help: there is a variant with a similar name
|
18 - ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
18 + ::rb_sys::ruby_value_type::RUBY_T_NONE => {
|

error[E0599]: no variant or associated item named RUBY_T_MOVED found for enum rb_sys::ruby_value_type in the current scope
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/macros.rs:18:40
|
18 | ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
| ^^^^^^^^^^^^ variant or associated item not found in rb_sys::ruby_value_type
|
::: /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/r_bignum.rs:351:9
|
351 | debug_assert_value!(self);
| ------------------------- in this macro invocation
|
= note: this error originates in the macro debug_assert_value (in Nightly builds, run with -Z macro-backtrace for more info)
help: there is a variant with a similar name
|
18 - ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
18 + ::rb_sys::ruby_value_type::RUBY_T_NONE => {
|

error[E0599]: no variant or associated item named RUBY_T_MOVED found for enum rb_sys::ruby_value_type in the current scope
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/macros.rs:18:40
|
18 | ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
| ^^^^^^^^^^^^ variant or associated item not found in rb_sys::ruby_value_type
|
::: /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/r_bignum.rs:395:9
|
395 | debug_assert_value!(self);
| ------------------------- in this macro invocation
|
= note: this error originates in the macro debug_assert_value (in Nightly builds, run with -Z macro-backtrace for more info)
help: there is a variant with a similar name
|
18 - ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
18 + ::rb_sys::ruby_value_type::RUBY_T_NONE => {
|

error[E0599]: no variant or associated item named RUBY_T_MOVED found for enum rb_sys::ruby_value_type in the current scope
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/macros.rs:18:40
|
18 | ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
| ^^^^^^^^^^^^ variant or associated item not found in rb_sys::ruby_value_type
|
::: /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/r_bignum.rs:433:9
|
433 | debug_assert_value!(self);
| ------------------------- in this macro invocation
|
= note: this error originates in the macro debug_assert_value (in Nightly builds, run with -Z macro-backtrace for more info)
help: there is a variant with a similar name
|
18 - ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
18 + ::rb_sys::ruby_value_type::RUBY_T_NONE => {
|

error[E0599]: no variant or associated item named RUBY_T_MOVED found for enum rb_sys::ruby_value_type in the current scope
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/macros.rs:18:40
|
18 | ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
| ^^^^^^^^^^^^ variant or associated item not found in rb_sys::ruby_value_type
|
::: /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/r_bignum.rs:479:9
|
479 | debug_assert_value!(self);
| ------------------------- in this macro invocation
|
= note: this error originates in the macro debug_assert_value (in Nightly builds, run with -Z macro-backtrace for more info)
help: there is a variant with a similar name
|
18 - ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
18 + ::rb_sys::ruby_value_type::RUBY_T_NONE => {
|

error[E0599]: no variant or associated item named RUBY_T_MOVED found for enum rb_sys::ruby_value_type in the current scope
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/macros.rs:18:40
|
18 | ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
| ^^^^^^^^^^^^ variant or associated item not found in rb_sys::ruby_value_type
|
::: /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/r_bignum.rs:520:9
|
520 | debug_assert_value!(self);
| ------------------------- in this macro invocation
|
= note: this error originates in the macro debug_assert_value (in Nightly builds, run with -Z macro-backtrace for more info)
help: there is a variant with a similar name
|
18 - ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
18 + ::rb_sys::ruby_value_type::RUBY_T_NONE => {
|

error[E0599]: no variant or associated item named RUBY_T_MOVED found for enum rb_sys::ruby_value_type in the current scope
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/macros.rs:18:40
|
18 | ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
| ^^^^^^^^^^^^ variant or associated item not found in rb_sys::ruby_value_type
|
::: /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/r_float.rs:197:9
|
197 | debug_assert_value!(self);
| ------------------------- in this macro invocation
|
= note: this error originates in the macro debug_assert_value (in Nightly builds, run with -Z macro-backtrace for more info)
help: there is a variant with a similar name
|
18 - ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
18 + ::rb_sys::ruby_value_type::RUBY_T_NONE => {
|

error[E0308]: mismatched types
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/r_hash.rs:761:58
|
761 | rb_hash_foreach(self.as_rb_value(), Some(fptr), arg);
| ---- ^^^^ incorrect number of function parameters
| |
| arguments to this enum variant are incorrect
|
= note: expected fn pointer unsafe extern "C" fn() -> _
found fn pointer unsafe extern "C" fn(u64, u64, u64) -> _
help: the type constructed contains unsafe extern "C" fn(u64, u64, u64) -> i32 due to the type of the argument passed
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/r_hash.rs:761:53
|
761 | rb_hash_foreach(self.as_rb_value(), Some(fptr), arg);
| ^^^^^----^
| |
| this argument influences the type of Some
note: tuple variant defined here
--> /Users/lgarron/.local/share/rustup/toolchains/nightly-2025-10-01-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/option.rs:602:5
|
602 | Some(#[stable(feature = "rust1", since = "1.0.0")] T),
| ^^^^

error[E0599]: no variant or associated item named RUBY_T_MOVED found for enum rb_sys::ruby_value_type in the current scope
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/macros.rs:18:40
|
18 | ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
| ^^^^^^^^^^^^ variant or associated item not found in rb_sys::ruby_value_type
|
::: /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/r_hash.rs:1027:9
|
1027 | debug_assert_value!(val);
| ------------------------ in this macro invocation
|
= note: this error originates in the macro debug_assert_value (in Nightly builds, run with -Z macro-backtrace for more info)
help: there is a variant with a similar name
|
18 - ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
18 + ::rb_sys::ruby_value_type::RUBY_T_NONE => {
|

error[E0599]: no variant or associated item named RUBY_T_MOVED found for enum rb_sys::ruby_value_type in the current scope
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/macros.rs:18:40
|
18 | ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
| ^^^^^^^^^^^^ variant or associated item not found in rb_sys::ruby_value_type
|
::: /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/r_string.rs:647:9
|
647 | debug_assert_value!(self);
| ------------------------- in this macro invocation
|
= note: this error originates in the macro debug_assert_value (in Nightly builds, run with -Z macro-backtrace for more info)
help: there is a variant with a similar name
|
18 - ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
18 + ::rb_sys::ruby_value_type::RUBY_T_NONE => {
|

error[E0599]: no variant or associated item named RUBY_T_MOVED found for enum rb_sys::ruby_value_type in the current scope
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/macros.rs:18:40
|
18 | ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
| ^^^^^^^^^^^^ variant or associated item not found in rb_sys::ruby_value_type
|
::: /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/r_string.rs:1575:9
|
1575 | debug_assert_value!(self);
| ------------------------- in this macro invocation
|
= note: this error originates in the macro debug_assert_value (in Nightly builds, run with -Z macro-backtrace for more info)
help: there is a variant with a similar name
|
18 - ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
18 + ::rb_sys::ruby_value_type::RUBY_T_NONE => {
|

error[E0599]: no variant or associated item named RUBY_T_MOVED found for enum rb_sys::ruby_value_type in the current scope
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/macros.rs:18:40
|
18 | ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
| ^^^^^^^^^^^^ variant or associated item not found in rb_sys::ruby_value_type
|
::: /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/r_string.rs:1929:17
|
1929 | debug_assert_value!(val);
| ------------------------ in this macro invocation
|
= note: this error originates in the macro debug_assert_value (in Nightly builds, run with -Z macro-backtrace for more info)
help: there is a variant with a similar name
|
18 - ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
18 + ::rb_sys::ruby_value_type::RUBY_T_NONE => {
|

error[E0599]: no variant or associated item named RUBY_T_MOVED found for enum rb_sys::ruby_value_type in the current scope
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/macros.rs:18:40
|
18 | ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
| ^^^^^^^^^^^^ variant or associated item not found in rb_sys::ruby_value_type
|
::: /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/r_struct.rs:129:9
|
129 | debug_assert_value!(self);
| ------------------------- in this macro invocation
|
= note: this error originates in the macro debug_assert_value (in Nightly builds, run with -Z macro-backtrace for more info)
help: there is a variant with a similar name
|
18 - ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
18 + ::rb_sys::ruby_value_type::RUBY_T_NONE => {
|

error[E0599]: no variant or associated item named RUBY_T_MOVED found for enum rb_sys::ruby_value_type in the current scope
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/macros.rs:18:40
|
18 | ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
| ^^^^^^^^^^^^ variant or associated item not found in rb_sys::ruby_value_type
|
::: /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/r_typed_data.rs:386:9
|
386 | debug_assert_value!(self);
| ------------------------- in this macro invocation
|
= note: this error originates in the macro debug_assert_value (in Nightly builds, run with -Z macro-backtrace for more info)
help: there is a variant with a similar name
|
18 - ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
18 + ::rb_sys::ruby_value_type::RUBY_T_NONE => {
|

error[E0599]: no variant or associated item named RUBY_T_MOVED found for enum rb_sys::ruby_value_type in the current scope
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/macros.rs:18:40
|
18 | ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
| ^^^^^^^^^^^^ variant or associated item not found in rb_sys::ruby_value_type
|
::: /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/symbol.rs:75:13
|
75 | debug_assert_value!(val);
| ------------------------ in this macro invocation
|
= note: this error originates in the macro debug_assert_value (in Nightly builds, run with -Z macro-backtrace for more info)
help: there is a variant with a similar name
|
18 - ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
18 + ::rb_sys::ruby_value_type::RUBY_T_NONE => {
|

error[E0308]: mismatched types
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/thread.rs:74:26
|
74 | Some(call_func),
| ---- ^^^^^^^^^ incorrect number of function parameters
| |
| arguments to this enum variant are incorrect
|
= note: expected fn pointer unsafe extern "C" fn() -> _
found fn pointer unsafe extern "C" fn(*mut std::ffi::c_void) -> _
help: the type constructed contains unsafe extern "C" fn(*mut std::ffi::c_void) -> u64 due to the type of the argument passed
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/thread.rs:74:21
|
74 | Some(call_func),
| ^^^^^---------^
| |
| this argument influences the type of Some
note: tuple variant defined here
--> /Users/lgarron/.local/share/rustup/toolchains/nightly-2025-10-01-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/option.rs:602:5
|
602 | Some(#[stable(feature = "rust1", since = "1.0.0")] T),
| ^^^^

error[E0308]: mismatched types
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/thread.rs:122:26
|
122 | Some(call_func),
| ---- ^^^^^^^^^ incorrect number of function parameters
| |
| arguments to this enum variant are incorrect
|
= note: expected fn pointer unsafe extern "C" fn() -> _
found fn pointer unsafe extern "C" fn(*mut std::ffi::c_void) -> _
help: the type constructed contains unsafe extern "C" fn(*mut std::ffi::c_void) -> u64 due to the type of the argument passed
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/thread.rs:122:21
|
122 | Some(call_func),
| ^^^^^---------^
| |
| this argument influences the type of Some
note: tuple variant defined here
--> /Users/lgarron/.local/share/rustup/toolchains/nightly-2025-10-01-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/option.rs:602:5
|
602 | Some(#[stable(feature = "rust1", since = "1.0.0")] T),
| ^^^^

error[E0599]: no variant or associated item named RUBY_T_MOVED found for enum rb_sys::ruby_value_type in the current scope
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/macros.rs:18:40
|
18 | ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
| ^^^^^^^^^^^^ variant or associated item not found in rb_sys::ruby_value_type
|
::: /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/try_convert.rs:198:9
|
198 | debug_assert_value!(val);
| ------------------------ in this macro invocation
|
= note: this error originates in the macro debug_assert_value (in Nightly builds, run with -Z macro-backtrace for more info)
help: there is a variant with a similar name
|
18 - ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
18 + ::rb_sys::ruby_value_type::RUBY_T_NONE => {
|

error[E0599]: no variant or associated item named RUBY_T_MOVED found for enum rb_sys::ruby_value_type in the current scope
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/macros.rs:18:40
|
18 | ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
| ^^^^^^^^^^^^ variant or associated item not found in rb_sys::ruby_value_type
|
::: /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/try_convert.rs:212:9
|
212 | debug_assert_value!(val);
| ------------------------ in this macro invocation
|
= note: this error originates in the macro debug_assert_value (in Nightly builds, run with -Z macro-backtrace for more info)
help: there is a variant with a similar name
|
18 - ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
18 + ::rb_sys::ruby_value_type::RUBY_T_NONE => {
|

error[E0599]: no variant or associated item named RUBY_T_MOVED found for enum rb_sys::ruby_value_type in the current scope
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/macros.rs:18:40
|
18 | ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
| ^^^^^^^^^^^^ variant or associated item not found in rb_sys::ruby_value_type
|
::: /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/try_convert.rs:233:9
|
233 | debug_assert_value!(val);
| ------------------------ in this macro invocation
|
= note: this error originates in the macro debug_assert_value (in Nightly builds, run with -Z macro-backtrace for more info)
help: there is a variant with a similar name
|
18 - ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
18 + ::rb_sys::ruby_value_type::RUBY_T_NONE => {
|

error[E0599]: no variant or associated item named RUBY_T_MOVED found for enum rb_sys::ruby_value_type in the current scope
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/macros.rs:18:40
|
18 | ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
| ^^^^^^^^^^^^ variant or associated item not found in rb_sys::ruby_value_type
|
::: /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/try_convert.rs:245:9
|
245 | debug_assert_value!(val);
| ------------------------ in this macro invocation
|
= note: this error originates in the macro debug_assert_value (in Nightly builds, run with -Z macro-backtrace for more info)
help: there is a variant with a similar name
|
18 - ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
18 + ::rb_sys::ruby_value_type::RUBY_T_NONE => {
|

error[E0599]: no variant or associated item named RUBY_T_MOVED found for enum rb_sys::ruby_value_type in the current scope
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/macros.rs:18:40
|
18 | ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
| ^^^^^^^^^^^^ variant or associated item not found in rb_sys::ruby_value_type
|
::: /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/try_convert.rs:257:9
|
257 | debug_assert_value!(val);
| ------------------------ in this macro invocation
|
= note: this error originates in the macro debug_assert_value (in Nightly builds, run with -Z macro-backtrace for more info)
help: there is a variant with a similar name
|
18 - ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
18 + ::rb_sys::ruby_value_type::RUBY_T_NONE => {
|

error[E0599]: no variant or associated item named RUBY_T_MOVED found for enum rb_sys::ruby_value_type in the current scope
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/macros.rs:18:40
|
18 | ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
| ^^^^^^^^^^^^ variant or associated item not found in rb_sys::ruby_value_type
|
::: /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/try_convert.rs:295:5
|
295 | impl_try_convert!(N);
| -------------------- in this macro invocation
|
= note: this error originates in the macro debug_assert_value which comes from the expansion of the macro impl_try_convert (in Nightly builds, run with -Z macro-backtrace for more info)
help: there is a variant with a similar name
|
18 - ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
18 + ::rb_sys::ruby_value_type::RUBY_T_NONE => {
|

error[E0599]: no variant or associated item named RUBY_T_MOVED found for enum rb_sys::ruby_value_type in the current scope
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/macros.rs:18:40
|
18 | ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
| ^^^^^^^^^^^^ variant or associated item not found in rb_sys::ruby_value_type
|
::: /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/try_convert.rs:305:9
|
305 | debug_assert_value!(val);
| ------------------------ in this macro invocation
|
= note: this error originates in the macro debug_assert_value (in Nightly builds, run with -Z macro-backtrace for more info)
help: there is a variant with a similar name
|
18 - ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
18 + ::rb_sys::ruby_value_type::RUBY_T_NONE => {
|

error[E0599]: no variant or associated item named RUBY_T_MOVED found for enum rb_sys::ruby_value_type in the current scope
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/macros.rs:18:40
|
18 | ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
| ^^^^^^^^^^^^ variant or associated item not found in rb_sys::ruby_value_type
|
::: /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/try_convert.rs:323:9
|
323 | debug_assert_value!(val);
| ------------------------ in this macro invocation
|
= note: this error originates in the macro debug_assert_value (in Nightly builds, run with -Z macro-backtrace for more info)
help: there is a variant with a similar name
|
18 - ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
18 + ::rb_sys::ruby_value_type::RUBY_T_NONE => {
|

error[E0560]: struct rb_data_type_struct__bindgen_ty_1 has no field named dcompact
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/typed_data.rs:351:17
|
351 | dcompact,
| ^^^^^^^^ rb_data_type_struct__bindgen_ty_1 does not have this field
|
= note: all struct fields are already assigned

error[E0308]: mismatched types
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/typed_data.rs:352:27
|
352 | reserved: [ptr::null_mut(); 1],
| ^^^^^^^^^^^^^^^^^^^^ expected an array with a size of 2, found one with a size of 1
|
= note: expected array [*mut std::ffi::c_void; 2]
found array [*mut std::ffi::c_void; 1]

error[E0599]: no variant or associated item named RUBY_T_MOVED found for enum rb_sys::ruby_value_type in the current scope
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/macros.rs:18:40
|
18 | ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
| ^^^^^^^^^^^^ variant or associated item not found in rb_sys::ruby_value_type
|
::: /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/value.rs:3002:13
|
3002 | debug_assert_value!(val);
| ------------------------ in this macro invocation
|
= note: this error originates in the macro debug_assert_value (in Nightly builds, run with -Z macro-backtrace for more info)
help: there is a variant with a similar name
|
18 - ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
18 + ::rb_sys::ruby_value_type::RUBY_T_NONE => {
|

error[E0599]: no variant or associated item named RUBY_T_MOVED found for enum rb_sys::ruby_value_type in the current scope
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/macros.rs:18:40
|
18 | ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
| ^^^^^^^^^^^^ variant or associated item not found in rb_sys::ruby_value_type
|
::: /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/lib.rs:2094:9
|
2094 | debug_assert_value!(superclass);
| ------------------------------- in this macro invocation
|
= note: this error originates in the macro debug_assert_value (in Nightly builds, run with -Z macro-backtrace for more info)
help: there is a variant with a similar name
|
18 - ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
18 + ::rb_sys::ruby_value_type::RUBY_T_NONE => {
|

error[E0599]: no variant or associated item named RUBY_T_MOVED found for enum rb_sys::ruby_value_type in the current scope
--> /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/macros.rs:18:40
|
18 | ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
| ^^^^^^^^^^^^ variant or associated item not found in rb_sys::ruby_value_type
|
::: /Users/lgarron/.local/share/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/magnus-0.8.2/src/lib.rs:2174:9
|
2174 | debug_assert_value!(initial);
| ---------------------------- in this macro invocation
|
= note: this error originates in the macro debug_assert_value (in Nightly builds, run with -Z macro-backtrace for more info)
help: there is a variant with a similar name
|
18 - ::rb_sys::ruby_value_type::RUBY_T_MOVED => {
18 + ::rb_sys::ruby_value_type::RUBY_T_NONE => {
|

Some errors have detailed explanations: E0308, E0425, E0432, E0433, E0560, E0599.
For more information about an error, try rustc --explain E0308.
error: could not compile magnus (lib) due to 79 previous errors

├─ ⏱️ 1.856s
├─ ❌ [101] command status
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

There are no tests in the Rust code for twips-rb yet, but I'd like to add them.

EDIT: now filed as matsadler/magnus#162

@lgarron
Copy link
Member

lgarron commented Dec 9, 2025

Perhaps as a stopgap I could allow a configuration that runs a script to keep the Ruby version up to date any time I bump the Rust versions. That could also be checked in CI, and it would still be easy to bump by hand.

This is implemented in: 0b7fb23

@lgarron
Copy link
Member

lgarron commented Dec 10, 2025

I've run into another blocker: cargo test --package twips-rb now fails on my computer:

I've figured out a workaround:

@lgarron
Copy link
Member

lgarron commented Dec 10, 2025

I believe this just leaves the following blockers:

I think I'd be alright with merging this, assuming that:

  • .rspec and .rubocop.yml are used hermetically (using rv ruby run) and added to CI.
  • Linting and formatting work out of the box in VS Code using some set of common Ruby extensions.

Sorbet types would also be nice, but I don't know how hard that would be.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants