Commit graph

137 commits

Author SHA1 Message Date
Vladiwostok
231ae8b68a
Fix D-Scanner linting issues (#9070)
* Fix UndocumentedDeclarationCheck linting issue

* Fix IfConstraintsIndentCheck linting issue

* Address feedback

* Fix publictests CI

* Fix old (libdparse) D-Scanner linting warn
2024-10-27 01:21:56 -07:00
Atila Neves
64457e8938
Merge pull request #8897 from pbackus/range-element-type
Add optional element type to remaining range predicates
2024-01-22 09:32:50 +01:00
Paul Backus
c4391b2237 Update docs for hasSlicing with inifnite range
The requirement for opSlice on an infinite range to return the result of
take or takeExactly was removed in commit c828a08b64, which was included
in Phobos 2.067.0, released in March 2015. However, the documentation
was never updated to take this change into account.

This change updates the documentation and adds a unit test for the "new"
behavior.

Fixes bugzilla issue 24348.
2024-01-21 00:53:08 +01:00
Paul Backus
c0557d30dc Add optional element type to isRandomAccessRange 2024-01-20 10:42:33 -05:00
Paul Backus
9f8de2b568 Add optional element type to isBidirectionalRange 2024-01-20 10:33:44 -05:00
Paul Backus
68c412316b Document element type parameter for isForwardRange 2024-01-20 10:22:42 -05:00
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