@@ -3577,7 +3577,6 @@ pub const fn discriminant_value<T>(_v: &T) -> <T as DiscriminantKind>::Discrimin
3577
3577
unimplemented ! ( )
3578
3578
}
3579
3579
3580
- extern "rust-intrinsic" {
3581
3580
/// Rust's "try catch" construct for unwinding. Invokes the function pointer `try_fn` with the
3582
3581
/// data pointer `data`, and calls `catch_fn` if unwinding occurs while `try_fn` runs.
3583
3582
///
@@ -3594,18 +3593,26 @@ extern "rust-intrinsic" {
3594
3593
///
3595
3594
/// For more information, see the compiler's source, as well as the documentation for the stable
3596
3595
/// version of this intrinsic, `std::panic::catch_unwind`.
3596
+ #[ rustc_intrinsic]
3597
+ #[ rustc_intrinsic_must_be_overridden]
3597
3598
#[ rustc_nounwind]
3598
- pub fn catch_unwind ( try_fn : fn ( * mut u8 ) , data : * mut u8 , catch_fn : fn ( * mut u8 , * mut u8 ) ) -> i32 ;
3599
+ pub unsafe fn catch_unwind ( _try_fn : fn ( * mut u8 ) , _data : * mut u8 , _catch_fn : fn ( * mut u8 , * mut u8 ) ) -> i32 {
3600
+ unreachable ! ( )
3601
+ }
3599
3602
3600
3603
/// Emits a `nontemporal` store, which gives a hint to the CPU that the data should not be held
3601
3604
/// in cache. Except for performance, this is fully equivalent to `ptr.write(val)`.
3602
3605
///
3603
3606
/// Not all architectures provide such an operation. For instance, x86 does not: while `MOVNT`
3604
3607
/// exists, that operation is *not* equivalent to `ptr.write(val)` (`MOVNT` writes can be reordered
3605
3608
/// in ways that are not allowed for regular writes).
3609
+ #[ rustc_intrinsic]
3610
+ #[ rustc_intrinsic_must_be_overridden]
3606
3611
#[ rustc_nounwind]
3607
- pub fn nontemporal_store < T > ( ptr : * mut T , val : T ) ;
3608
- }
3612
+ pub unsafe fn nontemporal_store < T > ( _ptr : * mut T , _val : T ) {
3613
+ unreachable ! ( )
3614
+ }
3615
+
3609
3616
3610
3617
/// See documentation of `<*const T>::offset_from` for details.
3611
3618
#[ rustc_intrinsic_const_stable_indirect]
0 commit comments