Function chalk_solve::clauses::push_auto_trait_impls_opaque
source ยท pub fn push_auto_trait_impls_opaque<I: Interner>(
builder: &mut ClauseBuilder<'_, I>,
auto_trait_id: TraitId<I>,
opaque_id: OpaqueTyId<I>,
)
Expand description
Leak auto traits for opaque types, just like push_auto_trait_impls
does for structs.
For example, given the following program:
#[auto] trait Send { }
trait Trait { }
struct Bar { }
opaque type Foo: Trait = Bar
Checking the goal Foo: Send
would generate the following:
Foo: Send :- Bar: Send