| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2024-09-22 | Reformat using the new identifier sorting from rustfmt | Michael Goulet | -1/+1 | |
| 2024-07-29 | Reformat `use` declarations. | Nicholas Nethercote | -3/+4 | |
| The previous commit updated `rustfmt.toml` appropriately. This commit is the outcome of running `x fmt --all` with the new formatting options. | ||||
| 2024-05-23 | Remove `LintDiagnostic::msg` | León Orell Valerian Liehr | -1/+0 | |
| * instead simply set the primary message inside the lint decorator functions * it used to be this way before [#]101986 which introduced `msg` to prevent good path delayed bugs (which no longer exist) from firing under certain circumstances when lints were suppressed / silenced * this is no longer necessary for various reasons I presume * it shaves off complexity and makes further changes easier to implement | ||||
| 2024-04-30 | Remove `extern crate tracing` from numerous crates. | Nicholas Nethercote | -3/+3 | |
| 2024-03-13 | Rename `RustcMatchCheckCtxt` -> `RustcPatCtxt` | Nadrieril | -6/+6 | |
| 2024-03-11 | `DeconstructedPat.data` is always present now | Nadrieril | -1/+1 | |
| 2024-03-11 | Rename `DecorateLint` as `LintDiagnostic`. | Nicholas Nethercote | -1/+1 | |
| To match `derive(LintDiagnostic)`. | ||||
| 2024-02-02 | Remove dead args from functions | Michael Goulet | -1/+1 | |
| 2024-01-30 | Make `PatternColumn` part of the public API | Nadrieril | -84/+3 | |
| 2024-01-30 | Limit the use of `PlaceCtxt` | Nadrieril | -18/+16 | |
| 2024-01-30 | Make `PatternColumn` generic in `Cx` | Nadrieril | -23/+20 | |
| 2024-01-23 | Rename `TyCtxt::emit_spanned_lint` as `TyCtxt::emit_node_span_lint`. | Nicholas Nethercote | -1/+1 | |
| 2024-01-20 | Remove Ty: Copy bound | Nadrieril | -2/+2 | |
| 2024-01-19 | Rollup merge of #119835 - Nadrieril:simplify-empty-logic, r=compiler-errors | Matthias Krüger | -1/+1 | |
| Exhaustiveness: simplify empty pattern logic The logic that handles empty patterns had gotten quite convoluted. This PR simplifies it a lot. I tried to make the logic as easy as possible to follow; this only does logically equivalent changes. The first commit is a drive-by comment clarification that was requested after another PR a while back. r? `@compiler-errors` | ||||
| 2024-01-15 | Lint overlapping ranges directly from exhaustiveness | Nadrieril | -29/+3 | |
| 2024-01-15 | Make all the empty pattern decisions in `usefulness` | Nadrieril | -1/+1 | |
| 2024-01-11 | Only lint ranges that really overlap | Nadrieril | -85/+2 | |
| 2024-01-11 | Factor out collection of overlapping ranges | Nadrieril | -29/+49 | |
| 2024-01-11 | Auto merge of #119837 - matthiaskrgr:rollup-l2olpad, r=matthiaskrgr | bors | -15/+21 | |
| Rollup of 11 pull requests Successful merges: - #115046 (Use version-sorting for all sorting) - #118915 (Add some comments, add `can_define_opaque_ty` check to `try_normalize_ty_recur`) - #119006 (Fix is_global special address handling) - #119637 (Pass LLVM error message back to pass wrapper.) - #119715 (Exhaustiveness: abort on type error) - #119763 (Cleanup things in and around `Diagnostic`) - #119788 (change function name in comments) - #119790 (Fix all_trait* methods to return all traits available in StableMIR) - #119803 (Silence some follow-up errors [1/x]) - #119804 (Stabilize mutex_unpoison feature) - #119832 (Meta: Add project const traits to triagebot config) r? `@ghost` `@rustbot` modify labels: rollup | ||||
| 2024-01-09 | Document the new `expand_and_push` method | Nadrieril | -3/+5 | |
| 2024-01-07 | Abort analysis on type error | Nadrieril | -4/+8 | |
| 2024-01-07 | Add an error path to the algorithm | Nadrieril | -11/+13 | |
| 2024-01-07 | We only need the arity of the subtype list now | Nadrieril | -2/+1 | |
| 2024-01-07 | Use special enum to represent algorithm-generated wildcards in the matrix | Nadrieril | -8/+9 | |
| 2024-01-07 | Remove incorrect `assert` | Nadrieril | -6/+0 | |
| It's incorrect because `CtorSet::split` returns a non-present constructor into `present` in one specific case: variable-length slices of an empty type. That's because empty constructors of arity 0 break the algorithm. This is a tricky corner case that's hard to do cleanly. The assert wasn't adding much anyway. | ||||
| 2024-01-07 | Factor out pushing onto `PatternColumn` | Nadrieril | -12/+12 | |
| 2024-01-06 | Reuse `ctor_sub_tys` when we have one around | Nadrieril | -1/+2 | |
| 2024-01-06 | Auto merge of #119329 - Nadrieril:reveal-opaques-early, r=compiler-errors | bors | -15/+8 | |
| Exhaustiveness: Statically enforce revealing of opaques In https://github.com/rust-lang/rust/pull/116821 it was decided that exhaustiveness should operate on the hidden type of an opaque type when relevant. This PR makes sure we consistently reveal opaques within exhaustiveness. This makes it possible to remove `reveal_opaque_ty` from the `TypeCx` trait which was an unfortunate implementation detail. r? `@compiler-errors` | ||||
| 2024-01-03 | Rename some `Diagnostic` setters. | Nicholas Nethercote | -1/+1 | |
| `Diagnostic` has 40 methods that return `&mut Self` and could be considered setters. Four of them have a `set_` prefix. This doesn't seem necessary for a type that implements the builder pattern. This commit removes the `set_` prefixes on those four methods. | ||||
| 2024-01-01 | Statically enforce revealing of opaques | Nadrieril | -15/+8 | |
| 2023-12-26 | Keep reference to the original `Pat` in `DeconstructedPat` | Nadrieril | -2/+2 | |
| 2023-12-26 | Rollup merge of #119307 - compiler-errors:pat-lifetimes, r=Nadrieril | Michael Goulet | -10/+10 | |
| Clean up some lifetimes in `rustc_pattern_analysis` This PR removes some redundant lifetimes. I figured out that we were shortening the lifetime of an arena-allocated `&'p DeconstructedPat<'p>` to `'a DeconstructedPat<'p>`, which forced us to carry both lifetimes when we could otherwise carry just one. This PR also removes and elides some unnecessary lifetimes. I also cherry-picked 0292eb9bb9b897f5c0926c6a8530877f67e7cc9b, and then simplified more lifetimes in `MatchVisitor`, which should make #119233 a very simple PR! r? Nadrieril | ||||
| 2023-12-26 | Elide more lifetimes | Michael Goulet | -1/+1 | |
| 2023-12-26 | Yeet some lifetimes | Michael Goulet | -10/+10 | |
| 2023-12-24 | Remove `Session` methods that duplicate `DiagCtxt` methods. | Nicholas Nethercote | -1/+1 | |
| Also add some `dcx` methods to types that wrap `TyCtxt`, for easier access. | ||||
| 2023-12-23 | Clarify the situation with dummy patterns and `PatData` | Nadrieril | -2/+2 | |
| Use an explicit `Option` instead of requiring a `Default` bound | ||||
| 2023-12-20 | Reveal opaque types in exhaustiveness checking | Nadrieril | -15/+7 | |
| 2023-12-15 | s/MatchCx/TypeCx/ | Nadrieril | -1/+1 | |
| 2023-12-15 | Introduce `MatchCtxt` | Nadrieril | -29/+27 | |
| 2023-12-15 | s/PatCtxt/PlaceCtxt/ | Nadrieril | -5/+5 | |
| 2023-12-15 | `pattern_analysis` doesn't need to know what spans are | Nadrieril | -2/+2 | |
| 2023-12-15 | Address review comments | Nadrieril | -6/+3 | |
| 2023-12-15 | s/RustcCtxt/RustcMatchCheckCtxt/ | Nadrieril | -6/+7 | |
| 2023-12-15 | Iron out last rustc-specific details | Nadrieril | -1/+1 | |
| 2023-12-15 | Name rustc-specific things "rustc" | Nadrieril | -9/+8 | |
| 2023-12-15 | Abstract `MatchCheckCtxt` into a trait | Nadrieril | -12/+13 | |
| 2023-12-15 | Disentangle the arena from `MatchCheckCtxt` | Nadrieril | -18/+29 | |
| 2023-12-15 | Remove all matching on `ty.kind()` outside `cx` | Nadrieril | -3/+2 | |
| 2023-12-11 | Fix doc links | Nadrieril | -5/+4 | |
| 2023-12-11 | Move lints to their own module | Nadrieril | -0/+291 | |
