[dmd-internals] case hashOf(string literal) doesn't compile
Steven Schveighoffer via dmd-internals
dmd-internals at puremagic.com
Thu Jul 28 06:15:28 PDT 2016
> On Jul 27, 2016, at 12:57 AM, cy via dmd-internals <dmd-internals at puremagic.com> wrote:
> I'm not sure, but I think "bar".sizeof is supposed to evaluate to 3 at compile time, rather than 16 regardless of the string's length.
I think you have that backwards. “bar” is an immutable(char), which is a struct with a pointer and a size_t. Should be 16.
This may be a holdover from older compilers, when “bar” was actually typed as char. Definitely seems like a bug in CTFE, please file.
Note, this compiles with latest released compiler, so it should be flagged a regression. I think the issue was there, but hashOf has gone through some changes recently for safety, so that probably uncovered the issue.
More information about the dmd-internals