@@ -2368,20 +2368,6 @@ extern "rust-intrinsic" {
23682368 #[ rustc_nounwind]
23692369 pub fn ptr_guaranteed_cmp < T > ( ptr : * const T , other : * const T ) -> u8 ;
23702370
2371- /// Deallocates a memory which allocated by `intrinsics::const_allocate` at compile time.
2372- /// At runtime, does nothing.
2373- ///
2374- /// # Safety
2375- ///
2376- /// - The `align` argument must be a power of two.
2377- /// - At compile time, a compile error occurs if this constraint is violated.
2378- /// - At runtime, it is not checked.
2379- /// - If the `ptr` is created in an another const, this intrinsic doesn't deallocate it.
2380- /// - If the `ptr` is pointing to a local variable, this intrinsic doesn't deallocate it.
2381- #[ rustc_const_unstable( feature = "const_heap" , issue = "79597" ) ]
2382- #[ rustc_nounwind]
2383- pub fn const_deallocate ( ptr : * mut u8 , size : usize , align : usize ) ;
2384-
23852371 /// Determines whether the raw bytes of the two values are equal.
23862372 ///
23872373 /// This is particularly handy for arrays, since it allows things like just
@@ -2591,13 +2577,30 @@ pub(crate) const unsafe fn debug_assertions() -> bool {
25912577/// - At compile time, a compile error occurs if this constraint is violated.
25922578/// - At runtime, it is not checked.
25932579#[ rustc_const_unstable( feature = "const_heap" , issue = "79597" ) ]
2580+ #[ unstable( feature = "core_intrinsics" , issue = "none" ) ]
25942581#[ rustc_nounwind]
25952582#[ cfg_attr( not( bootstrap) , rustc_intrinsic) ]
25962583pub const unsafe fn const_allocate ( _size : usize , _align : usize ) -> * mut u8 {
25972584 // const eval overrides this function, but runtime code should always just return null pointers.
25982585 crate :: ptr:: null_mut ( )
25992586}
26002587
2588+ /// Deallocates a memory which allocated by `intrinsics::const_allocate` at compile time.
2589+ /// At runtime, does nothing.
2590+ ///
2591+ /// # Safety
2592+ ///
2593+ /// - The `align` argument must be a power of two.
2594+ /// - At compile time, a compile error occurs if this constraint is violated.
2595+ /// - At runtime, it is not checked.
2596+ /// - If the `ptr` is created in an another const, this intrinsic doesn't deallocate it.
2597+ /// - If the `ptr` is pointing to a local variable, this intrinsic doesn't deallocate it.
2598+ #[ rustc_const_unstable( feature = "const_heap" , issue = "79597" ) ]
2599+ #[ unstable( feature = "core_intrinsics" , issue = "none" ) ]
2600+ #[ rustc_nounwind]
2601+ #[ cfg_attr( not( bootstrap) , rustc_intrinsic) ]
2602+ pub const unsafe fn const_deallocate ( _ptr : * mut u8 , _size : usize , _align : usize ) { }
2603+
26012604// Some functions are defined here because they accidentally got made
26022605// available in this module on stable. See <https://github.com/rust-lang/rust/issues/15702>.
26032606// (`transmute` also falls into this category, but it cannot be wrapped due to the
0 commit comments