@@ -1910,10 +1910,14 @@ impl crate::error::Error for ExitStatusError {}
1910
1910
/// to its parent under normal termination.
1911
1911
///
1912
1912
/// `ExitCode` is intended to be consumed only by the standard library (via
1913
- /// [`Termination::report()`]), and intentionally does not provide accessors like
1914
- /// `PartialEq`, `Eq`, or `Hash`. Instead the standard library provides the
1915
- /// canonical `SUCCESS` and `FAILURE` exit codes as well as `From<u8> for
1916
- /// ExitCode` for constructing other arbitrary exit codes.
1913
+ /// [`Termination::report()`]). For forwards compatibility with potentially
1914
+ /// unusual targets, this type currently does not provide `Eq`, `Hash`, or
1915
+ /// access to the raw value. This type does provide `PartialEq` for
1916
+ /// comparison, but note that there may potentially be multiple failure
1917
+ /// codes, some of which will _not_ compare equal to `ExitCode::FAILURE`.
1918
+ /// The standard library provides the canonical `SUCCESS` and `FAILURE`
1919
+ /// exit codes as well as `From<u8> for ExitCode` for constructing other
1920
+ /// arbitrary exit codes.
1917
1921
///
1918
1922
/// # Portability
1919
1923
///
@@ -1952,7 +1956,7 @@ impl crate::error::Error for ExitStatusError {}
1952
1956
/// ExitCode::SUCCESS
1953
1957
/// }
1954
1958
/// ```
1955
- #[ derive( Clone , Copy , Debug ) ]
1959
+ #[ derive( Clone , Copy , Debug , PartialEq ) ]
1956
1960
#[ stable( feature = "process_exitcode" , since = "1.61.0" ) ]
1957
1961
pub struct ExitCode ( imp:: ExitCode ) ;
1958
1962
0 commit comments