Commit graph

20426 commits

Author SHA1 Message Date
Vladimir Panteleev
6beff688d2 std.json: Add JSONValue.toHash
Allows using JSON values in sets and map keys.
2025-03-22 17:38:24 +00:00
Nick Treleaven
ea28abfadb [std.container DList docs] Fix time complexity of insertFront etc
See https://forum.dlang.org/post/vkubcdpniiseeuxvdvim@forum.dlang.org
2025-02-17 17:48:13 +01:00
Robert Schadek
ffb70c5580
Name argument if data conversion fails getopt (#10593)
Fixes #9662

whitespace
2025-02-07 10:19:20 -08:00
Jonathan M Davis
b085fd70e0
Add phobos.sys.traits.hasIndirections. (#10634)
It does the same thing as the std.traits version. They both alias the
one in druntime. However, the documentaton and tests have been beefed up
a bit.

I also added assertWithQualifiers as a private test helper, which it may
make sense to add later as a public test helper somewhere, but we don't
currently have any module or package for that sort of thing, so for now,
it's private. Some of the existing tests should probably also be
refactored to use it, but I'm not worrying about that as part of these
changes.
2025-02-07 08:20:22 -08:00
Paul Backus
fcffbc0d97
Merge pull request #10625 from 0xEAB/ctEval
Fix #10023 - Add `ctEval` to Phobos
2025-02-07 10:29:04 -05:00
Elias Batek
4e2156110a
Address pbackus’ review
Co-authored-by: Paul Backus <snarwin@gmail.com>
2025-02-03 23:03:49 +01:00
Paul Backus
c5d074b12e Refactor: access SumType value by index, not type
Previously, code that already knew the desired index was forced to
compute a type to pass to get!T or memberName!T, just for get!T or
memberName!T to turn that type back into an index. Removing this
unnecessary round trip simplifies the code.

Additionally, since memberName is no longer dependent on SumType.Types,
it can be moved to module scope, and its instantiations can be shared
across different SumType instances.
2025-02-03 00:46:36 +01:00
Martin Kinkelin
9971927d53
GHA main: Add Alpine Linux job, to CI-test musl libc (#10632) 2025-01-28 03:00:59 +01:00
Elias Batek
99602a5d44 Make unpredictableSeed use BCryptGenRandom (CNG) on Windows 2025-01-26 01:56:31 +01:00
Elias Batek
f2c49d368b Make unpredictableSeed use getrandom (syscall) on Linux 2025-01-25 02:52:05 +01:00
Elias Batek
5b373178c7
Fix unittests of toDelegate (#10631)
As discovered by @Bolpat:
<https://github.com/dlang/phobos/pull/10599#discussion_r1925219756>
2025-01-25 06:41:52 +08:00
Kymorphia, PBC
488ea697a4
RandomFiniteAssignable incorrectly referenced as RandomAccessAssignable in ddoc index (#10630) 2025-01-24 06:11:51 +08:00
Dennis
d4a1354f31
Remove flakey stopwatch test (#10628) 2025-01-22 05:00:11 +08:00
Iain Buclaw
7be45e8e01 unittest: Don't run x87 log2 test on 64-bit real targets 2025-01-19 15:45:14 +01:00
IchorDev
a4d516a6d1
Docs: fix 'for signed integrals' appearing twice (#10626) 2025-01-19 19:19:11 +08:00
Elias Batek
2631a8b145 Fix #10023 - Add ctEval to Phobos 2025-01-19 07:08:37 +01:00
John Colvin
bea3184479
Add low-overhead InPlaceAppender (#8789)
- Internal for now.
- Previously known as `FixedAppender` (during development).

Co-authored-by: Elias Batek <0xEAB@users.noreply.github.com>
2025-01-19 08:03:43 +08:00
Elias Batek
1b242048c9 Fix #10605 - Make File.byLine usable in @safe contexts 2025-01-17 18:51:08 +01:00
Nick Treleaven
5f39350c48
Fix #10538 - Cannot swap a std.typecons.Tuple (#8864)
* Fix #10538 - Cannot swap a std.typecons.Tuple

Co-authored-by: Elias Batek <0xEAB@users.noreply.github.com>

* De-optimize `opAssign` of `std.typecons.Tuple`

---------

Co-authored-by: Elias Batek <0xEAB@users.noreply.github.com>
Co-authored-by: Elias Batek <desisma@heidel.beer>
2025-01-17 15:13:37 +08:00
Dennis
336bed6d8f
Merge pull request #10621 from 0xEAB/thewilsonator-patch-1
Fix self assignment for dlang/dmd#20696
2025-01-14 10:17:13 +01:00
Elias Batek
475e5c69d6 2025-01-14 02:54:28 +01:00
Dennis Korpel
7433715cf6 Fix reference to 'samples' folder 2025-01-13 23:53:54 +01:00
Nicholas Wilson
a6ad856d51
Fix self assignment for https://github.com/dlang/dmd/pull/20696 2025-01-14 06:05:25 +08:00
Dennis
f95cd32419
Merge pull request #10618 from Vladiwostok/fix-linting-functional
Fix linting issue in functional.d
2025-01-12 17:52:36 +01:00
Vladiwostok
706320076a Fix linting issue in functional.d 2025-01-12 17:41:43 +02:00
Iain Buclaw
d53b5636b2
std.json: Void initialize return value in emptyOrderedObject (#10617)
Works around issue seen in dlang/dmd#20675.
2025-01-11 05:51:56 +08:00
Iain Buclaw
03aeafd209
Merge pull request #10616 from ibuclaw/merge_stable
Fix #10574 - environment pointer sometimes changes before exec, causing segfault in child process.
2025-01-10 00:03:50 +01:00
Iain Buclaw
d643650ee5 Merge remote-tracking branch 'upstream/stable' into merge_stable 2025-01-09 22:30:38 +00:00
Elias Batek
63fdb282f1
Replace internal getEnvironPtr with its equivalent from druntime (#10614)
* Replace internal `getEnvironPtr` with its equivalent from druntime

* Further simplify
2025-01-08 23:57:35 -08:00
The Dlang Bot
955c6e3308
Merge pull request #8727 from ntrel/extrema
[std.algorithm.searching] Add extrema to compute min and max

Signed-off-by: Adam Wilson <LightBender@users.noreply.github.com>
Merged-on-behalf-of: Nicholas Wilson <thewilsonator@users.noreply.github.com>
2025-01-03 08:01:59 +01:00
Nick Treleaven
347e4152cc Extend tests 2025-01-03 03:38:57 +01:00
Nick Treleaven
92f677f2cf Only require input range 2025-01-03 03:38:57 +01:00
Nick Treleaven
762b0b4881 Minor tweaks 2025-01-03 03:38:57 +01:00
Nick Treleaven
6c7d0e2ef1 [std.algorithm.searching] Add extrema 2025-01-03 03:38:55 +01:00
Elias Batek
35c492c4ba
Make File.byLineCopy usable in @safe contexts (#10606) 2025-01-02 11:59:10 +08:00
Elias Batek
0e97dc5e6b
Update CODEOWNERS to reflect that logger has been moved out of std.experimental (#10608)
This should have been done with #8486 IMHO.
2025-01-02 10:11:36 +08:00
Steven Schveighoffer
ad8ee55872
Fix #10607 - Structs lines and ByLineCopy cannot be usefully constructed in @safe code (#9035)
Originally known as "Properly mark lines constructor".

Co-authored-by: Elias Batek <15967408+0xEAB@users.noreply.github.com>
2025-01-02 07:16:00 +08:00
Elias Batek
262645bf32
Make toDelegate safe for function pointers (#10599)
Co-authored-by: Quirin F. Schroll <Bolpat@users.noreply.github.com>
Co-authored-by: Elias Batek <0xEAB@users.noreply.github.com>
2024-12-30 15:53:25 +08:00
Elias Batek
4c4c37a8bf
Fix #10603 - toDelegate accepts but can’t handle a templated opCall (#10602) 2024-12-30 12:27:50 +08:00
Vladimir Panteleev
8c6fca9ccd Fix issue 10587 - std.process.kill should fail for a terminated pid
https://github.com/dlang/phobos/issues/10587
2024-12-29 13:06:58 +01:00
Adam Wilson
68da19aed8
Update CODEOWNERS (#10600)
Removed old CODEOWNERS who are no longer part of D.
2024-12-29 18:32:33 +08:00
Simen Kjærås
ff25f6dfff
Fix #10380 - Memoize should handle lambdas (#7507) 2024-12-29 09:21:06 +08:00
Sebastian Wilzbach
d8955042d6
Fix #10257 - variadic overload of std.algorithm.searching.countUntil should return which needle was found (#5618) 2024-12-27 11:41:14 +08:00
Elias Batek
de2b97fd8d
Add SharedAllocatorList (#10594)
Co-authored-by: Alexandru Jercaianu <alex.jercaianu@gmail.com>
2024-12-27 11:40:08 +08:00
Sebastian Wilzbach
0124e4772a
Add isSliceOf to check the origin of a slice (#6147) 2024-12-26 14:22:29 +08:00
Mike
8973596c05 Fix #10581std.logger has an ostensibly broken example and wrong docs
Co-authored-by: Elias Batek <desisma@heidel.beer>
2024-12-11 09:30:19 +01:00
Runa
b2ecb210a1
Fix Issue 10386: Make std.math.isIdentical work in CTFE with coverage tests (#10576)
* Fix Issue 20197 - Make std.math.isIdentical work in CTFE

* Added tests for function isIdentical

Signed-off-by: runiixx <murgua03@gmail.com>

* Fix Issue 10386

Signed-off-by: runiixx <murgua03@gmail.com>

* fixing style

Signed-off-by: runiixx <murgua03@gmail.com>

---------

Signed-off-by: runiixx <murgua03@gmail.com>
Co-authored-by: Nathan Sashihara <21227491+n8sh@users.noreply.github.com>
2024-12-08 17:17:39 -08:00
Vladiwostok
2c267631cc Fix linting issue in filelogger.d 2024-12-09 01:08:26 +01:00
0-v-0
823f7aa500
Remove unused import (#10578) 2024-12-08 15:54:03 +08:00
Steven Schveighoffer
d767448ea6 Fix #10574 - environment pointer sometimes changes before exec, causing
segfault in child process.
2024-12-07 22:43:50 +01:00