error: concrete type differs from previous defining opaque type use --> $DIR/issue-52843-closure-constrain.rs:10:31 | LL | let null = || -> Opaque { 0 }; | ^ expected `String`, got `i32` | note: previous use here --> $DIR/issue-52843-closure-constrain.rs:9:30 | LL | fn _unused() -> Opaque { String::new() } | ^^^^^^^^^^^^^ error: aborting due to previous error