New issue
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
reimplement std.traits.ParameterStorageClassTuple() #5427
reimplement std.traits.ParameterStorageClassTuple() #5427
Conversation
* to avoid breaking existing code. | ||
*/ | ||
if (result == (ParameterStorageClass.ref_ | ParameterStorageClass.return_)) | ||
result = ParameterStorageClass.return_; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this really a concern as the result is passed via bit flags?
Isn't a much bigger concern that ParameterStorageClassTuple
will then for this subset return an invalid/unexpected result and thus potentially break much more code in the future?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This function is used extensively by many organizations, and breaking legacy behavior is beyond the scope of this PR.
The autotester errors show well why |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nicely done
std/traits.d
Outdated
} | ||
else | ||
{ | ||
static assert(0, func[0].stringof ~ "is not a function"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
space before "is not a..."
6374951
to
6052b4c
Compare
6052b4c
to
1757660
Compare
Auto-merge toggled on |
Hmm it seems like Vibe.d 0.7.31-rc.2 doesn't like this change:
|
Hmm why was it then accepted? I don't think I pressed the red button for this. @WalterBright I'll post a revert to see whether it fixes the matter. |
We disabled Jenkins as a required CI because it was broken while @MartinNowak was unavailable. |
Reimplement to remove dependency on demangler.
Blocked by dlang/dmd#6829