about summary refs log tree commit diff
path: root/tests/ui/lowering
AgeCommit message (Collapse)AuthorLines
2025-07-01Remove `ItemKind::descr` methodGuillaume Gomez-1/+1
2025-03-07Make synthetic RPITIT assoc ty name handling more rigorous.Nicholas Nethercote-0/+51
Currently it relies on special treatment of `kw::Empty`, which is really easy to get wrong. This commit makes the special case clearer in the type system by using `Option`. It's a bit clumsy, but the synthetic name handling itself is a bit clumsy; better to make it explicit than sneak it in. Fixes #133426.
2024-04-29Change wordingest31-1/+1
2024-04-28Add a note to the ArbitraryExpressionInPattern errorest31-0/+21
2024-02-29Overhaul how stashed diagnostics work, again.Nicholas Nethercote-10/+2
Stashed errors used to be counted as errors, but could then be cancelled, leading to `ErrorGuaranteed` soundness holes. #120828 changed that, closing the soundness hole. But it introduced other difficulties because you sometimes have to account for pending stashed errors when making decisions about whether errors have occured/will occur and it's easy to overlook these. This commit aims for a middle ground. - Stashed errors (not warnings) are counted immediately as emitted errors, avoiding the possibility of forgetting to consider them. - The ability to cancel (or downgrade) stashed errors is eliminated, by disallowing the use of `steal_diagnostic` with errors, and introducing the more restrictive methods `try_steal_{modify,replace}_and_emit_err` that can be used instead. Other things: - `DiagnosticBuilder::stash` and `DiagCtxt::stash_diagnostic` now both return `Option<ErrorGuaranteed>`, which enables the removal of two `delayed_bug` calls and one `Ty::new_error_with_message` call. This is possible because we store error guarantees in `DiagCtxt::stashed_diagnostics`. - Storing the guarantees also saves us having to maintain a counter. - Calls to the `stashed_err_count` method are no longer necessary alongside calls to `has_errors`, which is a nice simplification, and eliminates two more `span_delayed_bug` calls and one FIXME comment. - Tests are added for three of the four fixed PRs mentioned below. - `issue-121108.rs`'s output improved slightly, omitting a non-useful error message. Fixes #121451. Fixes #121477. Fixes #121504. Fixes #121508.
2024-02-23Revert some `span_bug`s to `span_delayed_bug`.Nicholas Nethercote-0/+13
Fixes #121410. Fixes #121414. Fixes #121418. Fixes #121431.
2024-02-16[AUTO-GENERATED] Migrate ui tests from `//` to `//@` directives许杰友 Jieyou Xu (Joe)-1/+1
2024-02-15Reinstate some delayed bugs.Nicholas Nethercote-0/+34
These were changed to `has_errors` assertions in #121071 because that seemed reasonable, but evidently not. Fixes #121103. Fixes #121108.
2023-01-11Move /src/test to /testsAlbert Larsan-0/+14