You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
#![allow(unused)]typeBinop = fn(i32,i32) -> i32;structFoo{f:Binop,}#[flux::trusted]fnbar(b:Binop) -> i32{b(3,4)}fntest00(foo:Foo) -> i32{let x = bar(foo.f);
x
}
currently crashes with
error[E0999]: internal flux error: crates/flux-infer/src/infer.rs:553:22
--> tests/tests/todo/fnptr00.rs:15:13
|
15 | let x = bar(foo.f);
| ^^^^^^^^^^
-Ztrack-diagnostics: created at crates/flux-middle/src/queries.rs:794:45
|
= note: incompatible base types: `fn(∃b0. i32[b0], ∃b1. i32[b1]) -> ∃b2. i32[b2]` - `fn(∃b0. i32[b0], ∃b1. i32[b1]) -> ∃b2. i32[b2]`
i.e. at the subtyping check for FnPtr... is there any reason NOT to conservatively (?) check that the base types are the same in this case and then move on?
The text was updated successfully, but these errors were encountered:
[Stripped down test from
zkevm
]The following code
currently crashes with
i.e. at the subtyping check for
FnPtr
... is there any reason NOT to conservatively (?) check that the base types are the same in this case and then move on?The text was updated successfully, but these errors were encountered: