Commit graph

16559 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
John Dougan
9e7d2f37cf
Fix typos in compound format descriptions (#10572)
Someone tried to \( instead of $(LPAREN) inside of a bold macro. Didn't work and made the description very misleading.
2024-12-04 08:32:35 +08:00
0-v-0
db84813208 Remove unused import 2024-11-27 21:40:53 +08:00
Dennis
600c721875
Fixes for -preview=rvaluerefparam (#9092)
* Update `hasToString` for `-preview=rvaluerefparam`

* Remove ref parameter test of parse()
2024-11-26 22:29:24 -08:00
João Lourenço
6b666971bc
Add 'std.format.read.formattedRead' overloads to return a Tuple with values read (#8647)
* refactor(formattedRead): add not is type validation to template argument 'fmt'

Signed-off-by: João Lourenço <jlourenco5691@gmail.com>

* feat(formattedRead): add overloads to return a tuple with the read values

Signed-off-by: João Lourenço <jlourenco5691@gmail.com>

* test(formattedRead): add unnittests for the tuple return type overloads

Signed-off-by: João Lourenço <jlourenco5691@gmail.com>

* chore(changelog): add a changelog formattedRead entry

Signed-off-by: João Lourenço <jlourenco5691@gmail.com>

---------

Signed-off-by: João Lourenço <jlourenco5691@gmail.com>
2024-11-25 20:43:04 -08:00
Jonathan M Davis
aee681c468
Fix Bugzilla issue 24875 (#9090)
This makes it so that enums whose base type is an aggregate type are
also considered an aggregate type. It probably doesn't affect much code,
since isAggregateType isn't needed often, and it's fairly rare to
declare enums whose base type is an aggregate type, but in general, code
that cares whether a type is an aggregate type is going to care that an
enum's base type is an aggregate type.
2024-11-23 16:02:11 -08:00
Paul Backus
f3d92d9f9e sumtype: add fast path for single dispatch
This reduces the number of templates instantiated by matchImpl in the
common case where only one SumType is being matched on.
2024-11-20 15:25:01 -05:00
Paul Backus
be59d94737 sumtype: avoid template recursion in handlerArgs 2024-11-20 15:25:01 -05:00
Paul Backus
7362ac5bee sumtype: reduce instantiations of handlerArgs
Calls to matchImpl whose SumType arguments have the same dimensions will
now share instantiations, instead of having separate ones.
2024-11-20 15:24:43 -05:00
Paul Backus
b883c5ce92 sumtype: reduce instantiations of TagTuple
Tuples with the same dimensions now share a single instantiation,
regardless of the types held by the SumTypes they are used for.
2024-11-20 14:51:17 -05:00
Paul Backus
4c41b433dc sumtype: put private matchImpl helpers together 2024-11-20 14:41:44 -05:00
Martin Kinkelin
b0ef9ac009 Merge remote-tracking branch 'origin/stable' into merge_stable 2024-11-17 01:17:07 +01:00