| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2023-12-10 | Revert "Don't print host effect param in pretty path_generic_args" | Deadbeef | -1/+0 | |
| This reverts commit f1bf874fb13703d706fc8184407c6df12555d8e9. | ||||
| 2023-12-09 | Don't print host effect param in pretty path_generic_args | Michael Goulet | -0/+1 | |
| 2023-10-31 | Turn const_caller_location from a query to a hook | Oli Scherer | -5/+8 | |
| 2023-10-28 | interpret: call caller_location logic the same way codegen does, and share ↵ | Ralf Jung | -0/+64 | |
| some code | ||||
| 2023-10-21 | Make `ty::print::Printer` take `&mut self` instead of `self` | Nilstrieb | -37/+39 | |
| This simplifies the code by removing all the `self` assignments and makes the flow of data clearer - always into the printer. Especially in v0 mangling, which already used `&mut self` in some places, it gets a lot more uniform. | ||||
| 2023-10-20 | s/Generator/Coroutine/ | Oli Scherer | -2/+2 | |
| 2023-10-17 | Remove `Print::Error` | Nilstrieb | -1/+1 | |
| All printing goes through `fmt::Error` now. | ||||
| 2023-10-17 | Remove `Printer::Error` | Nilstrieb | -19/+17 | |
| It's always a `fmt::Error` except in some cases where it was `!`, but we're not really winning anything in that case. | ||||
| 2023-10-17 | Remove `Print::Output` | Nilstrieb | -1/+1 | |
| Now that `Printer` doesn't have subprinters anymore, the output of a printing operation is always the same. | ||||
| 2023-10-17 | Remove "subprinter" types from `Printer` | Nilstrieb | -18/+12 | |
| These are `Self` in almost all printers except one, which can just store the state as a field instead. This simplifies the printer and allows for further simplifications, for example using `&mut self` instead of passing around the printer. | ||||
| 2023-10-07 | Auto merge of #115583 - RalfJung:packed-unsized, r=lcnr | bors | -1/+9 | |
| fix detecting references to packed unsized fields Fixes https://github.com/rust-lang/rust/issues/115396 This is a breaking change, but permitted as a soundness fix. | ||||
| 2023-10-02 | have better explanation for `relate_types` | ouz-a | -3/+3 | |
| 2023-10-02 | change is_subtype to relate_types | ouz-a | -5/+11 | |
| 2023-09-23 | Remove GeneratorWitness and rename GeneratorWitnessMIR. | Camille GILLOT | -2/+1 | |
| 2023-09-06 | still accept references to u8 slices and str in packed fields | Ralf Jung | -2/+8 | |
| 2023-09-05 | fix detecting references to packed unsized fields | Ralf Jung | -1/+3 | |
| 2023-09-04 | interpret: make MemPlace, Place, Operand types private to the interpreter | Ralf Jung | -1/+1 | |
| 2023-08-24 | MIR validation: reject in-place argument/return for packed fields | Ralf Jung | -2/+3 | |
| 2023-07-27 | Turns out opaque types can have hidden types registered during mir validation | Oli Scherer | -6/+9 | |
| 2023-07-21 | Double check that hidden types match the expected hidden type | Oli Scherer | -3/+8 | |
| 2023-07-14 | refactor(rustc_middle): Substs -> GenericArg | Mahdi Dibaiee | -7/+6 | |
| 2023-07-01 | Put `LayoutError` behind reference to shrink result | Nilstrieb | -3/+3 | |
| `LayoutError` is 24 bytes, which is bigger than the `Ok` types, so let's shrink that. | ||||
| 2023-06-24 | Add enum for `can_access_statics` boolean | Nilstrieb | -3/+2 | |
| `/*can_access_statics:*/ false` is one of the ways to do this, but not the one I like. | ||||
| 2023-06-19 | Dedup some type checks in the MIR validator | Scott McMurray | -0/+26 | |
| 2023-06-16 | Add `AliasKind::Weak` for type aliases. | Oli Scherer | -0/+1 | |
| Only use it when the type alias contains an opaque type. Also does wf-checking on such type aliases. | ||||
| 2023-05-31 | Remove const eval limit and implement an exponential backoff lint instead | Oli Scherer | -6/+2 | |
| 2023-05-25 | Move DefiningAnchor | Michael Goulet | -2/+2 | |
| 2023-05-22 | properly pretty-print inherent projections | León Orell Valerian Liehr | -1/+2 | |
| 2023-04-16 | Move some utils out of `rustc_const_eval` | Nilstrieb | -214/+0 | |
| This allows us to get rid of the `rustc_const_eval->rustc_borrowck` dependency edge which was delaying the compilation of borrowck. The added utils in `rustc_middle` are small and should not affect compile times there. | ||||
| 2023-03-02 | Allow checking whether a type allows being uninitialized | Nilstrieb | -1/+4 | |
| This is useful for clippy and for the future `MaybeUninit::assume_init` panics. | ||||
| 2023-02-27 | Unify all validity check intrinsics | Nilstrieb | -12/+22 | |
| Also merges the inhabitedness check into the query to further unify the code paths. | ||||
| 2023-02-23 | Unify validity checks into a single query | Nilstrieb | -3/+3 | |
| Previously, there were two queries to check whether a type allows the 0x01 or zeroed bitpattern. I am planning on adding a further initness to check, truly uninit for MaybeUninit, which would make this three queries. This seems overkill for such a small feature, so this PR unifies them into one. | ||||
| 2023-02-14 | Make permit_uninit/zero_init fallible | Michael Goulet | -23/+17 | |
| 2023-02-14 | Don't ICE in might_permit_raw_init if reference is polymorphic | Michael Goulet | -2/+7 | |
| 2023-02-02 | Stop deaggegating MIR. | Camille GILLOT | -79/+0 | |
| 2023-01-27 | Introduce GeneratorWitnessMIR. | Camille GILLOT | -0/+1 | |
| 2023-01-26 | add method_substs to CallKind | Kyle Matsuda | -1/+2 | |
| 2023-01-23 | Thread a ParamEnv down to might_permit_raw_init | Ben Kimock | -1/+2 | |
| 2023-01-09 | Assert defining anchor is set in take_opaque_types | Michael Goulet | -1/+1 | |
| 2022-12-15 | Make alignment checks a future incompat lint | Oli Scherer | -2/+2 | |
| 2022-12-14 | Ensure no one constructs `AliasTy`s themselves | Oli Scherer | -1/+1 | |
| 2022-12-14 | Auto merge of #104986 - compiler-errors:opaques, r=oli-obk | bors | -2/+1 | |
| Combine `ty::Projection` and `ty::Opaque` into `ty::Alias` Implements https://github.com/rust-lang/types-team/issues/79. This PR consolidates `ty::Projection` and `ty::Opaque` into a single `ty::Alias`, with an `AliasKind` and `AliasTy` type (renamed from `ty::ProjectionTy`, which is the inner data of `ty::Projection`) defined as so: ``` enum AliasKind { Projection, Opaque, } struct AliasTy<'tcx> { def_id: DefId, substs: SubstsRef<'tcx>, } ``` Since we don't have access to `TyCtxt` in type flags computation, and because repeatedly calling `DefKind` on the def-id is expensive, these two types are distinguished with `ty::AliasKind`, conveniently glob-imported into `ty::{Projection, Opaque}`. For example: ```diff match ty.kind() { - ty::Opaque(..) => + ty::Alias(ty::Opaque, ..) => {} _ => {} } ``` This PR also consolidates match arms that treated `ty::Opaque` and `ty::Projection` identically. r? `@ghost` | ||||
| 2022-12-13 | Combine identical alias arms | Michael Goulet | -2/+1 | |
| 2022-12-13 | Combine projection and opaque into alias | Michael Goulet | -2/+2 | |
| 2022-12-13 | squash OpaqueTy and ProjectionTy into AliasTy | Michael Goulet | -2/+2 | |
| 2022-12-13 | ProjectionTy.item_def_id -> ProjectionTy.def_id | Michael Goulet | -1/+1 | |
| 2022-12-13 | Use ty::OpaqueTy everywhere | Michael Goulet | -1/+1 | |
| 2022-12-13 | Clarify what "this" means | Oli Scherer | -15/+3 | |
| 2022-12-10 | compiler: remove unnecessary imports and qualified paths | KaDiWa | -1/+0 | |
| 2022-11-28 | Make ObligationCtxt::normalize take cause by borrow | Michael Goulet | -2/+2 | |
