| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2024-03-02 | Rollup merge of #121731 - oli-obk:eager_opaque_checks, r=compiler-errors | Guillaume Boisseau | -22/+3 | |
| Now that inlining, mir validation and const eval all use reveal-all, we won't be constraining hidden types here anymore r? `@compiler-errors` one bubble down, two more to go the test is unrelated, just something I noticed would be good to test in both the old solver and the new. | ||||
| 2024-02-28 | Now that inlining, mir validation and const eval all use reveal-all, we ↵ | Oli Scherer | -22/+3 | |
| won't be constraining hidden types here anymore | ||||
| 2024-02-27 | Split rustc_type_ir to avoid rustc_ast from depending on it | Oli Scherer | -2/+1 | |
| 2024-02-21 | make it possible for outside crates to inspect a mir::ConstValue with the ↵ | Ralf Jung | -2/+7 | |
| interpreter | ||||
| 2024-02-10 | unstably allow constants to refer to statics and read from immutable statics | Ralf Jung | -4/+4 | |
| 2024-02-06 | Add CoroutineClosure to TyKind, AggregateKind, UpvarArgs | Michael Goulet | -0/+1 | |
| 2024-01-25 | Auto merge of #119627 - oli-obk:const_prop_lint_n̵o̵n̵sense, r=cjgillot | bors | -2/+2 | |
| Remove all ConstPropNonsense We track all locals and projections on them ourselves within the const propagator and only use the InterpCx to actually do some low level operations or read from constants (via `OpTy` we get for said constants). This helps moving the const prop lint out from the normal pipeline and running it just based on borrowck information. This in turn allows us to make progress on https://github.com/rust-lang/rust/pull/108730#issuecomment-1875557745 there are various follow up cleanups that can be done after this PR (e.g. not matching on Rvalue twice and doing binop checks twice), but lets try landing this one first. r? `@RalfJung` | ||||
| 2024-01-23 | partially inline `eval_rvalue_into_place` for const prop lint | Oli Scherer | -2/+2 | |
| 2024-01-22 | const-eval interner: from-scratch rewrite using mutability information from ↵ | Ralf Jung | -0/+1 | |
| provenance rather than types | ||||
| 2023-12-28 | Remove movability from TyKind::Coroutine | Michael Goulet | -1/+1 | |
| 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 | |
