Closed
Description
The predicates for supertraits look wrong, as you can see from this example:
#![feature(rustc_attrs)]
#![allow(dead_code)]
trait Foo { }
#[rustc_dump_program_clauses] //~ ERROR program clause dump
trait Bar: Foo { }
I see this:
error: program clause dump
--> lower_env1.rs:16:1
|
16 | #[rustc_dump_program_clauses] //~ ERROR program clause dump
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: Implemented(Self: Bar) :- FromEnv(Self: Bar).
= note: FromEnv(Self: Bar) :- FromEnv(Self: Bar).
But I expect FromEnv(Self: Foo) :- FromEnv(Self: Bar)
.
cc @rust-lang/wg-traits