| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2025-01-18 | Consolidate ad-hoc MIR lints into real pass-manager-based MIR lints | Michael Goulet | -261/+0 | |
| 2024-11-19 | unconditional recursion, yeet `TypingEnv::from_param_env` | lcnr | -10/+5 | |
| 2024-11-18 | use `TypingEnv` when no `infcx` is available | lcnr | -4/+9 | |
| the behavior of the type system not only depends on the current assumptions, but also the currentnphase of the compiler. This is mostly necessary as we need to decide whether and how to reveal opaque types. We track this via the `TypingMode`. | ||||
| 2024-09-22 | Reformat using the new identifier sorting from rustfmt | Michael Goulet | -6/+4 | |
| 2024-07-29 | Reformat `use` declarations. | Nicholas Nethercote | -4/+5 | |
| The previous commit updated `rustfmt.toml` appropriately. This commit is the outcome of running `x fmt --all` with the new formatting options. | ||||
| 2024-07-07 | Fix unconditional recursion lint wrt tail calls | Maybe Waffle | -2/+16 | |
| 2024-07-07 | Support tail calls in mir via `TerminatorKind::TailCall` | Maybe Waffle | -0/+2 | |
| 2024-07-02 | Instance::resolve -> Instance::try_resolve, and other nits | Michael Goulet | -1/+1 | |
| 2024-02-24 | Change InlineAsm to allow multiple targets instead | Gary Guo | -3/+4 | |
| 2024-02-16 | Fix an ICE in the recursion lint | Oli Scherer | -1/+3 | |
| 2024-02-08 | Avoid ICE in drop recursion check in case of invalid drop impls | Oli Scherer | -6/+5 | |
| 2024-01-23 | Rename `TyCtxt::emit_spanned_lint` as `TyCtxt::emit_node_span_lint`. | Nicholas Nethercote | -1/+1 | |
| 2023-11-26 | rustc: `hir().local_def_id_to_hir_id()` -> `tcx.local_def_id_to_hir_id()` ↵ | Vadim Petrochenkov | -1/+1 | |
| cleanup | ||||
| 2023-10-20 | s/Generator/Coroutine/ | Oli Scherer | -1/+1 | |
| 2023-10-13 | Format all the let chains in compiler | Michael Goulet | -8/+13 | |
| 2023-08-24 | when terminating during unwinding, show the reason why | Ralf Jung | -1/+1 | |
| 2023-08-20 | give some unwind-related terminators a more clear name | Ralf Jung | -2/+2 | |
| 2023-07-22 | Make `unconditional_recursion` warning detect recursive drops | Martin Nordholts | -18/+90 | |
| 2023-07-20 | Add is_recursive_terminator() helper for `unconditional_recursion` lint | Martin Nordholts | -10/+13 | |
| 2023-07-20 | Avoid unneeded `terminator()` call in `fn ignore_edge()` | Martin Nordholts | -3/+3 | |
| 2023-07-14 | refactor(rustc_middle): Substs -> GenericArg | Mahdi Dibaiee | -16/+16 | |
| 2023-04-06 | Rename `Abort` terminator to `Terminate` | Gary Guo | -1/+1 | |
| Unify terminology used in unwind action and terminator, and reflect the fact that a nounwind panic is triggered instead of an immediate abort is triggered for this terminator. | ||||
| 2023-04-06 | Refactor unwind from Option to a new enum | Gary Guo | -2/+4 | |
| 2023-03-21 | IdentitySubsts::identity_for_item takes Into<DefId> | Michael Goulet | -1/+1 | |
| 2023-03-07 | Remove DropAndReplace terminator | Giacomo Pasini | -1/+0 | |
| PR 107844 made DropAndReplace unused, let's remove it completely from the codebase. | ||||
| 2023-01-17 | Stop using `BREAK` & `CONTINUE` in compiler | Scott McMurray | -3/+3 | |
| Switching them to `Break(())` and `Continue(())` instead. libs-api would like to remove these constants, so stop using them in compiler to make the removal PR later smaller. | ||||
| 2023-01-17 | Remove double spaces after dots in comments | Maybe Waffle | -1/+1 | |
| 2022-12-17 | Migrate "unsafe_op_in_unsafe_fn" lints | TheOddGarlic | -4/+6 | |
| 2022-12-17 | Migrate "function cannot return without recursing" diagnostic | TheOddGarlic | -14/+5 | |
| 2022-10-01 | Refactor rustc lint API | Maybe Waffle | -10/+14 | |
| 2022-08-01 | Remove trait_of_item query. | Camille GILLOT | -1/+1 | |
| 2022-08-01 | Remove DefId from AssocItemContainer. | Camille GILLOT | -6/+4 | |
| 2022-07-29 | Use DefKind instead of FnKind for recursion lint. | Camille GILLOT | -7/+2 | |
| 2022-07-28 | Remove guess_head_span. | Camille GILLOT | -1/+1 | |
| 2022-07-07 | Make MIR basic blocks field public | Tomasz Miąsko | -3/+5 | |
| This makes it possible to mutably borrow different fields of the MIR body without resorting to methods like `basic_blocks_local_decls_mut_and_var_debug_info`. To preserve validity of control flow graph caches in the presence of modifications, a new struct `BasicBlocks` wraps together basic blocks and control flow graph caches. The `BasicBlocks` dereferences to `IndexVec<BasicBlock, BasicBlockData>`. On the other hand a mutable access requires explicit `as_mut()` call. | ||||
| 2022-05-20 | Remove `crate` visibility usage in compiler | Jacob Pratt | -1/+1 | |
| 2022-01-29 | Check the number of arguments first in `is_recursive_call` | Tomasz Miąsko | -4/+10 | |
| 2022-01-26 | Ignore unwinding edges when checking for unconditional recursion | Tomasz Miąsko | -4/+8 | |
| The unconditional recursion lint determines if all execution paths eventually lead to a self-recursive call. The implementation always follows unwinding edges which limits its practical utility. For example, it would not lint function `f` because a call to `g` might unwind. It also wouldn't lint function `h` because an overflow check preceding the self-recursive call might unwind: ```rust pub fn f() { g(); f(); } pub fn g() { /* ... */ } pub fn h(a: usize) { h(a + 1); } ``` To avoid the issue, assume that terminators that might continue execution along non-unwinding edges do so. | ||||
| 2022-01-15 | Reduce use of local_def_id_to_hir_id. | Camille GILLOT | -2/+1 | |
| 2021-10-19 | Replace FnLikeNode by FnKind. | Camille GILLOT | -3/+2 | |
| 2021-03-09 | Do not store attrs in FnKind. | Camille GILLOT | -1/+1 | |
| 2020-10-22 | Don't re-export std::ops::ControlFlow in the compiler. | Leonora Tindall | -1/+2 | |
| 2020-10-21 | Fix formatting | bishtpawan | -6/+7 | |
| 2020-10-20 | Fix build failure of rustfmt | bishtpawan | -2/+3 | |
| 2020-10-04 | Replace `(Body, DefId)` with `Body` where possible | Dylan MacKenzie | -12/+11 | |
| A `Body` now contains its `MirSource`, which in turn contains the `DefId` of the item associated with the `Body`. | ||||
| 2020-09-07 | Rollup merge of #76318 - scottmcm:one-control-flow, r=ecstatic-morse | Dylan DPC | -3/+3 | |
| Use ops::ControlFlow in rustc_data_structures::graph::iterate Since I only know about this because you mentioned it, r? @ecstatic-morse If we're not supposed to use new `core` things in compiler for a while then feel free to close, but it felt reasonable to merge the two types since they're the same, and it might be convenient for people to use `?` in their traversal code. (This doesn't do the type parameter swap; NoraCodes has signed up to do that one.) | ||||
| 2020-09-04 | Change ty.kind to a method | LeSeulArtichaut | -1/+1 | |
| 2020-09-04 | Use ops::ControlFlow in graph::iterate | Scott McMurray | -3/+3 | |
| 2020-08-30 | mv compiler to compiler/ | mark | -0/+161 | |
