Christian Buttner
Christian Buttner
This fix broke assigning to bitstructs with designated initializers. ```c bitstruct Flags : int { bool flag1; } struct Foo { long x; Flags flags; } fn int main(String[] args)...
Looks fixed, thanks!
Works great, thank you.
Any chance this could also be improved? ``` module test; import std::io; macro @macro_2(#x) { int a = #x; } macro @macro_1(#x) { @macro_2(#x); } fn int main(String[] args) {...
Better, but I found another case: ``` module test; import std::io; macro void @macro_2(x) { int a = x; } macro void @macro_1(#x) { @macro_2(#x); } fn int main(String[] args)...
That case is fixed, but here's one more: ``` module test; struct Foo { bool a; int b; } fn int main(String[] args) { mem::new(Foo, { .test = 1, });...
Cool, I'll let you know if I stumble across another case.
The compile time macro is a good replacement for my use case. I'm in favor to emit an error, otherwise it's just potentially confusing UB.
Yes, I'm now getting the error if I go back to my original code.
The simplest example I can give is ```c fn void main() { foo(); } fn void foo() { bar(); } macro bar() { unreachable(); } ``` Which gives the call...