Skip to content
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 12661: [REG2.066a] std.regex with -debug causes linker errors #2132

Closed
wants to merge 223 commits into from
Closed

FIX 12661: [REG2.066a] std.regex with -debug causes linker errors #2132

wants to merge 223 commits into from

Conversation

qchikara
Copy link
Contributor

https://issues.dlang.org/show_bug.cgi?id=12661

I have no idea what is the actual problem of regression.
This pull is a minimum workaround which removes an inference mismatch from std.range.SortedRange.

monarchdodra and others added 30 commits March 17, 2014 22:48
Fix issue 12446 - std.parallelism.amap: prefer iteration to indexing
Undefined format in std.algorithm.max
Test that UTF-8 decoding yields a value in the valid range.
UTF-8 may encode values beyond these covered by [0, 0x10FFFF].
Fix issue 12419: assertion failure in std.utf
Fix Issue 12449 - Undefined format in std.algorithm.max
Following typical design in other languages, the function is named
uniform01.  It can be templated on floating-point type, defaulting
to double if none is specified.

The implementation is pretty much derived from its counterpart in
Boost.Random, in particular in its taking account of the different
requirements for integral versus floating-point RNG values, and in
checking that the generated variate is less than 1 before returning.
This last check is necessary simply because we can't guarantee, in
the case of a floating-point based RNG, that we will not get a
result exactly equal to 1.

Fixes http://d.puremagic.com/issues/show_bug.cgi?id=5240
Fixing 9975 revealed that checking `pointsTo` was creating problems in swap for legitimate use cases.

This is because:
1. pointsTo can sometimes create "false positives"
2. Internal pointing is not outright forbidden, it is just that the runtime is allowed to make the assumption they don't exist.

While swapping aliasing objects is a sign of stink, it should still "just work".
as well as remove erroneous documentation.
Issue 5228 - Add GetOptException and document exceptions
Fixup for 9975: swap and pointsTo
Improve emplaceRef for qualified construction
Adding extra asserts always helps. As for the enforce, I'm unsure why it was there in the first place: All the other branches simply make the assumption the target is large enough.
Only need to chech u < 1 if RNG returns non-integral variates.
memcpy is not CTFEable, so avoid it for structs without
dtor, postblit that can be assigned with plain =.

This leaves as is (compile error in CTFE) structs that contain
immutable/const memebers the fact that moves overwrites such
fields is questionable to begin with.
Fix newly introduced FQN issue caused by 313
Make move CTFEable for simple structs and classes
Split the overly long sentence in two, otherwise
it's easy to miss the point about auto-generation.
Clarify DDocs of hasElaborateAssign
@CyberShadow
Copy link
Member

What's going on with the commit list in this pull?

@qchikara
Copy link
Contributor Author

qchikara commented May 6, 2014

Wooow!! I didn't noticed that it mirrors after I have sent.
I tried to change the order of my small commit, tussling with Git.

Let me fix this again, please.

@qchikara
Copy link
Contributor Author

qchikara commented May 6, 2014

Umm...got worse and worse.
Sorry that I dispose, CLOSE this pull and create NEW one. It will be clear.

@qchikara qchikara closed this May 6, 2014
@qchikara qchikara deleted the FIX12661 branch May 6, 2014 11:32
@qchikara
Copy link
Contributor Author

qchikara commented May 6, 2014

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet