about summary refs log tree commit diff
path: root/compiler/rustc_middle/src/mir/interpret/queries.rs
AgeCommit message (Collapse)AuthorLines
2025-09-09erase_regions to erase_and_anonymize_regionsBoxy-5/+7
2025-06-26const-eval: allow constants to refer to mutable/external memory, but reject ↵Ralf Jung-44/+76
such constants as patterns
2025-05-27Drive-by: Delete dead TyCtxtEnsureOk::const_eval_polyLeón Orell Valerian Liehr-22/+0
2025-05-05Rename Instance::new to Instance::new_raw and add a note that it is rawMichael Goulet-3/+3
2025-04-29Don't FCW assoc consts in patternsBoxy-9/+10
2025-03-15Fold visit into tyMichael Goulet-2/+1
2025-02-01Rename `tcx.ensure()` to `tcx.ensure_ok()`Zalathar-2/+2
2024-12-30Fix typosNoName-6/+6
2024-12-09fix ICE on type error in promotedRalf Jung-2/+7
2024-11-23no more Reveal :(lcnr-2/+2
2024-11-19`InterpCx` store `TypingEnv` instead of a `ParamEnv`lcnr-15/+17
2024-11-18use `TypingEnv` when no `infcx` is availablelcnr-10/+7
the behavior of the type system not only depends on the current assumptions, but also the currentnphase of the compiler. This is mostly necessary as we need to decide whether and how to reveal opaque types. We track this via the `TypingMode`.
2024-10-23nightly feature tracking: get rid of the per-feature bool fieldsRalf Jung-1/+1
2024-09-22Reformat using the new identifier sorting from rustfmtMichael Goulet-1/+1
2024-07-29Reformat `use` declarations.Nicholas Nethercote-8/+7
The previous commit updated `rustfmt.toml` appropriately. This commit is the outcome of running `x fmt --all` with the new formatting options.
2024-07-02Instance::resolve -> Instance::try_resolve, and other nitsMichael Goulet-2/+2
2024-06-05Don't walk the bodies of free constants for reachability.Oli Scherer-3/+23
2024-05-27Auto merge of #125410 - fmease:adj-lint-diag-api, r=nnethercotebors-2/+1
[perf] Delay the construction of early lint diag structs Attacks some of the perf regressions from https://github.com/rust-lang/rust/pull/124417#issuecomment-2123700666. See individual commits for details. The first three commits are not strictly necessary. However, the 2nd one (06bc4fc67145e3a7be9b5a2cf2b5968cef36e587, *Remove `LintDiagnostic::msg`*) makes the main change way nicer to implement. It's also pretty sweet on its own if I may say so myself.
2024-05-23Remove `#[macro_use] extern crate tracing` from `rustc_middle`.Nicholas Nethercote-0/+1
2024-05-23Remove `LintDiagnostic::msg`León Orell Valerian Liehr-2/+1
* instead simply set the primary message inside the lint decorator functions * it used to be this way before [#]101986 which introduced `msg` to prevent good path delayed bugs (which no longer exist) from firing under certain circumstances when lints were suppressed / silenced * this is no longer necessary for various reasons I presume * it shaves off complexity and makes further changes easier to implement
2024-03-18Avoid various uses of `Option<Span>` in favor of using `DUMMY_SP` in the few ↵Oli Scherer-8/+8
cases that used `None`
2024-02-15Return ConstAllocation from eval_static_initializer query directlyOli Scherer-32/+1
2024-02-15Add new query just for static initializersOli Scherer-21/+3
2024-02-12Dejargnonize substShoyu Vanilla-9/+9
2024-01-23Rename `TyCtxt::struct_span_lint_hir` as `TyCtxt::node_span_lint`.Nicholas Nethercote-1/+1
2024-01-19Always use RevealAll for const eval queriesOli Scherer-2/+2
2023-12-15Don't pass lint back out of lint decoratorMichael Goulet-1/+1
2023-11-26rustc: `hir().local_def_id_to_hir_id()` -> `tcx.local_def_id_to_hir_id()` ↵Vadim Petrochenkov-1/+1
cleanup
2023-09-14don't point at const usage site for resolution-time errorsRalf Jung-6/+12
also share the code that emits the actual error
2023-09-14move required_consts check to general post-mono-check functionRalf Jung-4/+4
2023-07-27Remove `constness` from `ParamEnv`Deadbeef-7/+2
2023-07-14refactor(rustc_middle): Substs -> GenericArgMahdi Dibaiee-10/+10
2023-06-26Make simd_shuffle_indices use valtreesOli Scherer-17/+9
2023-06-14add InlineConst checkJames Dietz-1/+4
2023-05-17Finish move of query.rsJohn Kåre Alsaker-1/+2
2023-05-15Suppress "erroneous constant used" for constants tainted by errorsTomasz Miąsko-2/+2
When constant evaluation fails because its MIR is tainted by errors, suppress note indicating that erroneous constant was used, since those errors have to be fixed regardless of the constant being used or not.
2023-04-20Remove WithOptconstParam.Camille GILLOT-8/+8
2023-02-22Remove type-traversal trait aliasesAlan Egerton-1/+1
2022-11-16cleanup and dedupe CTFE and Miri error reportingRalf Jung-0/+4
2022-10-22Auto merge of #103227 - lcnr:bye-bye-unevaluated-const, r=oli-obkbors-1/+25
stop using `ty::UnevaluatedConst` directly best reviewed commit by commit. simplifies #99798 because we now don't have to expand `ty::UnevaluatedConst` to `ty::Const`. I also remember some other places where using `ty::UnevaluatedConst` directly was annoying and caused issues, though I don't quite remember what they were rn '^^ r? `@oli-obk` cc `@JulianKnodt`
2022-10-21fix some typosRageking8-1/+1
2022-10-18`const_evaluatable_unchecked` to const evallcnr-1/+25
2022-10-04It's not about types or consts, but the lack of regionsOli Scherer-2/+2
2022-09-23rename Unevaluated to UnevaluatedConstb-naber-3/+3
2022-09-22introduce mir::Unevaluatedb-naber-3/+7
2022-09-19`DestructuredConst` split mir and tylcnr-1/+1
2022-09-13use ty::Unevaluated<'tcx, ()> in type systemb-naber-2/+2
2022-07-06Update TypeVisitor pathsAlan Egerton-1/+1
2022-06-28Improve pretty printing of valtrees for referencesDominik Stolz-7/+1
2022-06-19Use `ensure` for `UnusedBrokenConst`.Camille GILLOT-1/+34