-
-
Notifications
You must be signed in to change notification settings - Fork 705
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
Fix issue 20478 #7342
Fix issue 20478 #7342
Conversation
|
Thanks for your pull request and interest in making D better, @Biotronic! We are looking forward to reviewing it, and you should be hearing from a maintainer soon.
Please see CONTRIBUTING.md for more information. If you have addressed all reviews or aren't sure how to proceed, don't hesitate to ping us with a simple comment. Bugzilla references
Testing this PR locallyIf you don't have a local development environment setup, you can use Digger to test this PR: dub fetch digger
dub run digger -- build "master + phobos#7342" |
|
|
BuildKite runs out of memory testing printf, and Pipelines fails in part because my name is weird. I don't see how the former is affected by this PR, so if it is, please tell me how to fix it. As for fixing my name, I guess I can do that, but it seems somewhere there's a two- or three-level mojibake factory, and it will probably mess up other people's names as well. (my last name is Kjærås. Translating that from UTF-8 to Windows-1252 you get KjærÃ¥s, which is the first version encountered. I'm not entirely sure what the next steps are to get Kjâ€~r†s, but since there's three characters where previously there were two, we've probably visited UTF-8 again before trying another ) |
Looks unrelated to me. In the last weeks we had several such false positives. If anyone has the ability to rerun these tests, it would be nice to see, if this repeats.
As far as I know, @wilzbach set up the azur pipelines. Maybe he can help here? |
|
See dlang/dmd#10575 for another case like this. |
|
I don't think |
|
@thewilsonator Also this as PR is adding a new symbol @atilaneves should approve it, before it can be merged. |
👍
I don't know much about the Windows details, but I guess this would be a workaround: dlang/dmd#10719. |
|
I read the original issue and it says "it makes sense" to have this but doesn't actually explain why it's needed. |
| else static if (!is(typeof((T1 a, T2 b) => a.opCmp(b)))) | ||
| enum hasNanComparison = false; | ||
| else | ||
| enum hasNanComparison = hasNanComparison!(ReturnType!((T1 a, T2 b) => a.opCmp(b))); |
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.
What is the reason for the recursion instead of isFloatingPoint!(ReturnType!((T1 a, T2 b) => a.opCmp(b)))? If there's some subtlety here, please add a comment explaining it.
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.
opCmp could return a type that isn't floating-point but has an opCmp returning float. This tower of opCmp could be multiple layers deep. I don't actually see a good reason to do this, but that doesn't mean a good reason doesn't exist.
|
The autotester failures will most likely be fixed by a rebase, however, the rationale, as @atilaneves pointed out is still missing. |
|
Closing due to lack of activity. We still have the bugzilla issue and this PR is linked to it. If anyone can provide a rationale for this change and is willing to take it to the finish line, feel free to reopen. |
No description provided.