<feed xmlns='http://www.w3.org/2005/Atom'>
<title>pm24.git/rust/kernel/types.rs, branch v6.2-rc3</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<id>https://git.kobert.dev/pm24.git/atom?h=v6.2-rc3</id>
<link rel='self' href='https://git.kobert.dev/pm24.git/atom?h=v6.2-rc3'/>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/'/>
<updated>2022-12-04T00:59:16Z</updated>
<entry>
<title>rust: types: add `Opaque` type</title>
<updated>2022-12-04T00:59:16Z</updated>
<author>
<name>Wedson Almeida Filho</name>
<email>wedsonaf@gmail.com</email>
</author>
<published>2022-11-10T16:41:40Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=b9ecf9b9ac5969d7b7ea786ce5c76e24246df2c5'/>
<id>urn:sha1:b9ecf9b9ac5969d7b7ea786ce5c76e24246df2c5</id>
<content type='text'>
Add the `Opaque` type, which is meant to be used with FFI objects
that are never interpreted by Rust code, e.g.:

    struct Waiter {
        completion: Opaque&lt;bindings::completion&gt;,
        next: *mut Waiter,
    }

It has the advantage that the objects don't have to be
zero-initialised before calling their init functions, making
the code performance closer to C.

Signed-off-by: Wedson Almeida Filho &lt;wedsonaf@gmail.com&gt;
[Reworded, adapted for upstream and applied latest changes]
Signed-off-by: Miguel Ojeda &lt;ojeda@kernel.org&gt;
</content>
</entry>
<entry>
<title>rust: types: add `Either` type</title>
<updated>2022-12-04T00:59:16Z</updated>
<author>
<name>Wedson Almeida Filho</name>
<email>wedsonaf@gmail.com</email>
</author>
<published>2022-11-10T16:41:39Z</published>
<link rel='alternate' type='text/html' href='https://git.kobert.dev/pm24.git/commit/?id=ba20915bae49024dab6ee582abdd4cd8944a3e55'/>
<id>urn:sha1:ba20915bae49024dab6ee582abdd4cd8944a3e55</id>
<content type='text'>
Introduce the new `types` module of the `kernel` crate with
`Either` as its first type.

`Either&lt;L, R&gt;` is a sum type that always holds either a value
of type `L` (`Left` variant) or `R` (`Right` variant).

For instance:

    struct Executor {
        queue: Either&lt;BoxedQueue, &amp;'static Queue&gt;,
    }

Signed-off-by: Wedson Almeida Filho &lt;wedsonaf@gmail.com&gt;
Reviewed-by: Wei Liu &lt;wei.liu@kernel.org&gt;
[Reworded, adapted for upstream and applied latest changes]
Signed-off-by: Miguel Ojeda &lt;ojeda@kernel.org&gt;
</content>
</entry>
</feed>
