about summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm/src/attributes.rs
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2021-12-18 14:49:42 +0100
committerGitHub <noreply@github.com>2021-12-18 14:49:42 +0100
commitcc043aa75f67ae7609fcc915982d0e0e9c3f712c (patch)
tree91f4eda838c2518b319dbf17e8511eac4e3b1b89 /compiler/rustc_codegen_llvm/src/attributes.rs
parent53a95ea289941ffeacb95f2ca7a7a7f1a9aae679 (diff)
parenta1f91aa4104c330d5592c56653a1c68394251120 (diff)
downloadrust-cc043aa75f67ae7609fcc915982d0e0e9c3f712c.tar.gz
rust-cc043aa75f67ae7609fcc915982d0e0e9c3f712c.zip
Rollup merge of #92037 - fee1-dead:fix_env_dmbic, r=oli-obk
Use a const ParamEnv when in default_method_body_is_const

r? `@oli-obk`

This PR fixes the param_env function to return `constness: Const` correctly for trait methods marked with `#[default_method_body_is_const]`. The snippet below is erroneously accepted by the compiler and has been fixed by this change. ([Playground](https://play.rust-lang.org/?version=nightly&mode=debug&edition=2021&gist=12dc6681b2eeee5f604203d96259eeb4))

```rust
#![feature(const_fn_trait_bound)]
#![feature(const_trait_impl)]

trait Tr {}
impl Tr for () {}

const fn foo<T>() where T: ~const Tr {}

pub trait Foo {
    #[default_method_body_is_const]
    fn foo() {
        foo::<()>();
    }
}
```
Diffstat (limited to 'compiler/rustc_codegen_llvm/src/attributes.rs')
0 files changed, 0 insertions, 0 deletions