Add test to check that we do not get a cycle due to resolving Self::Bar in the where clauses

This commit is contained in:
Niko Matsakis 2020-11-14 09:53:03 -05:00 committed by Santiago Pastorino
parent 4406805c4c
commit 4a97c52630
No known key found for this signature in database
GPG Key ID: 8131A24E0C79EFAF

View File

@ -0,0 +1,27 @@
// check-pass
// Test that we do not get a cycle due to
// resolving `Self::Bar` in the where clauses
// on a trait definition (in particular, in
// a where clause that is defining a superpredicate).
trait Foo {
type Bar;
}
trait Qux
where
Self: Foo,
Self: AsRef<Self::Bar>,
{
}
trait Foo2 {}
trait Qux2
where
Self: Foo2,
Self: AsRef<Self::Bar>,
{
type Bar;
}
fn main() {}