Skip to content

Commit b666f82

Browse files
Mark-Simulacrumpietroalbini
authored andcommitted
Add compat note for trait solver change
1 parent 24906b5 commit b666f82

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

RELEASES.md

+3
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,9 @@ Compatibility Notes
101101
The reason is that these types have different roles: `std::panic::PanicHookInfo` is the argument to the [panic hook](https://doc.rust-lang.org/stable/std/panic/fn.set_hook.html) in std context (where panics can have an arbitrary payload), while `core::panic::PanicInfo` is the argument to the [`#[panic_handler]`](https://doc.rust-lang.org/nomicon/panic-handler.html) in no_std context (where panics always carry a formatted *message*). Separating these types allows us to add more useful methods to these types, such as `std::panic::PanicHookInfo::payload_as_str()` and `core::panic::PanicInfo::message()`.
102102

103103
* The new sort implementations may panic if a type's implementation of [`Ord`](https://doc.rust-lang.org/std/cmp/trait.Ord.html) (or the given comparison function) does not implement a [total order](https://en.wikipedia.org/wiki/Total_order) as the trait requires. `Ord`'s supertraits (`PartialOrd`, `Eq`, and `PartialEq`) must also be consistent. The previous implementations would not "notice" any problem, but the new implementations have a good chance of detecting inconsistencies, throwing a panic rather than returning knowingly unsorted data.
104+
* [In very rare cases, a change in the internal evaluation order of the trait
105+
solver may result in new fatal overflow errors.](https://github.com/rust-lang/rust/pull/126128)
106+
104107

105108
<a id="1.81.0-Internal-Changes"></a>
106109

0 commit comments

Comments
 (0)