diff options
| author | xizheyin <xizheyin@smail.nju.edu.cn> | 2025-05-08 16:07:53 +0800 |
|---|---|---|
| committer | xizheyin <xizheyin@smail.nju.edu.cn> | 2025-05-24 16:33:02 +0800 |
| commit | 31ee8400004dd9850fa11cce311e412ceadd7062 (patch) | |
| tree | 16db027623b7cc6019a7b74eba230f55d7540d32 | |
| parent | 105354db48223b7bf799b05d4dd3a412aca7bd05 (diff) | |
| download | rust-31ee8400004dd9850fa11cce311e412ceadd7062.tar.gz rust-31ee8400004dd9850fa11cce311e412ceadd7062.zip | |
Add ui test func-pointer-issue-140491
Signed-off-by: xizheyin <xizheyin@smail.nju.edu.cn>
| -rw-r--r-- | tests/ui/cast/func-pointer-issue-140491.rs | 7 | ||||
| -rw-r--r-- | tests/ui/cast/func-pointer-issue-140491.stderr | 9 |
2 files changed, 16 insertions, 0 deletions
diff --git a/tests/ui/cast/func-pointer-issue-140491.rs b/tests/ui/cast/func-pointer-issue-140491.rs new file mode 100644 index 00000000000..d5d86a66f5a --- /dev/null +++ b/tests/ui/cast/func-pointer-issue-140491.rs @@ -0,0 +1,7 @@ +fn my_fn(event: &Event<'_>) {} + +struct Event<'a>(&'a ()); + +fn main() { + const ptr: &fn(&Event<'_>) = &my_fn as _; //~ ERROR non-primitive cast: `&for<'a, 'b> fn(&'a Event<'b>) {my_fn}` as `&for<'a, 'b> fn(&'a Event<'b>)` [E0605] +} diff --git a/tests/ui/cast/func-pointer-issue-140491.stderr b/tests/ui/cast/func-pointer-issue-140491.stderr new file mode 100644 index 00000000000..ebd4b18502e --- /dev/null +++ b/tests/ui/cast/func-pointer-issue-140491.stderr @@ -0,0 +1,9 @@ +error[E0605]: non-primitive cast: `&for<'a, 'b> fn(&'a Event<'b>) {my_fn}` as `&for<'a, 'b> fn(&'a Event<'b>)` + --> $DIR/func-pointer-issue-140491.rs:6:34 + | +LL | ..._>) = &my_fn as _; + | ^^^^^^^^^^^ an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object + +error: aborting due to 1 previous error + +For more information about this error, try `rustc --explain E0605`. |
