@@ -3577,34 +3577,44 @@ pub const fn discriminant_value<T>(_v: &T) -> <T as DiscriminantKind>::Discrimin
3577
3577
unimplemented ! ( )
3578
3578
}
3579
3579
3580
- extern "rust-intrinsic" {
3581
- /// Rust's "try catch" construct for unwinding. Invokes the function pointer `try_fn` with the
3582
- /// data pointer `data`, and calls `catch_fn` if unwinding occurs while `try_fn` runs.
3583
- ///
3584
- /// `catch_fn` must not unwind.
3585
- ///
3586
- /// The third argument is a function called if an unwind occurs (both Rust `panic` and foreign
3587
- /// unwinds). This function takes the data pointer and a pointer to the target- and
3588
- /// runtime-specific exception object that was caught.
3589
- ///
3590
- /// Note that in the case of a foreign unwinding operation, the exception object data may not be
3591
- /// safely usable from Rust, and should not be directly exposed via the standard library. To
3592
- /// prevent unsafe access, the library implementation may either abort the process or present an
3593
- /// opaque error type to the user.
3594
- ///
3595
- /// For more information, see the compiler's source, as well as the documentation for the stable
3596
- /// version of this intrinsic, `std::panic::catch_unwind`.
3597
- #[ rustc_nounwind]
3598
- pub fn catch_unwind ( try_fn : fn ( * mut u8 ) , data : * mut u8 , catch_fn : fn ( * mut u8 , * mut u8 ) ) -> i32 ;
3599
-
3600
- /// Emits a `nontemporal` store, which gives a hint to the CPU that the data should not be held
3601
- /// in cache. Except for performance, this is fully equivalent to `ptr.write(val)`.
3602
- ///
3603
- /// Not all architectures provide such an operation. For instance, x86 does not: while `MOVNT`
3604
- /// exists, that operation is *not* equivalent to `ptr.write(val)` (`MOVNT` writes can be reordered
3605
- /// in ways that are not allowed for regular writes).
3606
- #[ rustc_nounwind]
3607
- pub fn nontemporal_store < T > ( ptr : * mut T , val : T ) ;
3580
+ /// Rust's "try catch" construct for unwinding. Invokes the function pointer `try_fn` with the
3581
+ /// data pointer `data`, and calls `catch_fn` if unwinding occurs while `try_fn` runs.
3582
+ ///
3583
+ /// `catch_fn` must not unwind.
3584
+ ///
3585
+ /// The third argument is a function called if an unwind occurs (both Rust `panic` and foreign
3586
+ /// unwinds). This function takes the data pointer and a pointer to the target- and
3587
+ /// runtime-specific exception object that was caught.
3588
+ ///
3589
+ /// Note that in the case of a foreign unwinding operation, the exception object data may not be
3590
+ /// safely usable from Rust, and should not be directly exposed via the standard library. To
3591
+ /// prevent unsafe access, the library implementation may either abort the process or present an
3592
+ /// opaque error type to the user.
3593
+ ///
3594
+ /// For more information, see the compiler's source, as well as the documentation for the stable
3595
+ /// version of this intrinsic, `std::panic::catch_unwind`.
3596
+ #[ rustc_intrinsic]
3597
+ #[ rustc_intrinsic_must_be_overridden]
3598
+ #[ rustc_nounwind]
3599
+ pub unsafe fn catch_unwind (
3600
+ _try_fn : fn ( * mut u8 ) ,
3601
+ _data : * mut u8 ,
3602
+ _catch_fn : fn ( * mut u8 , * mut u8 ) ,
3603
+ ) -> i32 {
3604
+ unreachable ! ( )
3605
+ }
3606
+
3607
+ /// Emits a `nontemporal` store, which gives a hint to the CPU that the data should not be held
3608
+ /// in cache. Except for performance, this is fully equivalent to `ptr.write(val)`.
3609
+ ///
3610
+ /// Not all architectures provide such an operation. For instance, x86 does not: while `MOVNT`
3611
+ /// exists, that operation is *not* equivalent to `ptr.write(val)` (`MOVNT` writes can be reordered
3612
+ /// in ways that are not allowed for regular writes).
3613
+ #[ rustc_intrinsic]
3614
+ #[ rustc_intrinsic_must_be_overridden]
3615
+ #[ rustc_nounwind]
3616
+ pub unsafe fn nontemporal_store < T > ( _ptr : * mut T , _val : T ) {
3617
+ unreachable ! ( )
3608
3618
}
3609
3619
3610
3620
/// See documentation of `<*const T>::offset_from` for details.
0 commit comments