Ensure careful consideration is given by impls
Added an associated `const THIS_IMPLEMENTATION_HAS_BEEN_TRIPLE_CHECKED` to the `StableOrd` trait to ensure that implementors carefully consider whether the trait's contract is upheld, as incorrect implementations can cause miscompilations.
This commit is contained in:
parent
114dd2061e
commit
0e73e7095a
6 changed files with 60 additions and 13 deletions
|
@ -491,9 +491,11 @@ pub enum OutputType {
|
|||
DepInfo,
|
||||
}
|
||||
|
||||
// Trivial C-Style enums have a stable sort order across compilation sessions.
|
||||
impl StableOrd for OutputType {
|
||||
const CAN_USE_UNSTABLE_SORT: bool = true;
|
||||
|
||||
// Trivial C-Style enums have a stable sort order across compilation sessions.
|
||||
const THIS_IMPLEMENTATION_HAS_BEEN_TRIPLE_CHECKED: () = ();
|
||||
}
|
||||
|
||||
impl<HCX: HashStableContext> ToStableHashKey<HCX> for OutputType {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue