about summary refs log tree commit diff
path: root/compiler/rustc_middle/src/mir/interpret
AgeCommit message (Collapse)AuthorLines
2020-09-20Auto merge of #74949 - oli-obk:validate_const_eval_raw, r=RalfJungbors-17/+17
Validate constants during `const_eval_raw` This PR implements the groundwork for https://github.com/rust-lang/rust/issues/72396 * constants are now validated during `const_eval_raw` * to prevent cycle errors, we do not validate references to statics anymore beyond the fact that they are not dangling * the `const_eval` query ICEs if used on `static` items * as a side effect promoteds are now evaluated to `ConstValue::Scalar` again (since they are just a reference to the actual promoted allocation in most cases).
2020-09-19Reflect the "do not call this query directly" mentality in its nameOliver Scherer-2/+2
2020-09-19Address review commentsOliver Scherer-4/+4
2020-09-19Unify the names of const eval queries and their return typesOliver Scherer-14/+14
2020-09-19Rename const eval queries to reflect the validation changesOliver Scherer-3/+3
2020-09-18don't take `TyCtxt` by referenceBastian Kauschke-9/+9
2020-09-12also assert ScalarMaybeUninit sizeRalf Jung-0/+3
2020-09-04Fix big endian read/writeJubilee Young-6/+12
Co-authored-by: matthewjasper <mjjasper1@gmail.com>
2020-09-04Explain contract of {read, write}_target_uintJubilee Young-0/+6
2020-09-04Be explicit that we're handling bytesJubilee-1/+1
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-09-04Remove reference to byteorder limitsJubilee Young-8/+4
2020-09-04Refactor byteorder to std in rustc_middleJubilee Young-7/+9
Use std::io::{Read, Write} and {to, from}_{le, be}_bytes methods in order to remove byteorder from librustc_middle's dependency graph.
2020-09-02pretty: trim paths of unique symbolsDan Aloni-1/+2
If a symbol name can only be imported from one place for a type, and as long as it was not glob-imported anywhere in the current crate, we can trim its printed path and print only the name. This has wide implications on error messages with types, for example, shortening `std::vec::Vec` to just `Vec`, as long as there is no other `Vec` importable anywhere. This adds a new '-Z trim-diagnostic-paths=false' option to control this feature. On the good path, with no diagnosis printed, we should try to avoid issuing this query, so we need to prevent trimmed_def_paths query on several cases. This change also relies on a previous commit that differentiates between `Debug` and `Display` on various rustc types, where the latter is trimmed and presented to the user and the former is not.
2020-08-30mv compiler to compiler/mark-0/+3007