mirror of
https://github.com/slint-ui/slint.git
synced 2025-10-28 10:49:46 +00:00
We currently forward declare classes as we use them in functions.
But this breaks if classes with the same name were declared in the
parent namespace. As shown with this example
```C++
// Uncomment that line to make the code break
//struct SharedGlobals;
namespace ns {
// Is that a forward declaration in `ns`?
// Depends if it was declared before in the parent namespace
void foo(struct SharedGlobals *x) {}
// Actualy define ns::SharedGlobal
struct SharedGlobals { int x; };
int xyz() {
SharedGlobals globals;
foo(&globals);
}
}
```
So make sure we forward-declare the classes properly to be more robust
and be able to include generated file with namespace after a file
without namespace
CC #2909
|
||
|---|---|---|
| .. | ||
| libraries | ||
| multiple-includes | ||
| CMakeLists.txt | ||
| datastructures.cpp | ||
| eventloop.cpp | ||
| interpreter.cpp | ||
| models.cpp | ||
| platform_eventloop.cpp | ||
| properties.cpp | ||
| redpixel.png | ||
| test.slint | ||
| testing.cpp | ||
| window.cpp | ||