File tree 1 file changed +10
-0
lines changed
1 file changed +10
-0
lines changed Original file line number Diff line number Diff line change 44
44
//! * Sequentially consistent - sequentially consistent operations are
45
45
//! guaranteed to happen in order. This is the standard mode for working
46
46
//! with atomic types and is equivalent to Java's `volatile`.
47
+ //!
48
+ //! # Unwinding
49
+ //!
50
+ //! Rust intrinsics may, in general, unwind. If an intrinsic can never unwind, add the
51
+ //! `#[rustc_nounwind]` attribute so that the compiler can make use of this fact.
52
+ //!
53
+ //! However, even for intrinsics that may unwind, rustc assumes that a Rust intrinsics will never
54
+ //! initiate a foreign (non-Rust) unwind, and thus for panic=abort we can always assume that these
55
+ //! intrinsics cannot unwind.
47
56
48
57
#![ unstable(
49
58
feature = "core_intrinsics" ,
@@ -692,6 +701,7 @@ extern "rust-intrinsic" {
692
701
/// The stabilized version of this intrinsic is available on the
693
702
/// [`atomic`] signed integer types via the `fetch_min` method by passing
694
703
/// [`Ordering::AcqRel`] as the `order`. For example, [`AtomicI32::fetch_min`].
704
+ #[ rustc_nounwind]
695
705
pub fn atomic_min_acqrel < T : Copy > ( dst : * mut T , src : T ) -> T ;
696
706
/// Minimum with the current value using a signed comparison.
697
707
///
You can’t perform that action at this time.
0 commit comments