You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -26,10 +27,24 @@ However, adding a _trait_ to the prelude can break existing code in a subtle way
26
27
For example, a call to `x.poll()` which comes from a `MyPoller` trait might fail to compile if `std`'s `Future` is also imported, because the call to `poll` is now ambiguous and could come from either trait.
27
28
28
29
As a solution, Rust 2024 will use a new prelude.
29
-
It's identical to the current one, except for two new additions:
30
+
It's identical to the current one, except for the following changes:
30
31
31
-
-[`std::future::Future`][`Future`]
32
-
-[`std::future::IntoFuture`][`IntoFuture`]
32
+
- Added:
33
+
-[`std::future::Future`][`Future`]
34
+
-[`std::future::IntoFuture`][`IntoFuture`]
35
+
- Removed:
36
+
-`RustcEncodable`
37
+
-`RustcDecodable`
38
+
39
+
### `RustcEncodable` and `RustcDecodable` removal
40
+
41
+
`RustcEncodable` and `RustcDecodable` are two undocumented derive macros that have been removed from the prelude.
42
+
These were deprecated before Rust 1.0, but remained within the standard library prelude.
43
+
The 2024 Edition has removed these from the prelude since they are not expected to be used.
44
+
45
+
If in the unlikely case there is a project still using these, it is recommended to switch to a serialization library, such as those found on [crates.io].
0 commit comments