| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2025-09-26 | allow method calls on opaques | lcnr | -0/+1 | |
| 2025-09-26 | predefined opaques to `method_autoderef_steps` | lcnr | -1/+11 | |
| 2025-04-24 | Remove `weak` alias terminology | Boxy | -1/+1 | |
| 2025-02-20 | Remove unused items from `query.rs`. | Nicholas Nethercote | -6/+0 | |
| 2025-02-11 | Deeply normalize signature in new solver | Michael Goulet | -0/+3 | |
| 2025-02-11 | Make DeeplyNormalize a real type op | Michael Goulet | -0/+7 | |
| 2025-02-04 | Two minor `use` fixups. | Nicholas Nethercote | -2/+1 | |
| I *think* this addresses what the `FIXME` comments are asking for. | ||||
| 2024-12-11 | Arbitrary self types v2: use Receiver trait | Adrian Taylor | -1/+11 | |
| In this new version of Arbitrary Self Types, we no longer use the Deref trait exclusively when working out which self types are valid. Instead, we follow a chain of Receiver traits. This enables methods to be called on smart pointer types which fundamentally cannot support Deref (for instance because they are wrappers for pointers that don't follow Rust's aliasing rules). This includes: * Changes to tests appropriately * New tests for: * The basics of the feature * Ensuring lifetime elision works properly * Generic Receivers * A copy of the method subst test enhanced with Receiver This is really the heart of the 'arbitrary self types v2' feature, and is the most critical commit in the current PR. Subsequent commits are focused on: * Detecting "shadowing" problems, where a smart pointer type can hide methods in the pointee. * Diagnostics and cleanup. Naming: in this commit, the "Autoderef" type is modified so that it no longer solely focuses on the "Deref" trait, but can now consider the "Receiver" trait instead. Should it be renamed, to something like "TraitFollower"? This was considered, but rejected, because * even in the Receiver case, it still considers built-in derefs * the name Autoderef is short and snappy. | ||||
| 2024-10-17 | move `defining_opaque_types` out of `Canonical` | lcnr | -11/+14 | |
| 2024-10-17 | `DropckOutlives` to `rustc_middle` | lcnr | -0/+8 | |
| 2024-10-17 | remove type_op constructors | lcnr | -25/+1 | |
| 2024-10-17 | `ImpliedOutlivesBounds` to `rustc_middle` | lcnr | -0/+8 | |
| 2024-07-29 | Reformat `use` declarations. | Nicholas Nethercote | -6/+8 | |
| The previous commit updated `rustfmt.toml` appropriately. This commit is the outcome of running `x fmt --all` with the new formatting options. | ||||
| 2024-06-13 | Method resolution constrains hidden types instead of rejecting method candidates | Oli Scherer | -1/+1 | |
| 2024-06-06 | Uplift TypeError | Michael Goulet | -7/+0 | |
| 2024-06-06 | Make middle not rely on next_trait_solver | Michael Goulet | -1/+1 | |
| 2024-05-18 | Uplift inspect into rustc_type_ir | Michael Goulet | -3/+2 | |
| 2024-04-29 | Remove `extern crate rustc_macros` from `rustc_middle`. | Nicholas Nethercote | -0/+2 | |
| 2024-02-20 | Rename some normalization-related items | León Orell Valerian Liehr | -3/+3 | |
| 2024-01-17 | Correctly handle normalization in implied bounds | Ali MJ Al-Nasrawy | -1/+1 | |
| Special-case Bevy dependents to not error | ||||
| 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-11-23 | remove unused pub fn | klensy | -11/+0 | |
| 2023-11-02 | Minimize `pub` usage in `source_map.rs`. | Nicholas Nethercote | -1/+1 | |
| Most notably, this commit changes the `pub use crate::*;` in that file to `use crate::*;`. This requires a lot of `use` items in other crates to be adjusted, because everything defined within `rustc_span::*` was also available via `rustc_span::source_map::*`, which is bizarre. The commit also removes `SourceMap::span_to_relative_line_string`, which is unused. | ||||
| 2023-09-18 | Remove unused `Lift` derives. | Nicholas Nethercote | -13/+8 | |
| I found these by commenting out all `Lift` derives and then adding back the ones that were necessary to successfully compile. | ||||
| 2023-07-14 | refactor(rustc_middle): Substs -> GenericArg | Mahdi Dibaiee | -2/+2 | |
| 2023-06-19 | initial info dump | Boxy | -1/+1 | |
| 2023-05-25 | Fallible<_> -> Result<_, NoSolution> | Michael Goulet | -2/+0 | |
| 2023-02-22 | Remove type-traversal trait aliases | Alan Egerton | -2/+2 | |
| 2023-01-19 | even more unify Projection/Opaque in outlives code | Ali MJ Al-Nasrawy | -1/+1 | |
| 2023-01-13 | Unify Opaque/Projection handling in region outlives code | Michael Goulet | -4/+2 | |
| 2023-01-07 | make ascribe_user_type a TypeOp | Ali MJ Al-Nasrawy | -7/+4 | |
| Projection types in user annotations may contain inference variables. This makes the normalization depend on the unification with the actual type and thus requires a separate TypeOp to track the obligations. Otherwise simply calling `TypeChecker::normalize` would ICE with "unexpected ambiguity" | ||||
| 2022-12-19 | implement the skeleton of the updated trait solver | lcnr | -1/+1 | |
| 2022-12-13 | squash OpaqueTy and ProjectionTy into AliasTy | Michael Goulet | -3/+2 | |
| 2022-12-10 | compiler: remove unnecessary imports and qualified paths | KaDiWa | -1/+0 | |
| 2022-09-21 | Neither require nor imply lifetime bounds on opaque type for well formedness | Oli Scherer | -1/+3 | |
| 2022-09-05 | fix comment | 111 | -2/+1 | |
| 2022-09-01 | Migrate DropCheckOverflow | 111 | -10/+3 | |
| 2022-07-29 | remove some manual hash stable impls | lcnr | -25/+1 | |
| 2022-07-05 | Add #[derive(TypeVisitable)] | Alan Egerton | -8/+13 | |
| 2022-03-24 | Swap DtorckConstraint to DropckConstraint | InfRandomness | -7/+7 | |
| This change was made as per suspicion that this struct was never renamed after consistent use of DropCk. This also clarifies the meaning behind the name of this structure. | ||||
| 2022-02-09 | Ensure that queries only return Copy types. | Camille GILLOT | -5/+4 | |
| 2021-10-03 | Remove re-export. | Camille GILLOT | -1/+1 | |
| 2021-04-08 | Fix outdated crate names in compiler docs | pierwill | -1/+1 | |
| Changes `librustc_X` to `rustc_X`, only in documentation comments. Plain code comments are left unchanged. Also fix incorrect file paths. | ||||
| 2021-03-27 | Remove (lots of) dead code | Joshua Nelson | -12/+0 | |
| Found with https://github.com/est31/warnalyzer. Dubious changes: - Is anyone else using rustc_apfloat? I feel weird completely deleting x87 support. - Maybe some of the dead code in rustc_data_structures, in case someone wants to use it in the future? - Don't change rustc_serialize I plan to scrap most of the json module in the near future (see https://github.com/rust-lang/compiler-team/issues/418) and fixing the tests needed more work than I expected. TODO: check if any of the comments on the deleted code should be kept. | ||||
| 2020-09-04 | Remove unused duplicated `trivial_dropck_outlives` | Jonas Schievink | -68/+0 | |
| 2020-09-04 | Change ty.kind to a method | LeSeulArtichaut | -1/+1 | |
| 2020-08-30 | mv compiler to compiler/ | mark | -0/+330 | |
