Rollup merge of #116801 - clubby789:issue-113326-test, r=compiler-errors

Add test for 113326

Closes #113326
Bisecting points to #113636 as the fix
This commit is contained in:
Matthias Krüger 2023-10-25 17:40:28 +02:00 committed by GitHub
commit 75efc4fd9e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 31 additions and 0 deletions

View File

@ -0,0 +1,17 @@
// test for #113326
#![feature(type_alias_impl_trait)]
pub type Diff = impl Fn(usize) -> usize;
pub fn lift() -> Diff {
|_: usize |loop {}
}
pub fn add(
n: Diff,
m: Diff,
) -> Diff {
move |x: usize| m(n(x)) //~ ERROR: concrete type differs
}
fn main() {}

View File

@ -0,0 +1,14 @@
error: concrete type differs from previous defining opaque type use
--> $DIR/recursive-fn-tait.rs:14:5
|
LL | move |x: usize| m(n(x))
| ^^^^^^^^^^^^^^^^^^^^^^^ expected `{closure@$DIR/recursive-fn-tait.rs:7:5: 7:16}`, got `{closure@$DIR/recursive-fn-tait.rs:14:5: 14:20}`
|
note: previous use here
--> $DIR/recursive-fn-tait.rs:7:5
|
LL | |_: usize |loop {}
| ^^^^^^^^^^^^^^^^^^
error: aborting due to previous error