bytecodealliance / bytecodealliance/wasmtime
isle: panic when rule for non-multi internal constructor calls a multi extern
Open
isle
- Dominant language
- Rust
- Stars
- 18.6k
- Forks
- 1.8k
- Avg merge
- 1d 18h
- Merged PRs (30d)
- 126
Description
Consider the following code:
```isle
(type u64 (primitive u64))
(decl multi meow (u64) u64)
(extern extractor meow meow)
;; Note: not `multi nyaa`
(decl nyaa (u64) u64)
(rule (nyaa (meow x)) x)
```
This makes islec panic with the following message:
```
thread 'main' panicked at 'assertion failed: !block.steps.iter().any(|c| matches!(c.check, ControlFlow :: Loop { .. }))', cranelift/isle/isle/src/codegen.rs:421:13
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
```
Not sure if that's the standard of error messages we hold `islec` to.
Contributor guide
Assessment
This issue has not been assessed yet.