Skip to content

Cannot build 39.0.0 without gc feature #12071

@ghost

Description

I am not sure if this is the right place to report as there is no mention of reporting issues in the readme or the book and there is no template for build issues.

Also not sure if I am supposed to be using the latest version or 36.0.0 based on https://docs.wasmtime.dev/stability-release.html#current-versions

[dependencies.wasmtime]
version = "=39.0.0"
default-features = false
features = [
  "addr2line",
  "async",
  "cache",
  "compile-time-builtins",
  "coredump",
  "cranelift",
  "debug",
  "debug-builtins",
  "demangle",
  "parallel-compilation",
  "pooling-allocator",
  "profiling",
  "runtime",
  "wat",
  "std",
]
$ cargo build
   Compiling wasmtime v39.0.0
error[E0599]: no variant or associated item named `UnwindToWasm` found for enum `call_thread_state::UnwindState` in the current scope
   --> /home/red/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmtime-39.0.0/src/runtime/vm/traphandlers.rs:833:30
    |
484 |     pub enum UnwindState {
    |     -------------------- variant or associated item `UnwindToWasm` not found for this enum
...
833 |                 UnwindState::UnwindToWasm(_) => {
    |                              ^^^^^^^^^^^^ variant or associated item not found in `call_thread_state::UnwindState`
    |
help: there is a variant with a similar name
    |
833 -                 UnwindState::UnwindToWasm(_) => {
833 +                 UnwindState::UnwindToHost(_) => {
    |

error[E0599]: no variant or associated item named `Exception` found for enum `runtime::vm::traphandlers::TrapReason` in the current scope
   --> /home/red/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmtime-39.0.0/src/runtime/vm/traphandlers.rs:843:60
    |
358 | pub enum TrapReason {
    | ------------------- variant or associated item `Exception` not found for this enum
...
843 |                     reason: UnwindReason::Trap(TrapReason::Exception),
    |                                                            ^^^^^^^^^ variant or associated item not found in `runtime::vm::traphandlers::TrapReason`

error[E0599]: no method named `has_pending_exception` found for mutable reference `&mut runtime::store::StoreOpaque` in the current scope
   --> /home/red/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmtime-39.0.0/src/runtime/vm/traphandlers.rs:834:53
    |
834 |                     assert!(store.as_store_opaque().has_pending_exception());
    |                                                     ^^^^^^^^^^^^^^^^^^^^^ method not found in `&mut runtime::store::StoreOpaque`

error[E0599]: no method named `pending_exception_owned_rooted` found for mutable reference `&mut runtime::store::StoreOpaque` in the current scope
   --> /home/red/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmtime-39.0.0/src/runtime/vm/traphandlers.rs:837:26
    |
835 |                       let exn = store
    |  _______________________________-
836 | |                         .as_store_opaque()
837 | |                         .pending_exception_owned_rooted()
    | |                         -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method not found in `&mut runtime::store::StoreOpaque`
    | |_________________________|
    |

error[E0599]: no method named `pending_exception_owned_rooted` found for mutable reference `&mut runtime::store::StoreOpaque` in the current scope
   --> /home/red/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmtime-39.0.0/src/runtime/vm/traphandlers.rs:849:26
    |
847 |                       let exn = store
    |  _______________________________-
848 | |                         .as_store_opaque()
849 | |                         .pending_exception_owned_rooted()
    | |                         -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method not found in `&mut runtime::store::StoreOpaque`
    | |_________________________|
    |

For more information about this error, try `rustc --explain E0599`.
error: could not compile `wasmtime` (lib) due to 5 previous errors

According to https://github.com/search?q=repo%3Abytecodealliance%2Fwasmtime%20UnwindToWasm&type=code, UnwindToWasm is available behind gc and indeed adding that feature makes it work but I do not need gc support.

/// send the raw `VMExnRef`.
#[cfg(feature = "gc")]
UnwindToWasm(Handler),
/// Do not unwind.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions