1e22280f23
- On compiler-error's suggestion of moving this lower down the stack, along the path of `report_mismatched_types()`, which is used by `rustc_hir_analysis` and `rustc_hir_typeck`. - update ui tests, add test - add suggestions for references to fn pointers - modify `TypeErrCtxt::same_type_modulo_infer` to take `T: relate::Relate` instead of `Ty`
22 lines
823 B
Plaintext
22 lines
823 B
Plaintext
error[E0308]: mismatched types
|
|
--> $DIR/fn-ptr.rs:11:21
|
|
|
|
|
LL | #[target_feature(enable = "sse2")]
|
|
| ---------------------------------- `#[target_feature]` added here
|
|
...
|
|
LL | let foo: fn() = foo;
|
|
| ---- ^^^
|
|
| | |
|
|
| | cannot coerce functions with `#[target_feature]` to safe function pointers
|
|
| | help: consider casting to a fn pointer: `foo as fn()`
|
|
| expected due to this
|
|
|
|
|
= note: expected fn pointer `fn()`
|
|
found fn item `fn() {foo}`
|
|
= note: fn items are distinct from fn pointers
|
|
= note: functions with `#[target_feature]` can only be coerced to `unsafe` function pointers
|
|
|
|
error: aborting due to previous error
|
|
|
|
For more information about this error, try `rustc --explain E0308`.
|