]> git.lizzy.rs Git - rust.git/commit - src/tools/rust-analyzer
Rollup merge of #92780 - b-naber:postpone-const-eval-coherence, r=lcnr
authorMatthias Krüger <matthias.krueger@famsik.de>
Tue, 18 Jan 2022 21:00:47 +0000 (22:00 +0100)
committerGitHub <noreply@github.com>
Tue, 18 Jan 2022 21:00:47 +0000 (22:00 +0100)
commit5a4f47460b14780d63303a4a52319a7f44654bb5
tree454e2359ed3de519e6e812a12386fd5b6ff4a8e2
parentff476b3009bd0f0137ade6eb02af2794c19066d2
parent7dac6260920bc4fbd6988609bd80af05aa60a400
Rollup merge of #92780 - b-naber:postpone-const-eval-coherence, r=lcnr

Directly use ConstValue for single literals in blocks

Addresses the minimal repro in https://github.com/rust-lang/rust/issues/92186, but doesn't fix the underlying problem (which would be solved by solving the anon subst problem afaict).

I do, however, think that it makes sense in general to treat single literals in anon blocks as const values directly, especially in light of the problem that the issue refers to (anon const evaluation being postponed until infer variables in substs can be resolved, which was introduced by https://github.com/rust-lang/rust/pull/90023), i.e. while we do get warnings for those unnecessary braces, we should try to avoid errors caused by those braces if possible.
compiler/rustc_middle/src/ty/consts.rs
compiler/rustc_trait_selection/src/traits/coherence.rs