[Migrated] Allow using `MaybeUninit`
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 3.4k
- Forks
- 125
- PR merge metrics
- No merged PRs in 30d
Description
Issue automatically imported from old repo: https://github.com/EmbarkStudios/rust-gpu/issues/981
Old labels: t: enhancement
Originally creatd by NiklasNummelin on 2023-01-03T13:14:43Z
When using MaybeUninit to initialize variables one gets this issue:
error: Cannot cast between pointer types. From: [u8; 256]. To: *struct core::mem::ManuallyDrop<[Vec4; 16]> { value: [f32x4; 16] }.
Would be nice to allow, if possible, as it's often unnecessary to initialize variables in shaders and adds additional overhead.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue provides no file, test, or entry point. Start by reproducing the reported MaybeUninit pointer-cast error in a shader example, then trace the compiler handling that rejects the cast; done means MaybeUninit-based uninitialized variables compile without the reported error and existing shader tests still pass.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- compilers
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100