//@ check-pass //@ revisions: current next //@ ignore-compare-mode-next-solver (explicit revisions) //@[next] compile-flags: -Znext-solver // A regression test for an error in `redis` while working on #139587. // // We check for structural equality when adding defining uses of opaques. // In this test one defining use had anonymized regions while the other // one did not, causing an error. struct W(T); fn constrain R, T, R>(f: F) -> R { loop {} } fn foo<'a>(x: for<'b> fn(&'b ())) -> impl Sized + use<'a> { let mut r = constrain(foo::<'_>); r = W(x); r } fn main() {}