rust/compiler/rustc_const_eval/src/util
bors 68411c9554 Auto merge of #119627 - oli-obk:const_prop_lint_n̵o̵n̵sense, r=cjgillot
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-25 03:16:07 +00:00
..
alignment.rs still accept references to u8 slices and str in packed fields 2023-09-06 08:32:30 +02:00
caller_location.rs const-eval interner: from-scratch rewrite using mutability information from provenance rather than types 2024-01-22 09:28:00 +01:00
check_validity_requirement.rs interpret: make MemPlace, Place, Operand types private to the interpreter 2023-09-04 17:53:38 +02:00
compare_types.rs have better explanation for relate_types 2023-10-02 23:39:45 +03:00
mod.rs partially inline eval_rvalue_into_place for const prop lint 2024-01-23 16:34:42 +00:00
type_name.rs Remove movability from TyKind::Coroutine 2023-12-28 16:35:01 +00:00