structs of structs don't seem to work
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
Direzione di ricerca
Inizia riproducendo i casi di inizializzazione mostrati di StructA e StructB con l’ambiente OSL 1.13.12.0.2 segnalato. Il reporter menziona di usare osltoy, ma è stato bloccato da issue 2035; verifica se il caso della variabile temporanea continua a produrre zeri e individua il percorso rilevante del compilatore o della generazione del codice prima di definire la correzione.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Describe the bug
Adding a struct to a struct seems to result in undefined initialization behavior.
OSL version and dependencies
- OSL branch/version: 1.13.12.0.2
- OS: Rocky Linux release 9.4
- C++ compiler: clang-15.0.7.3
- LLVM version: llvm-15.0.7.1
- OIIO version: OpenImageIO-2.4.13.0.4
- Qt version: Qt-5.15.3.8
To Reproduce
Steps to reproduce the behavior:
Given the following structs:
struct StructA
{
float cellRand;
point minDist;
point closest;
point secondClosest;
float edgeDist;
};
struct StructB
{
StructA result;
int level;
float scale;
};
and given a shading function with signature:
StructA somefunction();
If you try and initialize using:
StructB value = StructB(somefunction(), 0, 1.0);
all the attributes are correctly set in the various structs, but if, instead, you do:
StructA temp = somefunction();
StructB value = StructB(temp, 0, 1.0);
then value is incorrect, and the result member is filled with zeroes.
Evidence
- I was trying to assemble a full test example using osltoy, but was blocked by: https://github.com/AcademySoftwareFoundation/OpenShadingLanguage/issues/2035
It'd be great for someone else to confirm they can reproduce this behavior, thanks!
- Lingua principale
- C++
- Stelle
- 2.3k
- Fork
- 414
- Merge medio
- 2g 14h
- PR unite (30g)
- 13
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un 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 AcademySoftwareFoundation/OpenShadingLanguage
-
build / testing / port / CI
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
AcademySoftwareFoundation/OpenShadingLanguage#2148 · 5 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
AcademySoftwareFoundation/OpenShadingLanguage#2109 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 38/100
AcademySoftwareFoundation/OpenShadingLanguage#2175 ·
I maintainer di solito rispondono entro 1 giorno
-
Tracesets handling proposalAperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
AcademySoftwareFoundation/OpenShadingLanguage#2146 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
AcademySoftwareFoundation/OpenShadingLanguage#2135 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di AcademySoftwareFoundation/OpenShadingLanguage
Issue simili
-
Broken links in the docsAperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
microsoft/onnxruntime#33018 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
DataLakeFileSystemClient::ListPaths() throws JSON exception due to accessing undefined fieldsApertacustomer-reported needs-triage question
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
Azure/azure-sdk-for-cpp#7435 ·
I maintainer di solito rispondono entro 1 giorno
-
ChromieCraft Generic Confirmed World Event
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
azerothcore/azerothcore-wotlk#27882 ·
I maintainer di solito rispondono entro 1 giorno
-
MacOS build failureApertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
aristocratos/btop#1874 ·
I maintainer di solito rispondono entro 1 giorno