Skip to content

Panick: not implemented in function read_field_at_addr #278

@vouillon

Description

@vouillon

Test Case

test.zip

This corresponds to the following OCaml code:

open Effect
open Effect.Deep

type _ t += E : unit t

let () =
  Printf.printf "%d\n%!" @@
    try_with (fun x -> x) 10
    { effc = (fun (type a) (e : a t) ->
        match e with
        | E -> Some (fun k -> 11)
        | e -> None) }

Steps to Reproduce

Run the following command:

./target/debug/wasmtime -C collector=null -W=exceptions,function-references,stack-switching,gc ./test1.wasm 

Expected Results

This should output 10 on the standard output.

Actual Results

I get a number of errors when trying to execute this piece of code.

$ thread '<unnamed>' panicked at crates/cranelift/src/gc/enabled.rs:156:42:
not implemented
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread '<unnamed>' panicked at crates/cranelift/src/gc/enabled.rs:79:5:
assertion failed: ty.is_vmgcref_type()
thread '<unnamed>' panicked at cranelift/codegen/src/machinst/lower.rs:727:17:
assertion `left == right` failed
  left: 0
 right: 1

Versions and Environment

Wasmfxtime commit: 2154029

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions