about summary refs log tree commit diff
path: root/compiler/rustc_middle/src/ty/consts
AgeCommit message (Collapse)AuthorLines
2023-12-15Annotate some more bugsMichael Goulet-2/+2
2023-12-07ctfe interpreter: extend provenance so that it can track whether a pointer ↵Ralf Jung-2/+2
is immutable
2023-11-20Uplift InferConst to rustc_type_irMichael Goulet-26/+0
2023-10-24Get rid of 'tcx on ConstVid, EffectVidMichael Goulet-4/+4
2023-09-18Remove unused `Lift` derives.Nicholas Nethercote-1/+1
I found these by commenting out all `Lift` derives and then adding back the ones that were necessary to successfully compile.
2023-09-14found another place where we can eval() a const, and go through valtreesRalf Jung-5/+0
2023-09-13restore the old logic adjusting ty::UnevaluatedConst before evaluationRalf Jung-1/+34
2023-09-11Rollup merge of #115727 - fee1-dead-contrib:effect-fallback, r=oli-obkMatthias Krüger-1/+8
Implement fallback for effect param r? `@oli-obk` or `@lcnr` tracking issue for this ongoing work: https://github.com/rust-lang/rust/issues/110395
2023-09-10Implement fallback for effect paramDeadbeef-1/+8
2023-09-06Support a few more rvalues.Camille GILLOT-0/+5
2023-07-30inline format!() args up to and including rustc_middleMatthias Krüger-2/+2
2023-07-17Rollup merge of #113539 - agnarrarendelle:master, r=workingjubileeMatthias Krüger-1/+1
fixed typo Hi, I have fixed a few typos in commands. Please review my pr.
2023-07-14refactor(rustc_middle): Substs -> GenericArgMahdi Dibaiee-5/+5
2023-07-12Re-format let-else per rustfmt updateMark Rousskov-1/+1
2023-07-12fixed typosagnarrarendelle-1/+1
2023-07-06Add a new trait to `Debug` things with an infcx availableBoxy-2/+2
2023-07-05Deal with falloutBoxy-8/+1
2023-07-05move `ConstKind` to typeir and move inherent impls to `Const`Boxy-194/+3
2023-06-01Use translatable diagnostics in `rustc_const_eval`Deadbeef-0/+9
2023-05-16format `Const`'s less verboselyBoxy-2/+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-7/+4
2023-04-18Store hashes in special types so they aren't accidentally encoded as numbersBen Kimock-3/+7
2023-04-09Remove identity castsNilstrieb-1/+1
2023-04-01use and_then/flat_map for map().flatten()Matthias Krüger-1/+1
2023-03-15unequal → not equalgimbles-7/+7
2023-02-22Remove type-traversal trait aliasesAlan Egerton-1/+1
2023-02-18Auto merge of #107542 - ↵bors-6/+4
compiler-errors:param-envs-with-inference-vars-are-cursed, r=jackh726 Don't call `with_reveal_all_normalized` in const-eval when `param_env` has inference vars in it **what:** This slightly shifts the order of operations from an existing hack: https://github.com/rust-lang/rust/blob/5b6ed253c42a69b93e7447fb0874a89ab6bc1cfb/compiler/rustc_middle/src/ty/consts/kind.rs#L225-L230 in order to avoid calling a tcx query (`TyCtxt::reveal_opaque_types_in_bounds`, via `ParamEnv::with_reveal_all_normalized`) when a param-env has inference variables in it. **why:** This allows us to enable fingerprinting of query keys/values outside of incr-comp in deubg mode, to make sure we catch other places where we're passing infer vars and other bad things into query keys. Currently that (bbf33836b9adfe4328aefa108c421e670a3923b7) crashes because we introduce inference vars into a param-env in the blanket-impl finder in rustdoc :sweat: https://github.com/rust-lang/rust/blob/5b6ed253c42a69b93e7447fb0874a89ab6bc1cfb/src/librustdoc/clean/blanket_impl.rs#L43 See the CI failure here: https://github.com/rust-lang/rust/actions/runs/4058194838/jobs/6984834619
2023-02-15Use target instead of machine for mir interpreter integer handling.Oli Scherer-5/+5
The naming of `machine` only makes sense from a mir interpreter internals perspective, but outside users talk about the `target` platform
2023-02-01Don't call with_reveal_all_normalized in evaluate when param-env has ↵Michael Goulet-6/+4
inference vars in it
2022-12-20rustc: Remove needless lifetimesJeremy Stucki-1/+1
2022-12-10compiler: remove unnecessary imports and qualified pathsKaDiWa-3/+0
2022-11-28Make `tcx.mk_const` more permissive wrt `kind` argumentMaybe Waffle-0/+8
- Accept `impl Into` - Implement `From<>` for `ConstKind` Note: this adds a dependency on `derive_more` (MIT license). It allows to derive a lot of traits (like `From` here) that would be otherwise tedious to implement.
2022-11-27Auto merge of #103917 - oli-obk:layout_math, r=RalfJung,lcnrbors-0/+12
Various cleanups around scalar layout restrictions Pulled out of https://github.com/rust-lang/rust/pull/103724
2022-11-25Add empty ConstKind::Abstractkadmin-1/+18
Initial pass at expr/abstract const/s Address comments Switch to using a list instead of &[ty::Const], rm `AbstractConst` Remove try_unify_abstract_consts Update comments Add edits Recurse more More edits Prevent equating associated consts Move failing test to ui Changes this test from incremental to ui, and mark it as failing and a known bug. Does not cause the compiler to ICE, so should be ok.
2022-11-25Add helper method to `ScalarInt`Oli Scherer-0/+12
2022-11-16cleanup and dedupe CTFE and Miri error reportingRalf Jung-2/+2
2022-11-02deprecate DelaySpanBugEmitted and use ErrorGuaranteed directlyyukang-1/+1
2022-10-22Auto merge of #103227 - lcnr:bye-bye-unevaluated-const, r=oli-obkbors-1/+1
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-19Deny const variables as wellMichael Goulet-1/+10
2022-10-19stop folding `UnevaluatedConst`lcnr-1/+1
2022-09-23rename Unevaluated to UnevaluatedConstb-naber-10/+13
2022-09-22introduce mir::Unevaluatedb-naber-21/+9
2022-09-17Auto merge of #98588 - b-naber:valtrees-cleanup, r=lcnrbors-4/+7
Use only ty::Unevaluated<'tcx, ()> in type system r? `@lcnr`
2022-09-15Replace more manual TypeFoldable and TypeVisitable impls with derivesOli Scherer-1/+1
2022-09-13use ty::Unevaluated<'tcx, ()> in type systemb-naber-4/+7
2022-09-08don't evaluate with escaping bound varslcnr-0/+1
2022-09-04Make `const_eval_select` a real intrinsicDeadbeef-1/+4
2022-09-01Porting 'compiler/rustc_trait_selection' to translatable diagnostics - Part 1Gabriel Bustamante-0/+6
2022-07-26Allow try_to_raw_bytes on u8 arrayMichael Goulet-20/+14