rust/compiler/rustc_const_eval/src
bors 871b595202 Auto merge of #111913 - oli-obk:valtrees2, r=lcnr
Only rewrite valtree-constants to patterns and keep other constants opaque

Now that we can reliably fall back to comparing constants with `PartialEq::eq` to the match scrutinee, we can

1. eagerly try to convert constants to valtrees
2. then deeply convert the valtree to a pattern
3. if the to-valtree conversion failed, create an "opaque constant" pattern.

This PR specifically avoids any behavioral changes or major cleanups. What we can now do as follow ups is

* move the two remaining call sites to `destructure_mir_constant` off that query
* make valtree to pattern conversion infallible
    * this needs to be done after careful analysis of the effects. There may be user visible changes from that.

based on https://github.com/rust-lang/rust/pull/111768
2023-05-31 16:36:51 +00:00
..
const_eval Remove deref_mir_constant 2023-05-31 14:07:15 +00:00
interpret EarlyBinder::new -> EarlyBinder::bind 2023-05-29 13:46:10 +02:00
transform unique borrows are mutating uses 2023-05-29 17:15:48 +02:00
util Move DefiningAnchor 2023-05-25 03:21:21 +00:00
errors.rs errors: generate typed identifiers in each crate 2023-02-22 09:15:53 +00:00
lib.rs Remove deref_mir_constant 2023-05-31 14:07:15 +00:00