-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Removes pow(complex,int) overload #1299
Removes pow(complex,int) overload #1299
Conversation
- Restrict overloads to complex and arithmetic types. - _Uglify exiting type aliases.
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.
Thanks for fixing this longstanding bug! Everything looks good to me, except for the pre-existing mess that we've gotten into with Gaussian integers. Since that pow
overload isn't helping conformance (and indeed complicates overload resolution for your fix), and the basic scenario of pow(complex<int>, int)
has always been broken, I'll push a change to remove that overload.
This scenario has always been broken.
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.
I verified that the STL builds and the libcxx test directory passes (for Clang which doesn't emit the warning) with the Gaussian integer pow
removed.
@cbezault - I pushed this change after you approved.
@CaseyCarter - This is just to say
I have final-reviewed
the complex pow
PR
that was assigned to you
on Wednesday
and which
you were probably
saving
for Friday
Forgive me
@MattStephanson's fix was delicious
so conformant
and so much removed complexity
Thanks again for making this |
Fixes #1260. Test still doesn't run cleanly, unfortunately, due to implicit narrowing conversion in test code.
Removes pow(complex,int) overload, per N4861 [cmplx.over]/3.
_Uglify
existing type aliases.