<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/source/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in lib.rs</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>09808839c7aa6695ceff5cd822c18b0d9550184d - rust: pin-init: replace `addr_of_mut!` with `&amp;raw mut`</title>
        <link>http://kernelsources.org:8080/source/history/linux/rust/pin-init/src/lib.rs#09808839c7aa6695ceff5cd822c18b0d9550184d</link>
        <description>rust: pin-init: replace `addr_of_mut!` with `&amp;raw mut``feature(raw_ref_op)` became stable in Rust 1.82.0 which is the currentMSRV of pin-init with no default features. Earlier Rust versions willnow need to enable `raw_ref_op` to continue to work with pin-init.This reduces visual complexity and improves consistency with existingreference syntax.Suggested-by: Benno Lossin &lt;lossin@kernel.org&gt;Link: https://github.com/Rust-for-Linux/linux/issues/1148Closes: https://github.com/Rust-for-Linux/pin-init/issues/99Signed-off-by: Antonio Hickey &lt;contact@antoniohickey.com&gt;Link: https://github.com/Rust-for-Linux/pin-init/commit/e27763004e2f6616b089437fbe9b3719cd72bd5c[ Reworded commit message. - Benno ]Reviewed-by: Gary Guo &lt;gary@garyguo.net&gt;Link: https://patch.msgid.link/20260319093542.3756606-6-lossin@kernel.orgSigned-off-by: Benno Lossin &lt;lossin@kernel.org&gt;

            List of files:
            /linux/rust/pin-init/src/lib.rs</description>
        <pubDate>Thu, 19 Mar 2026 10:35:28 +0100</pubDate>
        <dc:creator>Antonio Hickey &lt;contact@antoniohickey.com&gt;</dc:creator>
    </item>
<item>
        <title>aa9ec9460dd5c09849e09c3fac8f4286d2dc0312 - rust: pin-init: implement ZeroableOption for NonZero* integer types</title>
        <link>http://kernelsources.org:8080/source/history/linux/rust/pin-init/src/lib.rs#aa9ec9460dd5c09849e09c3fac8f4286d2dc0312</link>
        <description>rust: pin-init: implement ZeroableOption for NonZero* integer typesAdd a macro for implementing `ZeroableOption` for `NonZero*` types.`Option&lt;NonZero*&gt;` now automatically implements `Zeroable` trait  byimplementing `ZeroableOption` for `NonZero*` types, which serves as ablanket impl.Closes: https://github.com/Rust-for-Linux/pin-init/issues/95Signed-off-by: Hamdan-Khan &lt;hamdankhan212@gmail.com&gt;Link: https://github.com/Rust-for-Linux/pin-init/commit/74f772641cd9670848fa360f4ebfd20fdb40bf78[ Fixed a typo in the commit message. - Benno ]Link: https://patch.msgid.link/20260319093542.3756606-5-lossin@kernel.orgSigned-off-by: Benno Lossin &lt;lossin@kernel.org&gt;

            List of files:
            /linux/rust/pin-init/src/lib.rs</description>
        <pubDate>Thu, 19 Mar 2026 10:35:27 +0100</pubDate>
        <dc:creator>Hamdan-Khan &lt;hamdankhan212@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>44f6fa0dced7babfbfd08683fe376b0c72ebbec7 - rust: pin-init: doc: de-clutter documentation with fake-variadics</title>
        <link>http://kernelsources.org:8080/source/history/linux/rust/pin-init/src/lib.rs#44f6fa0dced7babfbfd08683fe376b0c72ebbec7</link>
        <description>rust: pin-init: doc: de-clutter documentation with fake-variadicsCurrently the doc for `Zeroable` and `ZeroableOption` are filled with thegenerated impl of tuples and fn pointers. Use the internal&quot;fake_variadics&quot; feature to improve the rendered quality.This makes use of an internal feature, however this is of minimal risk asit&apos;s for documentation only, not activated during normal build, gatedbehind `USE_RUSTC_FEATURES`, and can be removed at any time. This featureis already used by serde and bevy to improve documentation quality.For compilers that cannot use this feature, we still hide most generatedimpls, and the existence of them are hinted by doc comments on the singlenon-hidden impl.Signed-off-by: Gary Guo &lt;gary@garyguo.net&gt;Link: https://github.com/Rust-for-Linux/pin-init/commit/530c4eb79a449599e219821f9397f03250cc2aa4[ Reordered `#[doc]` attributes and safety comments to avoid errors in  older versions of clippy. - Benno ]Link: https://patch.msgid.link/20260319093542.3756606-4-lossin@kernel.orgSigned-off-by: Benno Lossin &lt;lossin@kernel.org&gt;

            List of files:
            /linux/rust/pin-init/src/lib.rs</description>
        <pubDate>Thu, 19 Mar 2026 10:35:26 +0100</pubDate>
        <dc:creator>Gary Guo &lt;gary@garyguo.net&gt;</dc:creator>
    </item>
<item>
        <title>960c37cbcba78730ee175f4887ffcdf523385c53 - rust: pin-init: properly document let binding workaround</title>
        <link>http://kernelsources.org:8080/source/history/linux/rust/pin-init/src/lib.rs#960c37cbcba78730ee175f4887ffcdf523385c53</link>
        <description>rust: pin-init: properly document let binding workaroundThe three let bindings (in the bodies of `cast_init`, `cast_pin_init`and the `init!` macro) are used to avoid the following compiler error inRust 1.78.0, 1.79.0, 1.80.0, 1.80.1, and 1.81.0 (just showing the onefor `cast_init`, the others are similar):    error[E0391]: cycle detected when computing type of opaque `cast_init::{opaque#0}`        --&gt; src/lib.rs:1160:66         |    1160 | pub const unsafe fn cast_init&lt;T, U, E&gt;(init: impl Init&lt;T, E&gt;) -&gt; impl Init&lt;U, E&gt; {         |                                                                  ^^^^^^^^^^^^^^^         |    note: ...which requires borrow-checking `cast_init`...        --&gt; src/lib.rs:1160:1         |    1160 | pub const unsafe fn cast_init&lt;T, U, E&gt;(init: impl Init&lt;T, E&gt;) -&gt; impl Init&lt;U, E&gt; {         | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^    note: ...which requires const checking `cast_init`...        --&gt; src/lib.rs:1160:1         |    1160 | pub const unsafe fn cast_init&lt;T, U, E&gt;(init: impl Init&lt;T, E&gt;) -&gt; impl Init&lt;U, E&gt; {         | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^         = note: ...which requires computing whether `cast_init::{opaque#0}` is freeze...         = note: ...which requires evaluating trait selection obligation `cast_init::{opaque#0}: core::marker::Freeze`...         = note: ...which again requires computing type of opaque `cast_init::{opaque#0}`, completing the cycle    note: cycle used when computing type of `cast_init::{opaque#0}`        --&gt; src/lib.rs:1160:66         |    1160 | pub const unsafe fn cast_init&lt;T, U, E&gt;(init: impl Init&lt;T, E&gt;) -&gt; impl Init&lt;U, E&gt; {         |                                                                  ^^^^^^^^^^^^^^^         = note: see https://rustc-dev-guide.rust-lang.org/overview.html#queries and https://rustc-dev-guide.rust-lang.org/query.html for more informationOnce we raise the nightly-MSRV above 1.81, we can remove thisworkaround.Link: https://github.com/Rust-for-Linux/pin-init/commit/bb3e96f3e9a4f5fca80a22af883c7e5aa90f0893[ Moved this commit after the previous one to avoid a build failure due  to unstable features. Changed the cfg to use `USE_RUSTC_FEAUTURES`.  - Benno ]Reviewed-by: Gary Guo &lt;gary@garyguo.net&gt;Link: https://patch.msgid.link/20260319093542.3756606-3-lossin@kernel.orgSigned-off-by: Benno Lossin &lt;lossin@kernel.org&gt;

            List of files:
            /linux/rust/pin-init/src/lib.rs</description>
        <pubDate>Thu, 19 Mar 2026 10:35:25 +0100</pubDate>
        <dc:creator>Benno Lossin &lt;lossin@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>002a121b16c3a20c6e0ff24fc8dad6dab59730f9 - rust: pin-init: build: simplify use of nightly features</title>
        <link>http://kernelsources.org:8080/source/history/linux/rust/pin-init/src/lib.rs#002a121b16c3a20c6e0ff24fc8dad6dab59730f9</link>
        <description>rust: pin-init: build: simplify use of nightly featuresWe use some features that are already stable in later versions of Rust,but only available as unstable features in older Rust versions that thekernel needs to support.Instead of checking if a feature is already stable, simply enable themand allow the warning if the feature is already stable. This avoids theneed of hardcoding whether a feature has been stabilized at a givenversion.`#[feature(...)]` is used when cfg `USE_RUSTC_FEATURES` is enabled. Thebuild script automatically does this when a nightly compiler is detectedor `RUSTC_BOOTSTRAP` is set.Signed-off-by: Gary Guo &lt;gary@garyguo.net&gt;Link: https://github.com/Rust-for-Linux/pin-init/commit/885c5d83d7eb778a796d4a17380a0898b0d0a571[ Added kernel build system changes to always enable USE_RUSTC_FEATURES.  Moved this commit earlier (swapped with the next one) to avoid a build  error. - Benno ]Link: https://patch.msgid.link/20260319093542.3756606-2-lossin@kernel.orgSigned-off-by: Benno Lossin &lt;lossin@kernel.org&gt;

            List of files:
            /linux/rust/pin-init/src/lib.rs</description>
        <pubDate>Thu, 19 Mar 2026 10:35:24 +0100</pubDate>
        <dc:creator>Gary Guo &lt;gary@garyguo.net&gt;</dc:creator>
    </item>
<item>
        <title>1dd419145d090f8fdf149cbb39dea6d968659dd2 - Merge tag &apos;rust-fixes-7.0&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/ojeda/linux</title>
        <link>http://kernelsources.org:8080/source/history/linux/rust/pin-init/src/lib.rs#1dd419145d090f8fdf149cbb39dea6d968659dd2</link>
        <description>Merge tag &apos;rust-fixes-7.0&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/ojeda/linuxPull rust fixes from Miguel Ojeda: &quot;Toolchain and infrastructure:   - Pass &apos;-Zunstable-options&apos; flag required by the future Rust 1.95.0   - Fix &apos;objtool&apos; warning for Rust 1.84.0  &apos;kernel&apos; crate:   - &apos;irq&apos; module: add missing bound detected by the future Rust 1.95.0   - &apos;list&apos; module: add missing &apos;unsafe&apos; blocks and placeholder safety     comments to macros (an issue for future callers within the crate)  &apos;pin-init&apos; crate:   - Clean Clippy warning that changed behavior in the future Rust     1.95.0&quot;* tag &apos;rust-fixes-7.0&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/ojeda/linux:  rust: list: Add unsafe blocks for container_of and safety comments  rust: pin-init: replace clippy `expect` with `allow`  rust: irq: add `&apos;static` bounds to irq callbacks  objtool/rust: add one more `noreturn` Rust function  rust: kbuild: pass `-Zunstable-options` for Rust 1.95.0

            List of files:
            /linux/rust/pin-init/src/lib.rs</description>
        <pubDate>Sun, 22 Feb 2026 17:43:31 +0100</pubDate>
        <dc:creator>Linus Torvalds &lt;torvalds@linux-foundation.org&gt;</dc:creator>
    </item>
<item>
        <title>a58b8764aed9648357b1c5b6368c9943ba33b7f9 - rust: pin-init: replace clippy `expect` with `allow`</title>
        <link>http://kernelsources.org:8080/source/history/linux/rust/pin-init/src/lib.rs#a58b8764aed9648357b1c5b6368c9943ba33b7f9</link>
        <description>rust: pin-init: replace clippy `expect` with `allow``clippy` has changed behavior in [1] (Rust 1.95) where it no longerwarns about the `let_and_return` lint when a comment is placed betweenthe let binding and the return expression. Nightly thus fails to build,because the expectation is no longer fulfilled.Thus replace the expectation with an `allow`.[ The errors were:      error: this lint expectation is unfulfilled          --&gt; rust/pin-init/src/lib.rs:1279:10           |      1279 | #[expect(clippy::let_and_return)]           |          ^^^^^^^^^^^^^^^^^^^^^^           |           = note: `-D unfulfilled-lint-expectations` implied by `-D warnings`           = help: to override `-D warnings` add `#[allow(unfulfilled_lint_expectations)]`      error: this lint expectation is unfulfilled          --&gt; rust/pin-init/src/lib.rs:1295:10           |      1295 | #[expect(clippy::let_and_return)]           |          ^^^^^^^^^^^^^^^^^^^^^^    - Miguel ]Link: https://github.com/rust-lang/rust-clippy/pull/16461 [1]Signed-off-by: Benno Lossin &lt;lossin@kernel.org&gt;Cc: stable@vger.kernel.org # Needed in 6.18.y and later.Link: https://patch.msgid.link/20260215132232.1549861-1-lossin@kernel.orgSigned-off-by: Miguel Ojeda &lt;ojeda@kernel.org&gt;

            List of files:
            /linux/rust/pin-init/src/lib.rs</description>
        <pubDate>Sun, 15 Feb 2026 14:22:30 +0100</pubDate>
        <dc:creator>Benno Lossin &lt;lossin@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>aeb5ecad5316f6af160993915163367290825b6b - rust: pin-init: Implement `InPlaceWrite&lt;T&gt;` for `&amp;&apos;static mut MaybeUninit&lt;T&gt;`</title>
        <link>http://kernelsources.org:8080/source/history/linux/rust/pin-init/src/lib.rs#aeb5ecad5316f6af160993915163367290825b6b</link>
        <description>rust: pin-init: Implement `InPlaceWrite&lt;T&gt;` for `&amp;&apos;static mut MaybeUninit&lt;T&gt;`This feature allows users to use `&amp;&apos;static mut MaybeUninit&lt;T&gt;` as aplace to initialize the value. It mirrors an existing implemetationfor `Box&lt;MaybeUninit&gt;`, but enables users to use external allocationmechanisms such as `static_cell` [1].Signed-off-by: Oleksandr Babak &lt;alexanderbabak@proton.me&gt;Link: https://crates.io/crates/static_cell [1][ Added link to `static_cell` - Benno ]Signed-off-by: Benno Lossin &lt;lossin@kernel.org&gt;

            List of files:
            /linux/rust/pin-init/src/lib.rs</description>
        <pubDate>Thu, 08 Jan 2026 13:43:16 +0100</pubDate>
        <dc:creator>Oleksandr Babak &lt;alexanderbabak@proton.me&gt;</dc:creator>
    </item>
<item>
        <title>4883830e9784bdf6223fe0e5f1ea36d4a4ab4fef - rust: pin-init: rewrite the initializer macros using `syn`</title>
        <link>http://kernelsources.org:8080/source/history/linux/rust/pin-init/src/lib.rs#4883830e9784bdf6223fe0e5f1ea36d4a4ab4fef</link>
        <description>rust: pin-init: rewrite the initializer macros using `syn`Rewrite the initializer macros `[pin_]init!` using `syn`. No functionalchanges intended aside from improved error messages on syntactic andsemantical errors. For example if one forgets to use `&lt;-` with aninitializer (and instead uses `:`):    impl Bar {        fn new() -&gt; impl PinInit&lt;Self&gt; { ... }    }    impl Foo {        fn new() -&gt; impl PinInit&lt;Self&gt; {            pin_init!(Self { bar: Bar::new() })        }    }Then the declarative macro would report:    error[E0308]: mismatched types      --&gt; tests/ui/compile-fail/init/colon_instead_of_arrow.rs:21:9       |    14 |     fn new() -&gt; impl PinInit&lt;Self&gt; {       |                 ------------------ the found opaque type    ...    21 |         pin_init!(Self { bar: Bar::new() })       |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^       |         |       |         expected `Bar`, found opaque type       |         arguments to this function are incorrect       |       = note:   expected struct `Bar`               found opaque type `impl pin_init::PinInit&lt;Bar&gt;`    note: function defined here      --&gt; $RUST/core/src/ptr/mod.rs       |       | pub const unsafe fn write&lt;T&gt;(dst: *mut T, src: T) {       |                     ^^^^^       = note: this error originates in the macro `$crate::__init_internal` which comes from the expansion of the macro `pin_init` (in Nightly builds, run with -Z macro-backtrace for more info)And the new error is:    error[E0308]: mismatched types      --&gt; tests/ui/compile-fail/init/colon_instead_of_arrow.rs:21:31       |    14 |     fn new() -&gt; impl PinInit&lt;Self&gt; {       |                 ------------------ the found opaque type    ...    21 |         pin_init!(Self { bar: Bar::new() })       |                          ---  ^^^^^^^^^^ expected `Bar`, found opaque type       |                          |       |                          arguments to this function are incorrect       |       = note:   expected struct `Bar`               found opaque type `impl pin_init::PinInit&lt;Bar&gt;`    note: function defined here      --&gt; $RUST/core/src/ptr/mod.rs       |       | pub const unsafe fn write&lt;T&gt;(dst: *mut T, src: T) {       |                     ^^^^^Importantly, this error gives much more accurate span locations,pointing to the offending field, rather than the entire macroinvocation.Tested-by: Andreas Hindborg &lt;a.hindborg@kernel.org&gt;Reviewed-by: Gary Guo &lt;gary@garyguo.net&gt;Signed-off-by: Benno Lossin &lt;lossin@kernel.org&gt;

            List of files:
            /linux/rust/pin-init/src/lib.rs</description>
        <pubDate>Fri, 16 Jan 2026 11:54:24 +0100</pubDate>
        <dc:creator>Benno Lossin &lt;lossin@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>901f1d73d2c68017065212d75ffbfbffa119921e - rust: pin-init: allow the crate to refer to itself as `pin-init` in doc tests</title>
        <link>http://kernelsources.org:8080/source/history/linux/rust/pin-init/src/lib.rs#901f1d73d2c68017065212d75ffbfbffa119921e</link>
        <description>rust: pin-init: allow the crate to refer to itself as `pin-init` in doc testsThe `syn` approach requires use of `::pin_init::...` instead of the`$crate::...` construct available to declarative macros. To be able touse the `pin_init` crate from itself (which includes doc tests), we haveto declare it as such.Reviewed-by: Gary Guo &lt;gary@garyguo.net&gt;Tested-by: Andreas Hindborg &lt;a.hindborg@kernel.org&gt;Signed-off-by: Benno Lossin &lt;lossin@kernel.org&gt;

            List of files:
            /linux/rust/pin-init/src/lib.rs</description>
        <pubDate>Fri, 16 Jan 2026 11:54:17 +0100</pubDate>
        <dc:creator>Benno Lossin &lt;lossin@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>61d62ab08f0e62f89929f3920c0b6521d849fd57 - rust: pin-init: remove `try_` versions of the initializer macros</title>
        <link>http://kernelsources.org:8080/source/history/linux/rust/pin-init/src/lib.rs#61d62ab08f0e62f89929f3920c0b6521d849fd57</link>
        <description>rust: pin-init: remove `try_` versions of the initializer macrosThe `try_[pin_]init!` versions of the initializer macros aresuperfluous. Instead of forcing the user to always write an error in`try_[pin_]init!` and not allowing one in `[pin_]init!`, combine theminto `[pin_]init!` that defaults the error to`core::convert::Infallible`, but also allows to specify a custom one.Projects using pin-init still can provide their own defaultinginitializers using the `try_` prefix by using the `#[default_error]`attribute added in a future patch.[ Adjust the definition of the kernel&apos;s version of the `try_`  initializer macros - Benno]Reviewed-by: Gary Guo &lt;gary@garyguo.net&gt;Tested-by: Andreas Hindborg &lt;a.hindborg@kernel.org&gt;Signed-off-by: Benno Lossin &lt;lossin@kernel.org&gt;

            List of files:
            /linux/rust/pin-init/src/lib.rs</description>
        <pubDate>Fri, 16 Jan 2026 11:54:16 +0100</pubDate>
        <dc:creator>Benno Lossin &lt;lossin@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>fc2b38de4c01710ecb9ebb9ecdce9a7bf433e9a8 - add `[pin_]init_scope` to execute code before creating an initializer</title>
        <link>http://kernelsources.org:8080/source/history/linux/rust/pin-init/src/lib.rs#fc2b38de4c01710ecb9ebb9ecdce9a7bf433e9a8</link>
        <description>add `[pin_]init_scope` to execute code before creating an initializerIn more complex cases, initializers need to run arbitrary code beforeassigning initializers to fields. While this is possible using theunderscore codeblock feature (`_: {}`), values returned by suchfunctions cannot be used from later field initializers.The two new functions `[pin_]init_scope` allow users to first run somefallible code and then return an initializer which the function turnsinto a single initializer. This permits using the same value multipletimes by different fields.Reviewed-by: Gary Guo &lt;gary@garyguo.net&gt;Reviewed-by: Danilo Krummrich &lt;dakr@kernel.org&gt;Signed-off-by: Benno Lossin &lt;lossin@kernel.org&gt;Reviewed-by: Alice Ryhl &lt;aliceryhl@google.com&gt;[ Fix typo in commit message: s/functinos/functions/. - Danilo ]Signed-off-by: Danilo Krummrich &lt;dakr@kernel.org&gt;

            List of files:
            /linux/rust/pin-init/src/lib.rs</description>
        <pubDate>Thu, 16 Oct 2025 23:05:39 +0200</pubDate>
        <dc:creator>Benno Lossin &lt;lossin@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>1fa516794fdd27b96cee77f8b12ac916b8b6a9a7 - rust: pin-init: add code blocks to `[try_][pin_]init!` macros</title>
        <link>http://kernelsources.org:8080/source/history/linux/rust/pin-init/src/lib.rs#1fa516794fdd27b96cee77f8b12ac916b8b6a9a7</link>
        <description>rust: pin-init: add code blocks to `[try_][pin_]init!` macrosAllow writing `_: { /* any number of statements */ }` in initializers torun arbitrary code during initialization.    try_init!(MyStruct {        _: {            if check_something() {                return Err(MyError);            }        },        foo: Foo::new(val),        _: {            println!(&quot;successfully initialized `MyStruct`&quot;);        },    })Tested-by: Alexandre Courbot &lt;acourbot@nvidia.com&gt;Reviewed-by: Gary Guo &lt;gary@garyguo.net&gt;Reviewed-by: Alice Ryhl &lt;aliceryhl@google.com&gt;Tested-by: Danilo Krummrich &lt;dakr@kernel.org&gt;Reviewed-by: Danilo Krummrich &lt;dakr@kernel.org&gt;Signed-off-by: Benno Lossin &lt;lossin@kernel.org&gt;

            List of files:
            /linux/rust/pin-init/src/lib.rs</description>
        <pubDate>Fri, 05 Sep 2025 16:05:31 +0200</pubDate>
        <dc:creator>Benno Lossin &lt;lossin@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>d49c56368c0cc98cdf02ae21dd275eba92f1c333 - rust: pin-init: rename `project` -&gt; `project_this` in doctest</title>
        <link>http://kernelsources.org:8080/source/history/linux/rust/pin-init/src/lib.rs#d49c56368c0cc98cdf02ae21dd275eba92f1c333</link>
        <description>rust: pin-init: rename `project` -&gt; `project_this` in doctestThe next commit makes the `#[pin_data]` attribute generate a `project`function that would collide with any existing ones.Signed-off-by: Benno Lossin &lt;lossin@kernel.org&gt;

            List of files:
            /linux/rust/pin-init/src/lib.rs</description>
        <pubDate>Fri, 05 Sep 2025 19:12:06 +0200</pubDate>
        <dc:creator>Benno Lossin &lt;lossin@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>e8fa0481ea15ba1d40a836fa5dbfc1f49680fba8 - Merge tag &apos;pin-init-v6.17&apos; of https://github.com/Rust-for-Linux/linux into rust-next</title>
        <link>http://kernelsources.org:8080/source/history/linux/rust/pin-init/src/lib.rs#e8fa0481ea15ba1d40a836fa5dbfc1f49680fba8</link>
        <description>Merge tag &apos;pin-init-v6.17&apos; of https://github.com/Rust-for-Linux/linux into rust-nextPull pin-init updates from Benno Lossin: &quot;Added:   - &apos;impl&lt;T, E&gt; [Pin]Init&lt;T, E&gt; for Result&lt;T, E&gt;&apos;, so results are now     (pin-)initializers.   - &apos;Zeroable::init_zeroed()&apos; delegating to &apos;init_zeroed()&apos;.   - New &apos;zeroed()&apos;, a safe version of &apos;mem::zeroed()&apos; and also provide     it via &apos;Zeroable::zeroed()&apos;.   - Implement &apos;Zeroable&apos; for &apos;Option&lt;&amp;T&gt;&apos; and &apos;Option&lt;&amp;mut T&gt;&apos;.   - Implement &apos;Zeroable&apos; for &apos;Option&lt;[unsafe] [extern &quot;abi&quot;]     fn(...args...) -&gt; ret&gt;&apos; for &apos;&quot;Rust&quot;&apos; and &apos;&quot;C&quot;&apos; ABIs and up to 20     arguments.  Changed:   - Blanket impls of &apos;Init&apos; and &apos;PinInit&apos; from &apos;impl&lt;T, E&gt;     [Pin]Init&lt;T, E&gt; for T&apos; to &apos;impl&lt;T&gt; [Pin]Init&lt;T&gt; for T&apos;.   - Renamed &apos;zeroed()&apos; to &apos;init_zeroed()&apos;.  Upstream dev news:   - More CI improvements to deny warnings, use &apos;--all-targets&apos;. Also     check the synchronization status of the two &apos;-next&apos; branches in     upstream and the kernel.&quot;Acked-by: Andreas Hindborg &lt;a.hindborg@kernel.org&gt;* tag &apos;pin-init-v6.17&apos; of https://github.com/Rust-for-Linux/linux:  rust: pin-init: examples, tests: use `ignore` instead of conditionally compiling tests  rust: init: remove doctest&apos;s `Error::from_errno` workaround  rust: init: re-enable doctests  rust: pin-init: implement `ZeroableOption` for function pointers with up to 20 arguments  rust: pin-init: change `impl Zeroable for Option&lt;NonNull&lt;T&gt;&gt;` to `ZeroableOption for NonNull&lt;T&gt;`  rust: pin-init: implement `ZeroableOption` for `&amp;T` and `&amp;mut T`  rust: pin-init: add `zeroed()` &amp; `Zeroable::zeroed()` functions  rust: pin-init: add `Zeroable::init_zeroed`  rust: pin-init: rename `zeroed` to `init_zeroed`  rust: pin-init: feature-gate the `stack_init_reuse` test on the `std` feature  rust: pin-init: examples: pthread_mutex: disable the main test for miri  rust: pin-init: examples, tests: add conditional compilation in order to compile under any feature combination  rust: pin-init: change blanket impls for `[Pin]Init` and add one for `Result&lt;T, E&gt;`  rust: pin-init: improve safety documentation for `impl&lt;T&gt; [Pin]Init&lt;T&gt; for T`

            List of files:
            /linux/rust/pin-init/src/lib.rs</description>
        <pubDate>Sun, 13 Jul 2025 23:05:14 +0200</pubDate>
        <dc:creator>Miguel Ojeda &lt;ojeda@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>b6985083be1deb1f5fa14d160265f57d9ccb42a1 - rust: Use consistent &quot;# Examples&quot; heading style in rustdoc</title>
        <link>http://kernelsources.org:8080/source/history/linux/rust/pin-init/src/lib.rs#b6985083be1deb1f5fa14d160265f57d9ccb42a1</link>
        <description>rust: Use consistent &quot;# Examples&quot; heading style in rustdocUse a consistent `# Examples` heading in rustdoc across the codebase.Some modules previously used `## Examples` (even when they should beavailable as top-level headers), while others used `# Example`, whichdeviates from the preferred `# Examples` style.Suggested-by: Miguel Ojeda &lt;ojeda@kernel.org&gt;Signed-off-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;Acked-by: Benno Lossin &lt;lossin@kernel.org&gt;Link: https://lore.kernel.org/r/ddd5ce0ac20c99a72a4f1e4322d3de3911056922.1749545815.git.viresh.kumar@linaro.orgSigned-off-by: Miguel Ojeda &lt;ojeda@kernel.org&gt;

            List of files:
            /linux/rust/pin-init/src/lib.rs</description>
        <pubDate>Tue, 10 Jun 2025 11:03:00 +0200</pubDate>
        <dc:creator>Viresh Kumar &lt;viresh.kumar@linaro.org&gt;</dc:creator>
    </item>
<item>
        <title>ec87ec35ca8bd61bfc1200224d332b4573b9dafa - rust: pin-init: implement `ZeroableOption` for function pointers with up to 20 arguments</title>
        <link>http://kernelsources.org:8080/source/history/linux/rust/pin-init/src/lib.rs#ec87ec35ca8bd61bfc1200224d332b4573b9dafa</link>
        <description>rust: pin-init: implement `ZeroableOption` for function pointers with up to 20 arguments`Option&lt;[unsafe] [extern &quot;abi&quot;] fn(...args...) -&gt; ret&gt;` is documented[1] to also have the `None` variant equal all zeroes.Link: https://doc.rust-lang.org/stable/std/option/index.html#representation [1]Link: https://github.com/Rust-for-Linux/pin-init/pull/56/commits/b6c1ab4fb3699765f81ae512ecac5a2f032d8d51Link: https://lore.kernel.org/all/20250523145125.523275-7-lossin@kernel.orgSigned-off-by: Benno Lossin &lt;lossin@kernel.org&gt;

            List of files:
            /linux/rust/pin-init/src/lib.rs</description>
        <pubDate>Fri, 23 May 2025 16:51:02 +0200</pubDate>
        <dc:creator>Benno Lossin &lt;lossin@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>9f473538706b9fb5e82c9864b04089d35e4f93d5 - rust: pin-init: change `impl Zeroable for Option&lt;NonNull&lt;T&gt;&gt;` to `ZeroableOption for NonNull&lt;T&gt;`</title>
        <link>http://kernelsources.org:8080/source/history/linux/rust/pin-init/src/lib.rs#9f473538706b9fb5e82c9864b04089d35e4f93d5</link>
        <description>rust: pin-init: change `impl Zeroable for Option&lt;NonNull&lt;T&gt;&gt;` to `ZeroableOption for NonNull&lt;T&gt;`This brings it in line with references. It too is listed in [1].Link: https://doc.rust-lang.org/stable/std/option/index.html#representationLink: https://github.com/Rust-for-Linux/pin-init/pull/56/commits/8e52bf56ddc2190ce901d2f7c008ab8a64f653a9Link: https://lore.kernel.org/all/20250523145125.523275-6-lossin@kernel.orgSigned-off-by: Benno Lossin &lt;lossin@kernel.org&gt;

            List of files:
            /linux/rust/pin-init/src/lib.rs</description>
        <pubDate>Fri, 23 May 2025 16:51:01 +0200</pubDate>
        <dc:creator>Benno Lossin &lt;lossin@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>e93a238605348bc40fed77ba5582e311376d113b - rust: pin-init: implement `ZeroableOption` for `&amp;T` and `&amp;mut T`</title>
        <link>http://kernelsources.org:8080/source/history/linux/rust/pin-init/src/lib.rs#e93a238605348bc40fed77ba5582e311376d113b</link>
        <description>rust: pin-init: implement `ZeroableOption` for `&amp;T` and `&amp;mut T``Option&lt;&amp;T&gt;` and `Option&lt;&amp;mut T&gt;` are documented [1] to have the `None`variant be all zeroes.Link: https://doc.rust-lang.org/stable/std/option/index.html#representation [1]Link: https://github.com/Rust-for-Linux/pin-init/pull/56/commits/5ef1638c79e019d3dc0c62db5905601644c2e60aLink: https://lore.kernel.org/all/20250523145125.523275-5-lossin@kernel.orgSigned-off-by: Benno Lossin &lt;lossin@kernel.org&gt;

            List of files:
            /linux/rust/pin-init/src/lib.rs</description>
        <pubDate>Fri, 23 May 2025 16:51:00 +0200</pubDate>
        <dc:creator>Benno Lossin &lt;lossin@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>d67b37012080cf1978b5fd36f040a53f92152243 - rust: pin-init: add `zeroed()` &amp; `Zeroable::zeroed()` functions</title>
        <link>http://kernelsources.org:8080/source/history/linux/rust/pin-init/src/lib.rs#d67b37012080cf1978b5fd36f040a53f92152243</link>
        <description>rust: pin-init: add `zeroed()` &amp; `Zeroable::zeroed()` functions`zeroed()` returns a zeroed out value of a sized type implementing`Zeroable`.The function is added as a free standing function, in addition to anassociated function on `Zeroable`, because then it can be marked `const`(functions in traits can&apos;t be const at the moment).Link: https://github.com/Rust-for-Linux/pin-init/pull/56/commits/809e4ec160579c1601dce5d78b432a5b6c8e4e40Link: https://lore.kernel.org/all/20250523145125.523275-4-lossin@kernel.orgSigned-off-by: Benno Lossin &lt;lossin@kernel.org&gt;

            List of files:
            /linux/rust/pin-init/src/lib.rs</description>
        <pubDate>Fri, 23 May 2025 16:50:59 +0200</pubDate>
        <dc:creator>Benno Lossin &lt;lossin@kernel.org&gt;</dc:creator>
    </item>
</channel>
</rss>
