Commit graph

131 commits

Author SHA1 Message Date
Atila Neves
886d792d09 Add optional element type to isForwardRange
Similar to #8819
2023-11-07 15:26:52 +01:00
Paul Backus
c4cbe0c21b Use isQualifierConvertible in isInputRange!(R, E)
This replaces the bespoke type comparison that was previously used. All
conversions allowed by the previous version are still allowed after this
change.
2023-10-31 11:38:10 +01:00
Iain Buclaw
078e73e952 Adjust conditions in putChar to avoid declaring static symbol
Moves the declaration into a CTFE-only context so that nothing gets emitted at codegen
2023-10-25 08:04:34 +01:00
Atila Neves
43d52a1f7c Add more tests 2023-10-02 14:38:37 +02:00
Atila Neves
9531c76a4d Address review comments 2023-09-28 08:51:56 +01:00
Atila Neves
6873816349 Add optional element type to isInputRange 2023-09-28 08:51:56 +01:00
WebFreak001
e2e1bb4c57
fix isBidirectionalRange with no-postblit .back 2023-03-12 19:49:07 +01:00
Nick Treleaven
1c397ee30d Revert back to (R r) to fix inout 2023-02-18 18:46:23 +00:00
Nick Treleaven
c7e1a1ed92 Update isSlicing docs to match code
Use lvalueOf instead of `(R r)` parameter as lvalueOf!R is already
needed for the other tests.
2023-02-18 15:30:14 +00:00
Steven Schveighoffer
bdc75f6c6d
Based on my tests, this should save about 56K of compiler RAM per (#8682)
instantiation of ReturnType, and some amount of compile time.
2023-02-13 07:08:01 +08:00
james
d2b8a15e69 Added unittest related to fix, and moved unittest related to issue to std/algorithm/iterartion.d 2022-09-19 22:27:22 +02:00
james
41959deae6 Fix issue 16034: map should be possible with a reference only 2022-09-19 16:44:10 +02:00
Paul Backus
41aaf8c263 Fix Issue 18036 - Documentation of moveFront()
...fails to mention different behavior depending on
hasElaborateCopyConstructor

The new wording is based on the documentation for core.lifetime.move.
2022-02-28 12:36:36 +00:00
MoonlightSentinel
bb2b31f892 Fix 22383 - Reject noreturn[] as an autodecodable string
`noreturn[]` does not contain characters and hence is not subject to
autodecoding. The previous behaviour caused the range primitives (`put`,
...) to call into autodecoding related functions which couldn't handle
`noreturn[]`.
That error caused `isInputRange!(noreturn[])` to yield false.
2021-10-14 17:23:16 +00:00
Razvan Nitu
e78bd852a2
Merge pull request #6905 from WalterBright/save-doc
improve documentation for .save() property
2021-04-22 22:14:59 +08:00
berni44
6f2a0934a7 Adapt imports of std.format to new structure of std.format. 2021-03-19 13:22:00 +01:00
Nathan Sashihara
3733c9d202 Fix Issue 21559 - Speed up walkLength for narrow strings 2021-01-19 10:49:21 -05:00
Andrei Alexandrescu
71ff9d79c5 EASY: factor implementations of range length into a mixin template 2020-09-20 02:38:14 +02:00
Nathan Sashihara
99e390486c Reduce the number of isAggregateType!T checks
Some are redundant. Others can be replaced by cheaper traits checks.
2020-08-18 03:50:12 +02:00
Steven Schveighoffer
17ae8fc9be Make it so std.utf can be tested with no autodecoding. 2020-08-17 06:53:34 +02:00
Nathan Sashihara
453faadf5b Replace is(Unqual!T == Unqual!U) with is(immutable T == immutable U) for speed & memory usage 2020-08-03 15:07:32 +02:00
aG0aep6G
26822f44b5 fix issue 20949 - std.range.popFront is unsafe in release mode 2020-06-18 15:15:46 +02:00
Iain Buclaw
8a38e6e562 std.range.primitives: Fix static condition for X32 targets 2020-04-16 12:21:16 +02:00
Geod24
04f3979317 Replace 'Issue XXX' with Bugzilla links
Make the links clickable, as was done in the DMD repository.
Also avoids any ambiguity w.r.t. where the issue is stored.
2020-04-13 16:28:09 +09:00
Adam D. Ruppe
ae93f5317c Use consistent quickindex wrapper around hand-written list-of-links tables 2020-02-21 21:04:05 -05:00
Walter Bright
46daae056b start making use of isAutodecodableString() 2019-08-12 22:34:38 -07:00
The Dlang Bot
5a4918e312
Merge pull request #7057 from n8sh/inout-front
Add `inout` to range.front to reduce template proliferation
merged-on-behalf-of: Nathan Sashihara <n8sh@users.noreply.github.com>
2019-06-12 12:29:24 +02:00
Nick Treleaven
249853bda4
[docs][std.range.primitives] Add links to array range primitives
It's important to mention this, particularly so the user notices the auto-decoding overloads.
2019-06-11 16:57:27 +01:00
Nathan Sashihara
e5bae1d839 Add inout to std.range.front to reduce template proliferation
The Win32_64 linker error that prevented this from being included in
PR #6743 no longer occurs in CI.
2019-06-06 18:31:34 -04:00
Walter Bright
8d404f9678 hasLvalueElements(): use overloading to detect lvalue 2019-05-20 08:47:50 -07:00
Walter Bright
53bdd83de7 primitives: add scope 2019-05-09 16:26:31 +01:00
Andrei Alexandrescu
f5bf7b222f
Relax const requirement for empty primitive
Refer to discussion in https://forum.dlang.org/post/q7tvg0$2tdn$1@digitalmars.com.
2019-04-06 00:03:04 -04:00
David Nadlinger
6b97ae69d7 std.range.primitive.{Autodecoding -> autodecodeStrings}
This follows Phobos naming conventions and is more self-documenting.
2019-03-23 19:32:56 +00:00
Walter Bright
158fb2f656 add std.range.primitives.Autodecoding 2019-03-23 01:57:04 -07:00
Andrei Alexandrescu
43a9cae2d6 Remove redundant constraint from empty() range primitive 2019-03-18 18:45:41 -04:00
Walter Bright
90df02d2ec improve documentation for .save() property 2019-03-16 15:30:29 -07:00
Nathan Sashihara
4cc47e6dc2 Fix Issue 19364 - Decrease template bloat for string functions
Use const(E)[] instead of E[] when it is valid and doesn't change the
return type.
2018-11-18 15:39:29 -05:00
Iain Buclaw
fd5facfe04 posix.mak: Enforce whitespace before opening parenthesis for version conditions 2018-09-22 16:57:24 +02:00
The Dlang Bot
0e8722abbd
Merge pull request #6471 from schveiguy/putstrings
char[] and wchar[] should be output ranges
merged-on-behalf-of: Nathan Sashihara <n8sh@users.noreply.github.com>
2018-06-29 10:04:28 +02:00
Sebastian Wilzbach
c324714fde Remove a few cases of underscore escaping 2018-06-04 13:05:01 +02:00
Steven Schveighoffer
30e0d82b18 Update documented unit test now that char[] can be an output range. 2018-04-24 11:12:29 -04:00
Steven Schveighoffer
8769ea9e46 Fix issue 18790 - Add ability for char[] and wchar[] to be output ranges. 2018-04-23 09:17:49 -04:00
The Dlang Bot
e13e3889ac
Merge pull request #6435 from JackStouffer/input-range-link
Make references to input ranges a link to isInputRange
merged-on-behalf-of: Sebastian Wilzbach <sebi.wilzbach@gmail.com>
2018-04-15 01:42:45 +02:00
Steven Schveighoffer
d4a35f09da More removal of version(unittest) 2018-04-13 12:20:02 -04:00
Sebastian Wilzbach
4c016d129f Remove superfluous _range used to avoid auto-highlighting 2018-04-09 21:31:57 +02:00
Jack Stouffer
e14f89e170 Make references to input ranges a link to isInputRange 2018-04-08 16:19:57 -04:00
Sebastian Wilzbach
42894784dd Markdownify Phobos
$(D word) -> `word`
2018-04-02 22:32:47 +02:00
Jack Stouffer
40f1c4c429 [Trivial] Skip Unittests on mismatched_args_check, remove std.range.primitives 2018-03-27 11:00:11 -04:00
Jack Stouffer
b10151ab9e Add examples to std.range.primitives and enable dscanner check 2018-03-20 16:27:48 -04:00
Jonathan M Davis
1436fca1cc Add website link to author name for Jonathan M Davis. 2018-03-10 16:31:23 -07:00