]> git.lizzy.rs Git - rust.git/commit - src/tools/rust-analyzer
Auto merge of #82936 - oli-obk:valtree, r=RalfJung,lcnr,matthewjasper
authorbors <bors@rust-lang.org>
Tue, 16 Mar 2021 22:42:56 +0000 (22:42 +0000)
committerbors <bors@rust-lang.org>
Tue, 16 Mar 2021 22:42:56 +0000 (22:42 +0000)
commite655fb62216b6ba64a094b30f116d7988d19322d
tree80952f15ec0698641e3e9b8e8290f28ffa2d4c21
parentf5d8117c338a788bd24abec733fd143dfceb25a0
parentc4d564c7808334bf08bcbad700f4a4a93a99be14
Auto merge of #82936 - oli-obk:valtree, r=RalfJung,lcnr,matthewjasper

Implement (but don't use) valtree and refactor in preparation of use

This PR does not cause any functional change. It refactors various things that are needed to make valtrees possible. This refactoring got big enough that I decided I'd want it reviewed as a PR instead of trying to make one huge PR with all the changes.

cc `@rust-lang/wg-const-eval` on the following commits:

2027184 implement valtree
eeecea9 fallible Scalar -> ScalarInt
042f663 ScalarInt convenience methods

cc `@eddyb` on ef04a6d

cc `@rust-lang/wg-mir-opt` for cf1700c (`mir::Constant` can now represent either a `ConstValue` or a `ty::Const`, and it is totally possible to have two different representations for the same value)
compiler/rustc_codegen_ssa/src/mir/analyze.rs
compiler/rustc_middle/src/query/mod.rs
compiler/rustc_middle/src/ty/context.rs
compiler/rustc_mir_build/src/build/expr/as_rvalue.rs
compiler/rustc_mir_build/src/build/expr/into.rs
compiler/rustc_mir_build/src/build/matches/test.rs