You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
import std.io;structTest<auto t>{std::print("{}",t);u32 a = t;};
le Test<5> test1;
be Test<5> test2;
std::print("{} {}",test1,test2);
results in:
I: 5
I: 5
I: bitfield Test { a = 5, t = 5 } bitfield Test { a = 83886080, t = 6646139978924579364519035301401722880 }
Inside the template, the parameter is read the same way (both being 5). This works as expected and allows consistent used for e.g. bitfield lengths.
However, the endianness seems to take effect when reading the template parameters (and locals) from outside the template. This makes it difficult to determine what they were, such as from a format function