diff options
| author | Jubilee <workingjubilee@gmail.com> | 2024-11-04 20:40:46 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-11-04 20:40:46 -0800 |
| commit | 23ef001d662787a73829a2653e63877bc16db008 (patch) | |
| tree | 01341a7709fccb44861f3b5ff90e0108370ea791 /compiler/rustc_codegen_llvm/src/errors.rs | |
| parent | 56aa51e67f40dc06bc7101dcac20cdfaeb1daa01 (diff) | |
| parent | a741b33c145a5f1fa3e7f42a4488750ce8719d4f (diff) | |
| download | rust-23ef001d662787a73829a2653e63877bc16db008.tar.gz rust-23ef001d662787a73829a2653e63877bc16db008.zip | |
Rollup merge of #132492 - RalfJung:const-intrinsics, r=compiler-errors
remove support for extern-block const intrinsics This converts all const-callable intrinsics into the "new" form of a regular `fn` with `#[rustc_intrinsic]` attribute. That simplifies some of the logic since those functions can be marked `const fn` like regular functions, so intrinsics no longer need a special case to be considered const-callable at all. I also added a new attribute `#[rustc_const_stable_intrinsic]` to mark an intrinsic as being ready to be exposed on stable. Previously we used the `#[rustc_const_stable_indirect]` attribute for that, but that attribute had a dual role -- when used on a regular function, it is an entirely safe marker to make this function part of recursive const stability, but on an intrinsic it is a trusted marker requiring special care. It's not great for the same attribute to be sometimes fully checked and safe, and sometimes trusted and requiring special care, so I split this into two attributes. This also fixes https://github.com/rust-lang/rust/issues/122652 by accepting intrinsics as const-stable if they have a fallback body that is recursively const-stable. The library changes are best reviewed with whitespace hidden. r? `@compiler-errors`
Diffstat (limited to 'compiler/rustc_codegen_llvm/src/errors.rs')
0 files changed, 0 insertions, 0 deletions
