| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2025-01-28 | Properly check that array length is valid type during built-in unsizing in index | Michael Goulet | -0/+3 | |
| 2025-01-21 | remove support for the #[start] attribute | Ralf Jung | -3/+0 | |
| 2025-01-06 | Add derived causes for host effect predicates | Michael Goulet | -17/+72 | |
| 2025-01-02 | Remove unused fields from RepeatElementCopy obligation | Taylor Cramer | -4/+4 | |
| 2024-12-18 | Re-export more `rustc_span::symbol` things from `rustc_span`. | Nicholas Nethercote | -3/+2 | |
| `rustc_span::symbol` defines some things that are re-exported from `rustc_span`, such as `Symbol` and `sym`. But it doesn't re-export some closely related things such as `Ident` and `kw`. So you can do `use rustc_span::{Symbol, sym}` but you have to do `use rustc_span::symbol::{Ident, kw}`, which is inconsistent for no good reason. This commit re-exports `Ident`, `kw`, and `MacroRulesNormalizedIdent`, and changes many `rustc_span::symbol::` qualifiers in `compiler/` to `rustc_span::`. This is a 200+ net line of code reduction, mostly because many files with two `use rustc_span` items can be reduced to one. | ||||
| 2024-12-13 | Suggest using deref in patterns | uellenberg | -2/+21 | |
| Fixes #132784 | ||||
| 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-12-01 | Adjust HostEffect error spans correctly to point at args | Michael Goulet | -0/+4 | |
| 2024-11-23 | global old solver cache: use `TypingEnv` | lcnr | -16/+6 | |
| 2024-11-23 | no more Reveal :( | lcnr | -1/+1 | |
| 2024-11-08 | Manually register some bounds for a better span | Michael Goulet | -0/+5 | |
| 2024-10-27 | Remove ObligationCause::span() method | Michael Goulet | -12/+7 | |
| 2024-10-27 | Stop using the whole match expr span for an arm's obligation span | Michael Goulet | -0/+2 | |
| 2024-10-23 | nightly feature tracking: get rid of the per-feature bool fields | Ralf Jung | -1/+1 | |
| 2024-10-20 | Rip out old effects var handling code from traits | Michael Goulet | -6/+1 | |
| 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-10-12 | Swap PredicateObligation to ThinVec | GnomedDev | -4/+5 | |
| 2024-09-25 | Compiler: Rename "object safe" to "dyn compatible" | León Orell Valerian Liehr | -49/+55 | |
| 2024-09-22 | Reformat using the new identifier sorting from rustfmt | Michael Goulet | -4/+4 | |
| 2024-08-08 | Detect `*` operator on `!Sized` expression | Esteban Küber | -1/+1 | |
| ``` error[E0277]: the size for values of type `str` cannot be known at compilation time --> $DIR/unsized-str-in-return-expr-arg-and-local.rs:15:9 | LL | let x = *""; | ^ doesn't have a size known at compile-time | = help: the trait `Sized` is not implemented for `str` = note: all local variables must have a statically known size = help: unsized locals are gated as an unstable feature help: references are always `Sized`, even if they point to unsized data; consider not dereferencing the expression | LL - let x = *""; LL + let x = ""; | ``` | ||||
| 2024-07-29 | Reformat `use` declarations. | Nicholas Nethercote | -27/+26 | |
| The previous commit updated `rustfmt.toml` appropriately. This commit is the outcome of running `x fmt --all` with the new formatting options. | ||||
| 2024-07-12 | enable fuzzing of `SearchGraph` | lcnr | -125/+0 | |
| fully move it into `rustc_type_ir` and make it independent of `Interner`. | ||||
| 2024-07-07 | Get rid of the redundant elaboration in middle | Michael Goulet | -63/+0 | |
| 2024-06-27 | Make queries more explicit | Michael Goulet | -1/+1 | |
| 2024-06-21 | Rename a bunch of things | Michael Goulet | -12/+10 | |
| 2024-06-18 | Uplift PredefinedOpaquesData | Michael Goulet | -9/+3 | |
| 2024-06-18 | Make SearchGraph fully generic | Michael Goulet | -18/+12 | |
| 2024-06-16 | Uplift ExternalConstraintData | Michael Goulet | -24/+5 | |
| 2024-06-16 | Make ExternalConstraints just carry outlives | Michael Goulet | -2/+1 | |
| 2024-06-16 | Uplift Reveal to rustc_type_ir | Michael Goulet | -48/+1 | |
| 2024-06-13 | Method resolution constrains hidden types instead of rejecting method candidates | Oli Scherer | -1/+1 | |
| 2024-06-12 | Stop passing traitref/traitpredicate by ref | Michael Goulet | -1/+1 | |
| 2024-06-06 | Uplift TypeError | Michael Goulet | -7/+0 | |
| 2024-06-06 | Make middle not rely on next_trait_solver | Michael Goulet | -4/+4 | |
| 2024-06-05 | Fully implement `ConstArgHasType` | Boxy | -0/+2 | |
| 2024-05-24 | remove proof tree formatter, make em shallow | lcnr | -3/+3 | |
| 2024-05-20 | move global cache lookup into fn | lcnr | -16/+18 | |
| 2024-05-18 | Uplift inspect into rustc_type_ir | Michael Goulet | -516/+14 | |
| 2024-05-18 | Uplift GenericArgKind, CanonicalVarValues, QueryInput | Michael Goulet | -31/+5 | |
| and make NestedGoals generic | ||||
| 2024-05-16 | Uplift Goal to rustc_type_ir | Michael Goulet | -27/+2 | |
| 2024-05-16 | Rename ToPredicate for Upcast | Michael Goulet | -8/+8 | |
| 2024-05-13 | Use a proper probe for shadowing impl | Michael Goulet | -0/+5 | |
| 2024-05-11 | Consolidate obligation cause codes for where clauses | Michael Goulet | -16/+9 | |
| 2024-05-10 | Name tweaks | Michael Goulet | -7/+7 | |
| 2024-05-10 | More rename fallout | Michael Goulet | -18/+19 | |
| 2024-05-10 | Rename some ObligationCauseCode variants | Michael Goulet | -27/+20 | |
| 2024-05-10 | Remove glob imports for ObligationCauseCode | Michael Goulet | -11/+12 | |
