| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2023-12-23 | Give `DiagnosticBuilder` a default type. | Nicholas Nethercote | -2/+2 | |
| `IntoDiagnostic` defaults to `ErrorGuaranteed`, because errors are the most common diagnostic level. It makes sense to do likewise for the closely-related (and much more widely used) `DiagnosticBuilder` type, letting us write `DiagnosticBuilder<'a, ErrorGuaranteed>` as just `DiagnosticBuilder<'a>`. This cuts over 200 lines of code due to many multi-line things becoming single line things. | ||||
| 2023-12-20 | Give `VariantData::Struct` named fields, to clairfy `recovered`. | Alona Enraght-Moony | -1/+1 | |
| 2023-12-18 | Rename `Session::span_diagnostic` as `Session::dcx`. | Nicholas Nethercote | -1/+1 | |
| 2023-12-15 | Annotate some bugs | Michael Goulet | -2/+2 | |
| 2023-12-12 | Move some methods from `tcx.hir()` to `tcx` | zetanumbers | -7/+6 | |
| Renamings: - find -> opt_hir_node - get -> hir_node - find_by_def_id -> opt_hir_node_by_def_id - get_by_def_id -> hir_node_by_def_id Fix rebase changes using removed methods Use `tcx.hir_node_by_def_id()` whenever possible in compiler Fix clippy errors Fix compiler Apply suggestions from code review Co-authored-by: Vadim Petrochenkov <vadim.petrochenkov@gmail.com> Add FIXME for `tcx.hir()` returned type about its removal Simplify with with `tcx.hir_node_by_def_id` | ||||
| 2023-12-05 | Remove `#[rustc_host]`, use internal desugaring | Deadbeef | -1/+1 | |
| 2023-11-26 | rustc: `hir().local_def_id_to_hir_id()` -> `tcx.local_def_id_to_hir_id()` ↵ | Vadim Petrochenkov | -5/+5 | |
| cleanup | ||||
| 2023-11-21 | Fix `clippy::needless_borrow` in the compiler | Nilstrieb | -3/+3 | |
| `x clippy compiler -Aclippy::all -Wclippy::needless_borrow --fix`. Then I had to remove a few unnecessary parens and muts that were exposed now. | ||||
| 2023-11-17 | rename bound region instantiation | lcnr | -1/+1 | |
| - `erase_late_bound_regions` -> `instantiate_bound_regions_with_erased` - `replace_late_bound_regions_X` -> `instantiate_bound_regions_X` | ||||
| 2023-11-14 | finish `RegionKind` rename | lcnr | -1/+1 | |
| - `ReFree` -> `ReLateParam` - `ReEarlyBound` -> `ReEarlyParam` | ||||
| 2023-10-23 | Let's see what those opaque types actually are | Michael Goulet | -4/+6 | |
| 2023-10-20 | s/generator/coroutine/ | Oli Scherer | -3/+3 | |
| 2023-10-20 | s/Generator/Coroutine/ | Oli Scherer | -1/+1 | |
| 2023-10-13 | Format all the let chains in compiler | Michael Goulet | -13/+18 | |
| 2023-09-28 | don't clone copy types | Matthias Krüger | -1/+1 | |
| 2023-09-26 | Don't store lazyness in DefKind | Michael Goulet | -0/+1 | |
| 2023-08-30 | rustc_layout_scalar_valid_range makes ctors unsafe | Michael Goulet | -8/+9 | |
| 2023-08-27 | More precisely detect cycle errors from type_of on opaque | Michael Goulet | -0/+1 | |
| 2023-08-14 | Use `{Local}ModDefId` in many queries | Nilstrieb | -2/+2 | |
| 2023-08-07 | Fix ICE | Deadbeef | -17/+48 | |
| 2023-08-06 | lower impl const to bind to host effect param | Deadbeef | -27/+18 | |
| 2023-07-25 | inline format!() args from rustc_codegen_llvm to the end (4) | Matthias Krüger | -9/+7 | |
| r? @WaffleLapkin | ||||
| 2023-07-14 | refactor(rustc_middle): Substs -> GenericArg | Mahdi Dibaiee | -20/+17 | |
| 2023-07-12 | Re-format let-else per rustfmt update | Mark Rousskov | -3/+9 | |
| 2023-07-05 | Move `TyCtxt::mk_x` to `Ty::new_x` where applicable | Boxy | -8/+9 | |
| 2023-07-04 | Replace `const_error` methods with `Const::new_error` | Boxy | -1/+1 | |
| 2023-07-01 | Auto merge of #113154 - lcnr:better-probe-check, r=compiler-errors | bors | -1/+1 | |
| change snapshot tracking in fulfillment contexts use the exact snapshot number to prevent misuse even when created inside of a snapshot | ||||
| 2023-06-29 | change snapshot tracking in fulfillment contexts | lcnr | -1/+1 | |
| 2023-06-20 | Auto merge of #112320 - compiler-errors:do-not-impl-via-obj, r=lcnr | bors | -0/+46 | |
| Add `implement_via_object` to `rustc_deny_explicit_impl` to control object candidate assembly Some built-in traits are special, since they are used to prove facts about the program that are important for later phases of compilation such as codegen and CTFE. For example, the `Unsize` trait is used to assert to the compiler that we are able to unsize a type into another type. It doesn't have any methods because it doesn't actually *instruct* the compiler how to do this unsizing, but this is later used (alongside an exhaustive match of combinations of unsizeable types) during codegen to generate unsize coercion code. Due to this, these built-in traits are incompatible with the type erasure provided by object types. For example, the existence of `dyn Unsize<T>` does not mean that the compiler is able to unsize `Box<dyn Unsize<T>>` into `Box<T>`, since `Unsize` is a *witness* to the fact that a type can be unsized, and it doesn't actually encode that unsizing operation in its vtable as mentioned above. The old trait solver gets around this fact by having complex control flow that never considers object bounds for certain built-in traits: https://github.com/rust-lang/rust/blob/2f896da247e0ee8f0bef7cd7c54cfbea255b9f68/compiler/rustc_trait_selection/src/traits/select/candidate_assembly.rs#L61-L132 However, candidate assembly in the new solver is much more lovely, and I'd hate to add this list of opt-out cases into the new solver. Instead of maintaining this complex and hard-coded control flow, instead we can make this a property of the trait via a built-in attribute. We already have such a build attribute that's applied to every single trait that we care about: `rustc_deny_explicit_impl`. This PR adds `implement_via_object` as a meta-item to that attribute that allows us to opt a trait out of object-bound candidate assembly as well. r? `@lcnr` | ||||
| 2023-06-20 | Merge attrs, better validation | Michael Goulet | -2/+44 | |
| 2023-06-20 | Make rustc_deny_explicit_impl only local as well | Michael Goulet | -1/+3 | |
| 2023-06-20 | Add rustc_do_not_implement_via_object | Michael Goulet | -0/+2 | |
| 2023-06-11 | properly check associated consts for infer placeholders | Michael Goulet | -11/+16 | |
| 2023-06-01 | Rename `impl_defaultness` to `defaultness` | Deadbeef | -1/+1 | |
| 2023-05-30 | Rollup merge of #112060 - lcnr:early-binder, r=jackh726 | Nilstrieb | -2/+2 | |
| `EarlyBinder::new` -> `EarlyBinder::bind` for consistency with `Binder::bind`. it may make sense to also add `EarlyBinder::dummy` in places where we know that no parameters exist, but I left that out of this PR. r? `@jackh726` `@kylematsuda` | ||||
| 2023-05-29 | Rename `tcx.mk_re_*` => `Region::new_*` | Maybe Waffle | -1/+1 | |
| 2023-05-29 | EarlyBinder::new -> EarlyBinder::bind | lcnr | -2/+2 | |
| 2023-05-28 | Replace EarlyBinder(x) with EarlyBinder::new(x) | Kyle Matsuda | -2/+2 | |
| 2023-05-24 | Use `Option::is_some_and` and `Result::is_ok_and` in the compiler | Maybe Waffle | -2/+2 | |
| 2023-05-17 | Retire is_foreign_item query. | Camille GILLOT | -5/+0 | |
| 2023-05-15 | Move expansion of query macros in rustc_middle to rustc_middle::query | John Kåre Alsaker | -1/+1 | |
| 2023-05-12 | Require `impl Trait` in associated types to appear in method signatures | Oli Scherer | -1/+1 | |
| 2023-05-03 | Rename things to reflect that they're not item specific | Michael Goulet | -2/+2 | |
| 2023-04-26 | Make some region folders a little stricter. | Nicholas Nethercote | -2/+4 | |
| Because certain regions cannot occur in them. | ||||
| 2023-04-22 | Don't infer fn return type to return itself | Michael Goulet | -11/+20 | |
| 2023-04-20 | Remove opt_const_param_of. | Camille GILLOT | -1/+0 | |
| 2023-04-16 | use matches! macro in more places | Matthias Krüger | -4/+1 | |
| 2023-04-11 | Split implied and super predicate queries | Michael Goulet | -3/+4 | |
| 2023-04-11 | Split super_predicates_that_define_assoc_type query from super_predicates_of | Michael Goulet | -2/+3 | |
| 2023-04-08 | Migrate `rustc_hir_analysis` to session diagnostic | Obei Sideg | -110/+55 | |
| Part 3: Finishing `collect.rs` file | ||||
