Fix ICE
This commit is contained in:
parent
b5c2470ba3
commit
ae81fc61d0
2 changed files with 11 additions and 12 deletions
|
@ -4944,13 +4944,17 @@ impl<'a, 'gcx, 'tcx> FnCtxt<'a, 'gcx, 'tcx> {
|
||||||
// `impl Trait` is treated as a normal generic parameter internally,
|
// `impl Trait` is treated as a normal generic parameter internally,
|
||||||
// but we don't allow users to specify the parameter's value
|
// but we don't allow users to specify the parameter's value
|
||||||
// explicitly, so we have to do some error-checking here.
|
// explicitly, so we have to do some error-checking here.
|
||||||
suppress_errors.insert(index, AstConv::check_generic_arg_count_for_call(
|
let suppress = AstConv::check_generic_arg_count_for_call(
|
||||||
self.tcx,
|
self.tcx,
|
||||||
span,
|
span,
|
||||||
&generics,
|
&generics,
|
||||||
&seg,
|
&seg,
|
||||||
false, // `is_method_call`
|
false, // `is_method_call`
|
||||||
));
|
);
|
||||||
|
if suppress {
|
||||||
|
self.set_tainted_by_errors(); // See issue #53251.
|
||||||
|
}
|
||||||
|
suppress_errors.insert(index, suppress);
|
||||||
}
|
}
|
||||||
|
|
||||||
let has_self = path_segs.last().map(|PathSeg(def_id, _)| {
|
let has_self = path_segs.last().map(|PathSeg(def_id, _)| {
|
||||||
|
|
|
@ -1,17 +1,12 @@
|
||||||
error[E0601]: `main` function not found in crate `issue_53251`
|
error[E0087]: wrong number of type arguments: expected 0, found 1
|
||||||
|
|
--> $DIR/issue-53251.rs:21:17
|
||||||
= note: consider adding a `main` function to `$DIR/issue-53251.rs`
|
|
||||||
|
|
||||||
error[E0087]: too many type parameters provided: expected at most 0 type parameters, found 1 type parameter
|
|
||||||
--> $DIR/issue-53251.rs:21:24
|
|
||||||
|
|
|
|
||||||
LL | S::f::<i64>();
|
LL | S::f::<i64>();
|
||||||
| ^^^ expected 0 type parameters
|
| ^^^^^^^^^^^ unexpected type argument
|
||||||
...
|
...
|
||||||
LL | impl_add!(a b);
|
LL | impl_add!(a b);
|
||||||
| --------------- in this macro invocation
|
| --------------- in this macro invocation
|
||||||
|
|
||||||
error: aborting due to 2 previous errors
|
error: aborting due to previous error
|
||||||
|
|
||||||
Some errors occurred: E0087, E0601.
|
For more information about this error, try `rustc --explain E0087`.
|
||||||
For more information about an error, try `rustc --explain E0087`.
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue