rustc_resolve: improve const generic errors#152913
rustc_resolve: improve const generic errors#152913rust-bors[bot] merged 1 commit intorust-lang:mainfrom
Conversation
|
rustbot has assigned @JonathanBrouwer. Use Why was this reviewer chosen?The reviewer was selected based on:
|
|
r? @estebank |
00fa325 to
98d6219
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
98d6219 to
b162b4b
Compare
| .struct_constructors | ||
| .insert(local_def_id, (ctor_res, ctor_vis.to_def_id(), ret_fields)); | ||
| } | ||
| self.r.struct_generics.insert(local_def_id, generics.clone()); |
There was a problem hiding this comment.
Let's see if we can struct_generics store references. That should keep mem usage to a minimum.
| if let Some(const_err) = const_err { | ||
| err.cancel(); | ||
| err = const_err; | ||
| } |
There was a problem hiding this comment.
This is currently inactive, right? const_err isn't None anywhere right now?
There was a problem hiding this comment.
const_err is actually always None except in the case of where we add the error we just introduce see it here -> https://github.com/rust-lang/rust/pull/152913/changes#diff-2c81e6d8048a31a3ce43f30181aaa037e0ad0076e7aee67792ca993f28c75ac3R3440-R3441
There was a problem hiding this comment.
it is to prevent the type error from showing up.
|
HIR ty lowering was modified cc @fmease |
This comment has been minimized.
This comment has been minimized.
b162b4b to
42de5af
Compare
This comment has been minimized.
This comment has been minimized.
42de5af to
aa46052
Compare
| @@ -4,18 +4,19 @@ error[E0575]: expected associated type, found associated constant `Trait::ASSOC` | |||
| LL | bar::<<T as Trait>::ASSOC>(); | |||
| | ^^^^^^^^^^^^^^^^^^^ not a associated type | |||
|
|
|||
| error[E0747]: unresolved item provided when a constant was expected | |||
| --> $DIR/assoc_const_as_type_argument.rs:8:11 | |||
| error[E0284]: type annotations needed | |||
There was a problem hiding this comment.
It is unfortunate that after silencing E0747 we end up with these inference errors instead...
I think we can split the work into two PRs: one silencing the unnecessary/redundant resolve error ("unresolved item when X was expected") and another for the appropriate const generic suggestions. That would make things easier to review and evolve on isolation.
There was a problem hiding this comment.
Yeah, thanks. we can resolve the E0747 error after getting this pr merged. I already update the patch to not silence the E0747 for now.
c83c8ff to
54aebeb
Compare
|
@bors r+ |
This comment has been minimized.
This comment has been minimized.
rustc_resolve: improve const generic errors
This comment has been minimized.
This comment has been minimized.
|
💔 Test for f80d097 failed: CI. Failed job:
|
Signed-off-by: Usman Akinyemi <usmanakinyemi202@gmail.com>
54aebeb to
f60b649
Compare
|
This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed. Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers. |
|
@bors r+ The error seems to be spurious/not related to this PR. It was rebased on top of a more recent |
This comment has been minimized.
This comment has been minimized.
What is this?This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.Comparing bcf3d36 (parent) -> 76be1cc (this PR) Test differencesShow 3 test diffs3 doctest diffs were found. These are ignored, as they are noisy. Test dashboardRun cargo run --manifest-path src/ci/citool/Cargo.toml -- \
test-dashboard 76be1cc4eef94daeab731ed9395a317b34d89d63 --output-dir test-dashboardAnd then open Job duration changes
How to interpret the job duration changes?Job durations can vary a lot, based on the actual runner instance |
|
Finished benchmarking commit (76be1cc): comparison URL. Overall result: ❌ regressions - no action needed@rustbot label: -perf-regression Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (secondary -0.3%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (secondary -2.7%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 483.892s -> 481.595s (-0.47%) |
View all comments