fn two_blanket_impls_open_ended() {
    lowering_success! {
        program {
            trait Foo { }
            trait Bar { }
            trait Baz { }
            impl<T> Foo for T where T: Bar { }
            impl<T> Foo for T where T: Baz { }
        }
    }
}
// FIXME This should be an error
// We currently assume a closed universe always, but overlaps checking should
// assume an open universe - what if a client implemented both Bar and Baz
//
// In other words, this should have the same behavior as the two_blanket_impls
// test.


In other words, this should have the same behavior as the two_blanket_impls
test.
In other words this should have the same behavior as the two_blanket_impls test .
fn two_blanket_impls_open_ended() {
    lowering_success! {
        program {
            trait Foo { }
            trait Bar { }
            trait Baz { }
            impl<T> Foo for T where T: Bar { }
            impl<T> Foo for T where T: Baz { }
        }
    }
}
fn two_blanket_impls_open_ended ( ) { lowering_success ! { program { trait Foo { } trait Bar { } trait Baz { } impl T Foo for T where T Bar { } impl T Foo for T where T Baz { } } } }
FIXME This should be an error
We currently assume a closed universe always, but overlaps checking should
assume an open universe - what if a client implemented both Bar and Baz
FIXME This should be an error We currently assume a closed universe always but overlaps checking should assume an open universe - what if a client implemented both Bar and Baz