Commit graph

4812 commits

Author SHA1 Message Date
unknown
24164c5e9b Various fixes in lockstep and zip
Mainly, they accepted the types R, provided Unqual!R is a range. But that doesn't make sense.

Reduced to only accepting if R itself is a range.

Improved constraints, fixed implementations, removed needles bug workaround.
2013-01-11 08:31:09 +01:00
unknown
af67984222 Activate bugfix 6336 unittest 2013-01-11 08:31:08 +01:00
Martin Nowak
39999fb8f9 cleanup OS detection
- the wrong variable was set for OpenBSD and Solaris
2013-01-11 04:53:46 +01:00
monarch dodra
8298d0dfc3 Provide slicing for Repeat 2013-01-10 23:47:47 +01:00
Peter Alexander
b89adc0037 Added explanation of requirements in comments. 2013-01-10 21:04:51 +00:00
Alex Rønne Petersen
bfb6d3d2f3 Merge pull request #1064 from 9rnsr/fix9288
Issue 9288 - Parameter(Identifier|DefaultValue)Tuple report pointless errors
2013-01-10 05:02:48 -08:00
Alex Rønne Petersen
f1ad5d359c Merge pull request #1062 from AndrejMitrovic/Fix8078
Issue 8078 - receiveOnly exceptions should be informative
2013-01-10 05:01:50 -08:00
monarch dodra
4fdaafa8a9 Remove back/popBack primitives from Repeat
Because a bidirectional infinite range makes no sense. AFAIK.
2013-01-10 13:31:47 +01:00
monarch dodra
273e5821ad use enum opDollar in Sequence
Because an enum is better than a function
2013-01-10 13:29:03 +01:00
monarch dodra
47ab0b3f92 Fix zip for slicing infinite ranges
Because the type returned is not the same.
2013-01-10 13:27:47 +01:00
k-hara
f6f57530a6 fix Issue 9288 - Parameter(Identifier|DefaultValue)Tuple report pointless errors 2013-01-10 09:40:46 +09:00
Andrej Mitrovic
8592a34d4b Fixes Issue 8078 - receiveOnly exceptions should be informative. 2013-01-09 16:32:27 +01:00
Alex Rønne Petersen
590c4990a7 Merge pull request #1063 from denis-sh/patch-2
Remvoe tab introduced in pull #1043
2013-01-09 03:30:06 -08:00
Denis Shelomovskij
8ba35528ee Remvoe tab introduced in pull #1043
Just remove the tab.
2013-01-09 15:27:20 +04:00
Andrei Alexandrescu
ca44a116d5 Merge pull request #1047 from Poita/bug8367
Issue 8367 - Insufficient constraints for chain
2013-01-08 23:07:23 -08:00
Andrei Alexandrescu
4014fe2110 Merge pull request #1061 from AndrejMitrovic/Fix5736
Issue 5736 - Missing 'else' in 'static if' in BaseClassesTuple
2013-01-08 17:39:30 -08:00
Andrej Mitrovic
633d2d5a98 Fixes Issue 5736 - Missing 'else' in 'static if' 2013-01-08 22:22:14 +01:00
Alex Rønne Petersen
10d28218d8 Merge pull request #1058 from andralex/5726
Issue 5726 - boyerMooreFinder hangs when finding
2013-01-08 01:00:30 -08:00
Alex Rønne Petersen
85d2d2fc77 Merge pull request #1059 from andralex/5513
Issue 5513 - Erroneous example in std.algorithm
2013-01-08 01:00:06 -08:00
Alex Rønne Petersen
1878535f96 Merge pull request #1057 from andralex/6066
Issue 6066 - std.container: BinaryHeap interface is broken.
2013-01-08 00:59:49 -08:00
Andrei Alexandrescu
792392d30f Issue 5513 - Erroneous example in std.algorithm 2013-01-08 00:48:19 -08:00
Andrei Alexandrescu
2e2970aca2 Issue 5726 - boyerMooreFinder hangs when finding 2013-01-08 00:37:37 -08:00
Andrei Alexandrescu
2a87eded13 Issue 6066 - std.container: BinaryHeap interface is broken. 2013-01-07 23:26:47 -08:00
Jonathan M Davis
3aae880989 Merge pull request #1055 from ntrel/various-typos
Fix some minor doc typos
2013-01-07 10:16:17 -08:00
Nick Treleaven
5083260795 Fix typos 2013-01-07 17:01:11 +00:00
Alex Rønne Petersen
1dd74991ce Merge pull request #1054 from CyberShadow/ddoc-syntax-fixes-3
Fix mismatched parens in DDoc.
2013-01-06 13:58:31 -08:00
Vladimir Panteleev
600862c927 Fix mismatched parens in DDoc. 2013-01-06 23:32:52 +02:00
Andrei Alexandrescu
924b2cf5e5 Merge pull request #1053 from NilsBossung/master
DDoc: add missing ')'
2013-01-06 08:10:09 -08:00
Nils Boßung
c83c168ebe DDoc: add missing ')' 2013-01-06 15:53:38 +01:00
Andrei Alexandrescu
2aa1295f4d Merge pull request #889 from jmdavis/8890
Fix for issue# 8890: commonPrefix does not handle unicode correctly.
2013-01-04 15:02:27 -08:00
jmdavis
c52a6558c2 Fix commonPrefix so that it can mix strings and other ranges.
The fix for 8890 made it so that commonPrefix could no longer compare
strings with ranges of other types. This fixes that.
2013-01-04 14:32:36 -08:00
jmdavis
545df62174 Slight tweak to commonPrefix's template constraint. 2013-01-04 14:32:36 -08:00
jmdavis
dd5eb5ff97 Fix for issue# 8890: commonPrefix does not handle unicode correctly.
It was returning partial code points if the first few code units in a
code point matched but not the entire code point.
2013-01-04 14:32:35 -08:00
Jonathan M Davis
6c5377e9b5 Merge pull request #1051 from quickfur/std_file_ddoc
Improve std.file.dirEntries ddoc
2013-01-03 22:04:01 -08:00
H. S. Teoh
3d56ea1fa5 Complete the fix for issue 8302.
The original fix (e6621da899) missed the
second variant of std.file.dirEntries.
2013-01-03 21:21:39 -08:00
H. S. Teoh
655452e379 Remove stray // from ddoc. 2013-01-03 21:18:32 -08:00
Andrei Alexandrescu
10a56eb0d7 Merge pull request #1046 from Poita/only
Added std.range.only - range of a single element.
2013-01-03 07:41:54 -08:00
Poita
3731c856c7 Undoing formatting error 2013-01-03 08:52:34 +00:00
Poita
8977fd6ae3 Changed only.Result to static struct 2013-01-03 08:45:46 +00:00
Peter Alexander
fb3a15a33f Voldemortification of std.range.only 2013-01-03 07:54:40 +00:00
Peter Alexander
483efc7d09 New docs, examples, added asserts for Only!T 2013-01-02 23:11:58 +00:00
Walter Bright
6d57b5ac8e Merge branch 'master' of github.com:D-Programming-Language/phobos 2013-01-02 10:26:11 -08:00
Walter Bright
04ee6fc0e4 merge from staging 2013-01-02 10:25:52 -08:00
Dicebot
6527beb6e2 Update for documentation as a consequence for https://github.com/D-Programming-Language/phobos/pull/862 2013-01-02 12:56:07 +02:00
Peter Alexander
7101a9c248 Using version(D_NoBoundsCheck) for Only!T 2013-01-02 05:20:38 +00:00
Peter Alexander
51c4f07756 Use RangeError + length optimisation for Only!T 2013-01-02 04:57:04 +00:00
Peter Alexander
ba86527c04 Fix 8368 - Insufficient constraints for sort
Error from bug code after this change:

```
Error: template std.algorithm.sort does not match any function template declaration. Candidates are:
std/algorithm.d(7820):        std.algorithm.sort(alias less = "a < b", SwapStrategy ss = SwapStrategy.unstable, Range)(Range r) if ((ss == SwapStrategy.unstable && (hasSwappableElements!(Range) || hasAssignableElements!(Range)) || ss != SwapStrategy.unstable && hasAssignableElements!(Range)) && isRandomAccessRange!(Range) && hasSlicing!(Range) && hasLength!(Range))
bug.d(6): Error: template std.algorithm.sort(alias less = "a < b", SwapStrategy ss = SwapStrategy.unstable, Range)(Range r) if ((ss == SwapStrategy.unstable && (hasSwappableElements!(Range) || hasAssignableElements!(Range)) || ss != SwapStrategy.unstable && hasAssignableElements!(Range)) && isRandomAccessRange!(Range) && hasSlicing!(Range) && hasLength!(Range)) cannot deduce template function from argument types !()(MapResult!(__lambda2, string[]))
```

Fixes Issue 8368
http://d.puremagic.com/issues/show_bug.cgi?id=8368
2013-01-01 21:47:57 +00:00
Peter Alexander
1008da752b Issue 8367 - Insufficient constraints for chain
The error message from compiling the bug's sample code after this change is:

```
bug.d(11): Error: template std.range.chain does not match any function template declaration. Candidates are:
std/range.d(2018):        std.range.chain(Ranges...)(Ranges rs) if (Ranges.length > 0 && allSatisfy!(isInputRange, staticMap!(Unqual, Ranges)) && !is(CommonType!(staticMap!(ElementType, staticMap!(Unqual, Ranges))) == void))
bug.d(11): Error: template std.range.chain(Ranges...)(Ranges rs) if (Ranges.length > 0 && allSatisfy!(isInputRange, staticMap!(Unqual, Ranges)) && !is(CommonType!(staticMap!(ElementType, staticMap!(Unqual, Ranges))) == void)) cannot deduce template function from argument types !()(MapResult!(__lambda2, Foo[]),string)
```

Fixes Issue 8367
http://d.puremagic.com/issues/show_bug.cgi?id=8367
2013-01-01 21:17:06 +00:00
Peter Alexander
c8cf9197e6 Added std.range.only - range of a single element.
This adds range type `Only!T` and helper function `only!T(T)`. This is a range that iterates a single value, useful when some interface requires a range, but you only have a single value.
2013-01-01 20:51:19 +00:00
Andrei Alexandrescu
88052ce7a8 Merge pull request #1020 from quickfur/joiner_sep_fixes
Fix transient and forward range bugs in joiner with separator
2012-12-31 12:13:27 -08:00