summaryrefslogtreecommitdiff
tag namerust-6.5 (d787cd2b1026328a80061147c19f37b76857c1dc)
tag date2023-06-18 18:00:08 +0200
tagged byMiguel Ojeda <ojeda@kernel.org>
tagged objectcommit d2e3115d71...
Rust changes for v6.5
A fairly small one in terms of feature additions. Most of the changes in terms of lines come from the upgrade to the new version of the toolchain (which in turn is big due to the vendored 'alloc' crate). - Upgrade to Rust 1.68.2: This is the first such upgrade, and we will try to update it often from now on, in order to remain close to the latest release, until a minimum version (which is "in the future") can be established. The upgrade brings the stabilization of 4 features we used (and 2 more that we used in our old 'rust' branch). Commit 3ed03f4da06e ("rust: upgrade to Rust 1.68.2") contains the details and rationale. - pin-init API: Several internal improvements and fixes to the pin-init API, e.g. allowing to use 'Self' in a struct definition with '#[pin_data]'. - 'error' module: New 'name()' method for the 'Error' type (with 'errname()' integration), used to implement the 'Debug' trait for 'Error'. Add error codes from 'include/linux/errno.h' to the list of Rust 'Error' constants. Allow specifying error type on the 'Result' type (with the default still being our usual 'Error' type). - 'str' module: 'TryFrom' implementation for 'CStr', and new 'to_cstring()' method based on it. - 'sync' module: Implement 'AsRef' trait for 'Arc', allowing to use 'Arc' in code that is generic over smart pointer types. Add 'ptr_eq' method to 'Arc' for easier, less error prone comparison between two 'Arc' pointers. Reword the 'Send' safety comment for 'Arc', and avoid referencing it from the 'Sync' one. - 'task' module: Implement 'Send' marker for 'Task'. - 'types' module: Implement 'Send' and 'Sync' markers for 'ARef<T>' when 'T' is 'AlwaysRefCounted', 'Send' and 'Sync'. - Other changes: Documentation improvements and '.gitattributes' change to start using the Rust diff driver. -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEPjU5OPd5QIZ9jqqOGXyLc2htIW0FAmSPLEYACgkQGXyLc2ht IW051BAAtffUcUsTcRrbWzyU/OoymT5MQwVgxIYhg5hTOiy0St4gwTd5F4A01S7e s0E5io5dYiUpoImi6ALxGDL7BNawl4CKT7kZI8kZIsIz/M4+FPIsr7fboA0OXpph chs/P6wwEOCahZNUc3IfRG4KsCr7dAUKWYuRDgRTkAt4/Qu7xTtj8w9l8XnrHkZ/ YwHRUE0A46yXPRGVHmueyBJ8SzUbP85rIaDU+kC9hoDY4SfF6F5ZxrecXJEjMbQu YgtZDoH9u2nIc9yd7bGyOTu3hhIzs4WuPh6LoK2UdR513+A7Qoe4n59dH3pnl58C D4CMTYEAEh4daDg40dad0Zj7/nAIjyCsitfRZ4T9ZmqTLLIiRewbnzCHfIL/XU0i sK40ek37tVsR1pcO4EDpHs/vC51DKhfQsuKlFkW7WumshyMzCXnLP+J4PvfbjASQ R31Exuc1f5OlB44pgblRRhlEyaelkZW5iQAZbedGWaBr3oikiwdl+gbWhfvoBXhU Kbu4rT796Sol//wevmLx9X/ORYn8ZI2BhDQLJ2rH020BiVObi0poL9P+aJUQfPlm uI5/Ij82aKs2mCuyy06cYEvUiSP2IbmkXFxYSPp/2vHCl0zesOI+ZFdSknSIPpLJ Wq3PGxSR4ky7lWibY/YmpLGX1FsRUFU3fyd6cQVObpXlJO6i9F0= =vpwH -----END PGP SIGNATURE-----