Unions that convert `()` to a reference don't work
Offen
Dieses Issue hat noch niemand übernommen.
bug
- Vorherrschende Sprache
- Rust
- Sterne
- 3.4k
- Forks
- 126
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
This came up at #420, see more details there. Basic repro (a copy of MaybeUninit):
// build-pass
#[spirv_std::spirv(fragment)]
pub fn main() {
union A { x: (), y: &'static glam::Vec4 }
let a = A { x: () };
}
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne damit, das build-pass-Beispiel aus diesem Issue zu reproduzieren, und lies die zugehörige Diskussion in #420. Verfolge die Compiler-Behandlung für eine Union, die () und eine 'static-Referenz enthält; abgeschlossen ist die Aufgabe, wenn das bereitgestellte Shader-Beispiel erfolgreich kompiliert wird.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- rust
- Bereich
- compilers
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100