1 // Taken directly from that issue.
3 // This test detected that we didn't correctly resolve
4 // inference variables when computing implied bounds.
7 pub trait BuilderFn<'a> {
11 impl<'a, F, Out> BuilderFn<'a> for F
13 F: FnOnce(&'a mut ()) -> Out,
18 pub trait ConstructionFirm {
19 type Builder: for<'a> BuilderFn<'a>;
28 building: &mut <<T as ConstructionFirm>::Builder as BuilderFn<'_>>::Output,
32 struct ArchitectsInc {}
34 impl ConstructionFirm for ArchitectsInc {
35 type Builder = fn(&mut ()) -> PrettyCondo<'_>;
38 struct PrettyCondo<'a> {
44 impl Campus<ArchitectsInc> for CondoEstate {
45 fn add_building(&mut self, _building: &mut PrettyCondo<'_>) {