bytecodealliance / bytecodealliance/wit-bindgen

Assertion failure in `post_return()` for functions returning `error-context`

Open
#1,413 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
1.5k
Forks
286
Avg merge
6h 32m
Merged PRs (30d)
19

Description

### Summary

wit-bindgen panics with "assertion failed: sig.retptr" when generating bindings for a WIT world that exports a function returning `error-context`.

### Environment

- **wit-bindgen version**: 0.47.0
- **Affected generator**: Rust
- **OS**: Ubuntu 22.04, x86-64

### Steps to Reproduce

1. Create a minimal WIT file

Save the following as `test.wit`:

```wit
package poc:demo;

world retptr-bug {
export get-error: func() -> error-context;
}
```

2. Run wit-bindgen

```bash
wit-bindgen rust --out-dir /tmp/test test.wit
```

3. Observe the panic

```
thread 'main' panicked at /home/runner/work/wit-bindgen/wit-bindgen/crates/core/src/abi.rs:1316:9
assertion failed: sig.retptr
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.