fix: Const conversions
I maintainer di solito rispondono entro 2 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 65/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- typescript
- Ambito
- compilers
Direzione di ricerca
The issue involves constant propagation and type conversions in the TypeGPU compiler. Look at the code handling implicit/explicit conversions (like d.i32()) and how they affect the 'origin' (compile-time vs runtime). The failing tests are in the test suite; start by running them to see the error. Investigate the resolution logic for switch statements and constant folding to ensure conversions preserve compile-time constness.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Implicit and explicit conversions currently change the origin to runtime.
This breaks the following switch expressions:
it('...', () => {
const one = tgpu.const(d.u32, 1);
const fn = () => {
'use gpu';
switch (d.i32(1)) {
case one.$:
}
};
expect(() => tgpu.resolve([fn])).toThrowErrorMatchingInlineSnapshot(`
[Error: Resolution of the following tree failed:
- <root>
- fn*:fn
- fn*:fn(): All of switch tests must be constant.
Test 'one.$' is not known at comptime, making the following switch statement invalid.
This error may be caused by an implicit conversion.
switch (d.i32(1)) {
case one.$:
}]
`);
});
it('...', () => {
const one = tgpu.const(d.i32, 1);
const fn = () => {
'use gpu';
switch (d.i32(1)) {
case d.i32(one.$):
}
};
expect(() => tgpu.resolve([fn])).toThrowErrorMatchingInlineSnapshot(`
[Error: Resolution of the following tree failed:
- <root>
- fn*:fn
- fn*:fn(): All of switch tests must be constant.
Test 'd.i32(one.$)' is not known at comptime, making the following switch statement invalid.
This error may be caused by an implicit conversion.
switch (d.i32(1)) {
case d.i32(one.$):
}]
`);
});
- Lingua principale
- TypeScript
- Stelle
- 3.3k
- Fork
- 135
- Merge medio
- 4g 1h
- PR unite (30g)
- 65
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di software-mansion/TypeGPU
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
software-mansion/TypeGPU#3219 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
software-mansion/TypeGPU#3213 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
software-mansion/TypeGPU#3008 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
software-mansion/TypeGPU#2948 · 2 commenti ·
I maintainer di solito rispondono entro 2 giorni
-
docs: Fix camera orientation in "Monocular Light Injection" exampleForse già presa @pullfrog l’ha presa 59 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
software-mansion/TypeGPU#2890 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
Tutte le issue di software-mansion/TypeGPU
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
ccch1mneyyy/dsh-TUI#1631 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
MiniMax-AI/minimax-code#507 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
-
Transient OAuth login failure persists in getLoginStatus and masks active account in dashboardForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Apertaaccount-pool bug gui
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
lidge-jun/opencodex#7378 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Admin search throws for permissions added through Admin.generalIndexItems('permissions', ...)Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno