consider unevaluated consts in extract_inference_diagnostics_data
This commit is contained in:
parent
dae2407368
commit
37ed2db1e0
4 changed files with 96 additions and 42 deletions
|
|
@ -27,4 +27,5 @@ fn main() {
|
|||
//~^ ERROR type annotations needed
|
||||
|
||||
_q = foo::<_, 2>(_q);
|
||||
//~^ ERROR type annotations needed
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,30 @@ error[E0282]: type annotations needed
|
|||
LL | let mut _q = Default::default();
|
||||
| ^^^^^^ consider giving `_q` a type
|
||||
|
||||
error: aborting due to previous error
|
||||
error[E0283]: type annotations needed
|
||||
--> $DIR/const_eval_resolve_canonical.rs:29:10
|
||||
|
|
||||
LL | _q = foo::<_, 2>(_q);
|
||||
| ^^^^^^^^^^^ cannot infer type
|
||||
|
|
||||
note: multiple `impl`s satisfying `(): Foo<{ N + 1 }>` found
|
||||
--> $DIR/const_eval_resolve_canonical.rs:8:1
|
||||
|
|
||||
LL | impl Foo<0> for () {
|
||||
| ^^^^^^^^^^^^^^^^^^
|
||||
...
|
||||
LL | impl Foo<3> for () {
|
||||
| ^^^^^^^^^^^^^^^^^^
|
||||
note: required by a bound in `foo`
|
||||
--> $DIR/const_eval_resolve_canonical.rs:18:9
|
||||
|
|
||||
LL | fn foo<T, const N: usize>(_: T) -> <() as Foo<{ N + 1 }>>::Assoc
|
||||
| --- required by a bound in this
|
||||
LL | where
|
||||
LL | (): Foo<{ N + 1 }>,
|
||||
| ^^^^^^^^^^^^^^ required by this bound in `foo`
|
||||
|
||||
For more information about this error, try `rustc --explain E0282`.
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
Some errors have detailed explanations: E0282, E0283.
|
||||
For more information about an error, try `rustc --explain E0282`.
|
||||
|
|
|
|||
|
|
@ -1,22 +1,11 @@
|
|||
error[E0283]: type annotations needed
|
||||
error[E0282]: type annotations needed
|
||||
--> $DIR/issue-83249.rs:19:13
|
||||
|
|
||||
LL | let _ = foo([0; 1]);
|
||||
| - ^^^ cannot infer type for type parameter `T` declared on the function `foo`
|
||||
| |
|
||||
| consider giving this pattern a type
|
||||
|
|
||||
= note: cannot satisfy `_: Foo`
|
||||
note: required by a bound in `foo`
|
||||
--> $DIR/issue-83249.rs:12:11
|
||||
|
|
||||
LL | fn foo<T: Foo>(_: [u8; T::N]) -> T {
|
||||
| ^^^ required by this bound in `foo`
|
||||
help: consider specifying the type argument in the function call
|
||||
|
|
||||
LL | let _ = foo::<T>([0; 1]);
|
||||
| +++++
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0283`.
|
||||
For more information about this error, try `rustc --explain E0282`.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue