---
# System prepended metadata

title: Meeting 2025-01-22
tags: [meeting notes]

---

# Meeting 2025-01-22
<!-- Leave your topic starting with ### in the relevant sections below -->

## Critical
<!-- bugs, soundness issues, urgent patches/reviews etc. -->

## Status Reports
<!-- You want to report on something you are working on/request reviews.
Or you want to know the status of something someone else is doing -->

## Discussion Questions
<!-- Anything that requires lengthy discussion/more general questions also fit here -->

### `Opaque` type and `Aliased` type

https://lore.kernel.org/rust-for-linux/CANiq72=o1ouGc4ScvDkz_uMnEfM+D47YQTMh0jTC=Go4tvQvkg@mail.gmail.com/

https://lore.kernel.org/rust-for-linux/20250122055347.597798-1-dirk.behme@de.bosch.com/

`Aliased` patch: https://lore.kernel.org/rust-for-linux/Z46Gzg_5kv-MwZNL@boqun-archlinux/T/#m3cb76f9810ce1ac341c2def05faa26e907d6db9e

Rust `UnsafePinned` RFC: https://rust-lang.github.io/rfcs/3467-unsafe-pinned.html

### Avoid calling destructor if initialization failed 

This would greatly simplify Daniel's code

```rust
pin_init!(&this in Foo {
    a <- todo!(),
    b: todo!(),
    // Use `PhantomPinned` field today is already possible as a workaround.
    _: {
       // Register this
    }
})
```

### Using `pin_init` to allow ordering of deregistration

...

### `as_char_ptr` removal?

We cannot remove `kernel::CStr::as_char_ptr` in favour of `[u8]::as_ptr` because the latter cuts out the NUL byte.

Conclusion: rename `as_char_ptr` to `as_ptr` to shadow the deref'ed. (And add documentation on that this is different from deref'd version).

## Miscellaneous
<!-- stuff that does not fit into other categories -->
