mirror of https://github.com/rust-lang/rust.git
27 lines
461 B
Rust
27 lines
461 B
Rust
//@ check-pass
|
|
|
|
// Make sure that refinement checking doesn't cause a cycle in `Instance::resolve`
|
|
// which calls `compare_impl_item`.
|
|
|
|
trait Foo {
|
|
fn test() -> impl IntoIterator<Item = ()> + Send;
|
|
}
|
|
|
|
struct A;
|
|
impl Foo for A {
|
|
fn test() -> impl IntoIterator<Item = ()> + Send {
|
|
B::test()
|
|
}
|
|
}
|
|
|
|
struct B;
|
|
impl Foo for B {
|
|
fn test() -> impl IntoIterator<Item = ()> + Send {
|
|
for () in A::test() {}
|
|
|
|
[]
|
|
}
|
|
}
|
|
|
|
fn main() {}
|