-
Notifications
You must be signed in to change notification settings - Fork 50
Open
Labels
P1Max priorityMax prioritybackendIssue in one of the backends (i.e. F*, Coq, EC...)Issue in one of the backends (i.e. F*, Coq, EC...)leanRelated to the Lean backend or libraryRelated to the Lean backend or library
Description
Equality constraints on associated types of parent trait don't work well with Lean's type class search:
trait T1 {
type A1;
fn mkA1() -> Self::A1;
}
trait T2: T1 {}
fn m<T: T2<A1 = u8>>() -> u8 {
T::mkA1()
}
impl T1 for bool {
type A1 = u8;
fn mkA1() -> u8 {
0
}
}
impl T2 for bool {}
fn test() -> u8 {
m::<bool>()
}
https://hax-playground.cryspen.com/#fstar/latest-main/gist=bd6e8f2de5ed1832941dae51e093f1a5
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
P1Max priorityMax prioritybackendIssue in one of the backends (i.e. F*, Coq, EC...)Issue in one of the backends (i.e. F*, Coq, EC...)leanRelated to the Lean backend or libraryRelated to the Lean backend or library