Simen Kjærås

Results 27 comments of Simen Kjærås

I'm impressed. Not in a good way, but impressed nonetheless. Fixed now.

The test that failed is this: ``` // class range (issue 5154) auto c = inputRangeObject([1,2,3,4]); formatTest( c, "[1, 2, 3, 4]" ); assert(c.empty); ``` Turns out, `inputRangeObject` is a...

That should take care of the issues that have been pointed out, and also makes `memoize` handle overloads, which confused it before.

I don't see the problem there - you have a templated function and you expect it to be the same with different template arguments? First, that's a completely different issue...

I do see that, but I think the issue is much smaller than you make it out to be. Note also that you have the same issue for explicit template...

Have you looked at `BigUInt` (in std/internal/math/biguintcore.d)? Almost every function in `BigInt` is just a call to a function of `BigUint`, and I suggest this should be as well. `BigUint`...

I still hold that the correct location for most of this code is in std/internal/math/biguintcore.d. It should handle the unsigned stuff, and std/bigint.d should only do the 2's complement when...

FWIW, the argument order was chosen to match that of [`CopyTypeQualifiers`](https://dlang.org/phobos/std_traits#CopyTypeQualifiers).

I revisited this today, and realized it does not handle mixed qualifiers, like `inout(const(int)*)`. As this is a rather big oversight, here's an improved implementation: ``` template SubstituteInout(FromType, ToType) {...

Why implement your own compile-time mergesort - what's wrong with `std.meta.staticSort`? Also, is there a great benefit to having the result be one long `AliasSeq` instead of having a struct...