We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
struct Bar { enum bar = 1; } void foo(A)(A[], A[1 << A.bar]) {} void main() { foo((Bar[]).init, (Bar[2]).init); }
Segfaults with DMD 2.109.1 on both win32 and linux. Note that Bar.bar doesn't actually have to be present for this to segfault:
struct Bar {} void foo(A)(A[], A[1 << A.bar]) {} void main() { foo((Bar[]).init, (Bar[2]).init); }
The text was updated successfully, but these errors were encountered:
I see the segfault on run.dlang.org, but locally I get with DMD64 D Compiler v2.109.1:
testice.d(2): Error: integer constant expression expected instead of `1 << A.bar`
And with dmd master, it passes. Is this specific to 32-bit?
Sorry, something went wrong.
Ah, sorry for the omission. It was 64-bit. Though I seem to get the same result with -m32.
Fix dlang#20907 - DMD segfaults with static array length parameter de…
28a5019
…rived from left-shifted template parameter property
Fix #20907 - DMD segfaults with static array length parameter derived…
3945e81
… from left-shifted template parameter property (#20919)
Successfully merging a pull request may close this issue.
Segfaults with DMD 2.109.1 on both win32 and linux. Note that Bar.bar doesn't actually have to be present for this to segfault:
The text was updated successfully, but these errors were encountered: