Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Avoid silencing relevant follow-up errors #117449

Merged
merged 1 commit into from
Jan 10, 2024

Conversation

oli-obk
Copy link
Contributor

@oli-obk oli-obk commented Oct 31, 2023

r? @matthewjasper

This PR only adds new errors to tests that are already failing and fixes one ICE.

Several tests were changed to not emit new errors. I believe all of them were faulty tests, and not explicitly testing for the code that had new errors.

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Oct 31, 2023
@rust-log-analyzer

This comment has been minimized.

Copy link
Contributor

@matthewjasper matthewjasper left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice to see someone working on this.

There are a couple of cases where I think the new additional error messages are not helpful. It would be good to either have them fixed in this PR or have a clear proposal to fix them.

compiler/rustc_hir_analysis/src/lib.rs Show resolved Hide resolved

#![feature(type_alias_impl_trait)]

type Pointer<T> = impl std::ops::Deref<Target = T>;

fn test() -> Pointer<_> {
//~^ ERROR: the placeholder `_` is not allowed within types
//~| ERROR: non-defining opaque type use in defining scope
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The placeholder here should suppress this error or inference errors.

@@ -2,6 +2,7 @@

#[rustc_outlives]
struct Foo<'a, 'b, T> { //~ ERROR rustc_outlives
//~^ ERROR rustc_outlives
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like this error is emitted in two places doing fairly similar things

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is just a compiler debugging tool that I think doesn't matter if the UX is weird

@@ -5,7 +5,7 @@
async fn copy() -> Result<()>
//~^ ERROR enum takes 2 generic arguments
{
Ok(())
Ok(()) //~ ERROR: type annotations needed
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Various incorrect number of generic arguments errors should suppress later inference and constrained variable errors.

@oli-obk
Copy link
Contributor Author

oli-obk commented Nov 1, 2023

Yea I'd like to fix those follow up errors, but I can't without this PR or without doing fragile const eval crimes.

Due to the amount of errors that change here, I don't think we should do more in this PR, but instead land it and follow up on the not helpful errors in separate PRs. I'll open a larger issue around this topic, as it's something we're already working on, but not in a structured way.

@matthewjasper
Copy link
Contributor

Fair enough. r=me with the comment in rustc_hir_analysis/src/lib.rs restored

@oli-obk
Copy link
Contributor Author

oli-obk commented Nov 2, 2023

@bors r=matthewjasper

@bors
Copy link
Contributor

bors commented Nov 2, 2023

📌 Commit cd56d91 has been approved by matthewjasper

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Nov 2, 2023
@bors
Copy link
Contributor

bors commented Nov 2, 2023

⌛ Testing commit cd56d91 with merge 4e128c1...

bors added a commit to rust-lang-ci/rust that referenced this pull request Nov 2, 2023
…=matthewjasper

Avoid silencing relevant follow-up errors

r? `@matthewjasper`

This PR only adds new errors to tests that are already failing and fixes one ICE.

Several tests were changed to not emit new errors. I believe all of them were faulty tests, and not explicitly testing for the code that had new errors.
@bors
Copy link
Contributor

bors commented Nov 2, 2023

💔 Test failed - checks-actions

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Nov 2, 2023
@rust-log-analyzer

This comment has been minimized.

TaKO8Ki added a commit to TaKO8Ki/rust that referenced this pull request Nov 9, 2023
… r=matthewjasper

Avoid silencing relevant follow-up errors

r? `@matthewjasper`

This PR only adds new errors to tests that are already failing and fixes one ICE.

Several tests were changed to not emit new errors. I believe all of them were faulty tests, and not explicitly testing for the code that had new errors.
@bors
Copy link
Contributor

bors commented Nov 12, 2023

☔ The latest upstream changes (presumably #117817) made this pull request unmergeable. Please resolve the merge conflicts.

bors added a commit to rust-lang-ci/rust that referenced this pull request Dec 15, 2023
…iaskrgr

Rollup of 3 pull requests

Successful merges:

 - rust-lang#118962 (Annotate some bugs)
 - rust-lang#118969 (coverage: Use `Waker::noop` in async tests)
 - rust-lang#118974 (Annotate panic! reasons during enum layout)

Failed merges:

 - rust-lang#111658 (Refactor pre-getopts command line argument handling)
 - rust-lang#117449 (Avoid silencing relevant follow-up errors)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors
Copy link
Contributor

bors commented Dec 16, 2023

🔒 Merge conflict

This pull request and the master branch diverged in a way that cannot be automatically merged. Please rebase on top of the latest master branch, and let the reviewer approve again.

How do I rebase?

Assuming self is your fork and upstream is this repository, you can resolve the conflict following these steps:

  1. git checkout query_merge_immobile_game (switch to your branch)
  2. git fetch upstream master (retrieve the latest master)
  3. git rebase upstream/master -p (rebase on top of it)
  4. Follow the on-screen instruction to resolve conflicts (check git status if you got lost).
  5. git push self query_merge_immobile_game --force-with-lease (update this PR)

You may also read Git Rebasing to Resolve Conflicts by Drew Blessing for a short tutorial.

Please avoid the "Resolve conflicts" button on GitHub. It uses git merge instead of git rebase which makes the PR commit history more difficult to read.

Sometimes step 4 will complete without asking for resolution. This is usually due to difference between how Cargo.lock conflict is handled during merge and rebase. This is normal, and you should still perform step 5 to update this PR.

Error message
Auto-merging tests/ui/unboxed-closures/unboxed-closure-sugar-region.stderr
CONFLICT (content): Merge conflict in tests/ui/unboxed-closures/unboxed-closure-sugar-region.stderr
Auto-merging tests/ui/typeck/escaping_bound_vars.stderr
CONFLICT (content): Merge conflict in tests/ui/typeck/escaping_bound_vars.stderr
Auto-merging tests/ui/type-alias-impl-trait/issue-77179.stderr
CONFLICT (content): Merge conflict in tests/ui/type-alias-impl-trait/issue-77179.stderr
Auto-merging tests/ui/transmutability/issue-101739-2.stderr
CONFLICT (content): Merge conflict in tests/ui/transmutability/issue-101739-2.stderr
Auto-merging tests/ui/traits/object/object-unsafe-missing-assoc-type.stderr
CONFLICT (content): Merge conflict in tests/ui/traits/object/object-unsafe-missing-assoc-type.stderr
Auto-merging tests/ui/traits/issue-28576.stderr
CONFLICT (content): Merge conflict in tests/ui/traits/issue-28576.stderr
Auto-merging tests/ui/traits/issue-102989.stderr
CONFLICT (content): Merge conflict in tests/ui/traits/issue-102989.stderr
Auto-merging tests/ui/traits/issue-102989.rs
Auto-merging tests/ui/tag-type-args.stderr
CONFLICT (content): Merge conflict in tests/ui/tag-type-args.stderr
Auto-merging tests/ui/suggestions/missing-lifetime-specifier.stderr
Auto-merging tests/ui/suggestions/impl-trait-missing-lifetime-gated.stderr
Auto-merging tests/ui/suggestions/bad-infer-in-trait-impl.stderr
CONFLICT (content): Merge conflict in tests/ui/suggestions/bad-infer-in-trait-impl.stderr
Auto-merging tests/ui/stability-attribute/generics-default-stability-where.stderr
CONFLICT (content): Merge conflict in tests/ui/stability-attribute/generics-default-stability-where.stderr
Auto-merging tests/ui/rfcs/rfc-2632-const-trait-impl/super-traits-fail-3.yy.stderr
Auto-merging tests/ui/rfcs/rfc-2632-const-trait-impl/super-traits-fail-3.yn.stderr
Auto-merging tests/ui/rfcs/rfc-2632-const-trait-impl/super-traits-fail-3.rs
CONFLICT (content): Merge conflict in tests/ui/rfcs/rfc-2632-const-trait-impl/super-traits-fail-3.rs
Auto-merging tests/ui/rfcs/rfc-2632-const-trait-impl/super-traits-fail-3.nn.stderr
CONFLICT (content): Merge conflict in tests/ui/rfcs/rfc-2632-const-trait-impl/super-traits-fail-3.nn.stderr
Auto-merging tests/ui/rfcs/rfc-2632-const-trait-impl/super-traits-fail-2.nn.stderr
CONFLICT (content): Merge conflict in tests/ui/rfcs/rfc-2632-const-trait-impl/super-traits-fail-2.nn.stderr
Auto-merging tests/ui/rfcs/rfc-2632-const-trait-impl/const_derives/derive-const-non-const-type.stderr
CONFLICT (content): Merge conflict in tests/ui/rfcs/rfc-2632-const-trait-impl/const_derives/derive-const-non-const-type.stderr
Auto-merging tests/ui/rfcs/rfc-2632-const-trait-impl/const-impl-trait.stderr
CONFLICT (content): Merge conflict in tests/ui/rfcs/rfc-2632-const-trait-impl/const-impl-trait.stderr
Auto-merging tests/ui/rfcs/rfc-2632-const-trait-impl/const-impl-requires-const-trait.stderr
CONFLICT (content): Merge conflict in tests/ui/rfcs/rfc-2632-const-trait-impl/const-impl-requires-const-trait.stderr
Auto-merging tests/ui/rfcs/rfc-2093-infer-outlives/self-structs.stderr
CONFLICT (content): Merge conflict in tests/ui/rfcs/rfc-2093-infer-outlives/self-structs.stderr
Auto-merging tests/ui/rfcs/rfc-2093-infer-outlives/self-dyn.stderr
CONFLICT (content): Merge conflict in tests/ui/rfcs/rfc-2093-infer-outlives/self-dyn.stderr
Auto-merging tests/ui/rfcs/rfc-2093-infer-outlives/reference.stderr
CONFLICT (content): Merge conflict in tests/ui/rfcs/rfc-2093-infer-outlives/reference.stderr
Auto-merging tests/ui/rfcs/rfc-2093-infer-outlives/projection.stderr
CONFLICT (content): Merge conflict in tests/ui/rfcs/rfc-2093-infer-outlives/projection.stderr
Auto-merging tests/ui/rfcs/rfc-2093-infer-outlives/nested-union.stderr
CONFLICT (content): Merge conflict in tests/ui/rfcs/rfc-2093-infer-outlives/nested-union.stderr
Auto-merging tests/ui/rfcs/rfc-2093-infer-outlives/nested-structs.stderr
CONFLICT (content): Merge conflict in tests/ui/rfcs/rfc-2093-infer-outlives/nested-structs.stderr
Auto-merging tests/ui/rfcs/rfc-2093-infer-outlives/nested-regions.stderr
CONFLICT (content): Merge conflict in tests/ui/rfcs/rfc-2093-infer-outlives/nested-regions.stderr
Auto-merging tests/ui/rfcs/rfc-2093-infer-outlives/nested-enum.stderr
CONFLICT (content): Merge conflict in tests/ui/rfcs/rfc-2093-infer-outlives/nested-enum.stderr
Auto-merging tests/ui/rfcs/rfc-2093-infer-outlives/explicit-union.stderr
CONFLICT (content): Merge conflict in tests/ui/rfcs/rfc-2093-infer-outlives/explicit-union.stderr
Auto-merging tests/ui/rfcs/rfc-2093-infer-outlives/explicit-struct.stderr
CONFLICT (content): Merge conflict in tests/ui/rfcs/rfc-2093-infer-outlives/explicit-struct.stderr
Auto-merging tests/ui/rfcs/rfc-2093-infer-outlives/explicit-projection.stderr
CONFLICT (content): Merge conflict in tests/ui/rfcs/rfc-2093-infer-outlives/explicit-projection.stderr
Auto-merging tests/ui/rfcs/rfc-2093-infer-outlives/explicit-enum.stderr
CONFLICT (content): Merge conflict in tests/ui/rfcs/rfc-2093-infer-outlives/explicit-enum.stderr
Auto-merging tests/ui/rfcs/rfc-2093-infer-outlives/explicit-dyn.stderr
CONFLICT (content): Merge conflict in tests/ui/rfcs/rfc-2093-infer-outlives/explicit-dyn.stderr
Auto-merging tests/ui/rfcs/rfc-2093-infer-outlives/cross-crate.stderr
CONFLICT (content): Merge conflict in tests/ui/rfcs/rfc-2093-infer-outlives/cross-crate.stderr
Auto-merging tests/ui/panic-handler/panic-handler-std.stderr
CONFLICT (content): Merge conflict in tests/ui/panic-handler/panic-handler-std.stderr
Auto-merging tests/ui/object-safety/object-safety-supertrait-mentions-Self.stderr
CONFLICT (content): Merge conflict in tests/ui/object-safety/object-safety-supertrait-mentions-Self.stderr
Auto-merging tests/ui/object-lifetime/object-lifetime-default-dyn-binding-nonstatic3.stderr
CONFLICT (content): Merge conflict in tests/ui/object-lifetime/object-lifetime-default-dyn-binding-nonstatic3.stderr
Auto-merging tests/ui/lang-items/lang-item-generic-requirements.rs
CONFLICT (content): Merge conflict in tests/ui/lang-items/lang-item-generic-requirements.rs
Auto-merging tests/ui/issues/issue-34373.stderr
CONFLICT (content): Merge conflict in tests/ui/issues/issue-34373.stderr
Auto-merging tests/ui/issues/issue-31910.stderr
CONFLICT (content): Merge conflict in tests/ui/issues/issue-31910.stderr
Auto-merging tests/ui/impl-trait/issues/issue-92305.stderr
CONFLICT (content): Merge conflict in tests/ui/impl-trait/issues/issue-92305.stderr
Auto-merging tests/ui/impl-trait/issues/issue-67830.stderr
CONFLICT (content): Merge conflict in tests/ui/impl-trait/issues/issue-67830.stderr
Auto-merging tests/ui/impl-trait/impl-fn-hrtb-bounds.stderr
Auto-merging tests/ui/impl-trait/generic-with-implicit-hrtb-without-dyn.edition2021.stderr
CONFLICT (content): Merge conflict in tests/ui/impl-trait/generic-with-implicit-hrtb-without-dyn.edition2021.stderr
Auto-merging tests/ui/generic-const-items/parameter-defaults.stderr
CONFLICT (content): Merge conflict in tests/ui/generic-const-items/parameter-defaults.stderr
Auto-merging tests/ui/generic-associated-types/issue-80433.stderr
CONFLICT (content): Merge conflict in tests/ui/generic-associated-types/issue-80433.stderr
Auto-merging tests/ui/generic-associated-types/issue-79636-1.stderr
CONFLICT (content): Merge conflict in tests/ui/generic-associated-types/issue-79636-1.stderr
Auto-merging tests/ui/generic-associated-types/issue-71176.stderr
CONFLICT (content): Merge conflict in tests/ui/generic-associated-types/issue-71176.stderr
Auto-merging tests/ui/fn/issue-39259.stderr
CONFLICT (content): Merge conflict in tests/ui/fn/issue-39259.stderr
Auto-merging tests/ui/error-codes/E0229.stderr
CONFLICT (content): Merge conflict in tests/ui/error-codes/E0229.stderr
Auto-merging tests/ui/error-codes/E0227.stderr
CONFLICT (content): Merge conflict in tests/ui/error-codes/E0227.stderr
Auto-merging tests/ui/did_you_mean/replace-impl-infer-ty-from-trait.stderr
CONFLICT (content): Merge conflict in tests/ui/did_you_mean/replace-impl-infer-ty-from-trait.stderr
Auto-merging tests/ui/derives/issue-97343.stderr
CONFLICT (content): Merge conflict in tests/ui/derives/issue-97343.stderr
Auto-merging tests/ui/consts/escaping-bound-var.stderr
CONFLICT (content): Merge conflict in tests/ui/consts/escaping-bound-var.stderr
Auto-merging tests/ui/const-generics/late-bound-vars/late-bound-in-return-issue-77357.stderr
CONFLICT (content): Merge conflict in tests/ui/const-generics/late-bound-vars/late-bound-in-return-issue-77357.stderr
Auto-merging tests/ui/const-generics/assoc_const_eq_diagnostic.stderr
Auto-merging tests/ui/const-generics/assoc_const_eq_diagnostic.rs
CONFLICT (content): Merge conflict in tests/ui/const-generics/assoc_const_eq_diagnostic.rs
Auto-merging tests/ui/async-await/return-type-notation/rtn-in-impl-signature.stderr
CONFLICT (content): Merge conflict in tests/ui/async-await/return-type-notation/rtn-in-impl-signature.stderr
Auto-merging tests/ui/async-await/issues/issue-65159.stderr
CONFLICT (content): Merge conflict in tests/ui/async-await/issues/issue-65159.stderr
Auto-merging tests/ui/associated-types/issue-23595-1.stderr
CONFLICT (content): Merge conflict in tests/ui/associated-types/issue-23595-1.stderr
Auto-merging tests/ui/associated-inherent-types/issue-109299-1.stderr
CONFLICT (content): Merge conflict in tests/ui/associated-inherent-types/issue-109299-1.stderr
Auto-merging compiler/rustc_trait_selection/src/traits/mod.rs
Auto-merging compiler/rustc_hir_analysis/src/lib.rs
warning: inexact rename detection was skipped due to too many files.
warning: you may want to set your merge.renamelimit variable to at least 1245 and retry the command.
Automatic merge failed; fix conflicts and then commit the result.

@apiraino
Copy link
Contributor

At a quick glance, it seems this is waiting for a rebase and then it's ready for merge, am I right? Switching to waiting on author.

@rustbot author

@rustbot rustbot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Dec 28, 2023
@oli-obk
Copy link
Contributor Author

oli-obk commented Jan 2, 2024

@bors r=matthewjasper

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (9480767): comparison URL.

Overall result: ✅ improvements - no action needed

@rustbot label: -perf-regression

Instruction count

This is a highly reliable metric that was used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-2.8% [-2.8%, -2.8%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -2.8% [-2.8%, -2.8%] 1

Max RSS (memory usage)

Results

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
2.1% [1.3%, 2.9%] 3
Improvements ✅
(primary)
-2.0% [-3.3%, -0.7%] 2
Improvements ✅
(secondary)
-2.0% [-2.0%, -2.0%] 1
All ❌✅ (primary) -2.0% [-3.3%, -0.7%] 2

Cycles

This benchmark run did not return any relevant results for this metric.

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 666.209s -> 667.55s (0.20%)
Artifact size: 308.59 MiB -> 308.58 MiB (-0.00%)

@matthiaskrgr
Copy link
Member

Hmm, looks like this causes ICEs that were previously hidden by errors. :/

@oli-obk oli-obk deleted the query_merge_immobile_game branch January 10, 2024 08:42
@oli-obk
Copy link
Contributor Author

oli-obk commented Jan 10, 2024

imo that's a good thing. We were always playing with fire by using track_errors

I'll happily do more ICE squashing.

matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Jan 11, 2024
…, r=compiler-errors

Silence some follow-up errors [1/x]

this is one piece of the requested cleanups from rust-lang#117449

When we use `-> impl SomeTrait<_>` as a return type, we are both using the "infer return type suggestion" code path, and the infer opaque type code path within the same function. That can lead to confusing diagnostics, so silence all opaque type diagnostics in that case.
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Jan 11, 2024
Rollup merge of rust-lang#119803 - oli-obk:even_more_follow_up_errors, r=compiler-errors

Silence some follow-up errors [1/x]

this is one piece of the requested cleanups from rust-lang#117449

When we use `-> impl SomeTrait<_>` as a return type, we are both using the "infer return type suggestion" code path, and the infer opaque type code path within the same function. That can lead to confusing diagnostics, so silence all opaque type diagnostics in that case.
github-actions bot pushed a commit to rust-lang/miri that referenced this pull request Jan 11, 2024
…ler-errors

Silence some follow-up errors [1/x]

this is one piece of the requested cleanups from rust-lang/rust#117449

When we use `-> impl SomeTrait<_>` as a return type, we are both using the "infer return type suggestion" code path, and the infer opaque type code path within the same function. That can lead to confusing diagnostics, so silence all opaque type diagnostics in that case.
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Jan 11, 2024
…2, r=estebank

Silence some follow-up errors [2/x]

this is one piece of the requested cleanups from rust-lang#117449

the `type_of` query frequently uses astconv to convert a `hir::Ty` to a `ty::Ty`. This process is infallible, but may produce errors as it goes. All the error reporting sites that had access to the `ItemCtxt` are now tainting it, causing `type_of` to return a `ty::Error` instead of anything else.
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Jan 11, 2024
…2, r=estebank

Silence some follow-up errors [2/x]

this is one piece of the requested cleanups from rust-lang#117449

the `type_of` query frequently uses astconv to convert a `hir::Ty` to a `ty::Ty`. This process is infallible, but may produce errors as it goes. All the error reporting sites that had access to the `ItemCtxt` are now tainting it, causing `type_of` to return a `ty::Error` instead of anything else.
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Jan 11, 2024
Rollup merge of rust-lang#119813 - oli-obk:even_more_follow_up_errors2, r=estebank

Silence some follow-up errors [2/x]

this is one piece of the requested cleanups from rust-lang#117449

the `type_of` query frequently uses astconv to convert a `hir::Ty` to a `ty::Ty`. This process is infallible, but may produce errors as it goes. All the error reporting sites that had access to the `ItemCtxt` are now tainting it, causing `type_of` to return a `ty::Error` instead of anything else.
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Jan 15, 2024
…3, r=compiler-errors

Silence some follow-up errors [3/x]

this is one piece of the requested cleanups from rust-lang#117449

Keep error types around, even in obligations.

These help silence follow-up errors, as we now figure out that some types (most notably inference variables) are equal to an error type.

But it also allows figuring out more types in the presence of errors, possibly causing more errors.
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Jan 15, 2024
…3, r=compiler-errors

Silence some follow-up errors [3/x]

this is one piece of the requested cleanups from rust-lang#117449

Keep error types around, even in obligations.

These help silence follow-up errors, as we now figure out that some types (most notably inference variables) are equal to an error type.

But it also allows figuring out more types in the presence of errors, possibly causing more errors.
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Jan 15, 2024
Rollup merge of rust-lang#119818 - oli-obk:even_more_follow_up_errors3, r=compiler-errors

Silence some follow-up errors [3/x]

this is one piece of the requested cleanups from rust-lang#117449

Keep error types around, even in obligations.

These help silence follow-up errors, as we now figure out that some types (most notably inference variables) are equal to an error type.

But it also allows figuring out more types in the presence of errors, possibly causing more errors.
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Jan 18, 2024
…sper

replace `track_errors` usages with bubbling up `ErrorGuaranteed`

more of the same as rust-lang#117449 (removing `track_errors`)
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Jan 19, 2024
Rollup merge of rust-lang#119869 - oli-obk:track_errors2, r=matthewjasper

replace `track_errors` usages with bubbling up `ErrorGuaranteed`

more of the same as rust-lang#117449 (removing `track_errors`)
github-actions bot pushed a commit to rust-lang/miri that referenced this pull request Jan 21, 2024
replace `track_errors` usages with bubbling up `ErrorGuaranteed`

more of the same as rust-lang/rust#117449 (removing `track_errors`)
flip1995 pushed a commit to flip1995/rust-clippy that referenced this pull request Jan 25, 2024
replace `track_errors` usages with bubbling up `ErrorGuaranteed`

more of the same as rust-lang/rust#117449 (removing `track_errors`)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants