Guillaume Lessard
f2dcb2f058
[stdlib] convert withUnsafeBytes() to typed throws
2024-03-05 02:10:38 -08:00
Guillaume Lessard
8c0db3fe7e
Merge pull request #72075 from Catfish-Man/this-pointer-is-raw
...
Make UnsafeRawBufferPointer.loadUnaligned inlinable to match other pointer load methods
2024-03-04 23:57:21 -08:00
David Smith
753a9408c2
ASCII fast paths for grapheme stride ( #72064 )
2024-03-04 22:03:58 -08:00
Nate Chandler
621d4c19b2
[stdlib] Suppress Unicode : _BitwiseCopyable.
...
Mark it always unavailable per LWG feedback.
2024-03-04 16:25:53 -08:00
Nate Chandler
4472178eca
[stdlib] Suppress CommandLine : _BitwiseCopyable.
...
Mark it always unavailable per LWG feedback.
2024-03-04 16:17:06 -08:00
Nate Chandler
fefab495cb
[stdlib] Suppress MemoryLayout : _BitwiseCopyable.
...
Mark it always unavailable per LWG feedback.
2024-03-04 16:04:12 -08:00
David Smith
df8485fe87
Make UnsafeRawBufferPointer.loadUnaligned inlinable to match other pointer load methods
2024-03-04 16:00:15 -08:00
Guillaume Lessard
7cbe2cf4ae
Merge pull request #72036 from glessard/rawpointer-withmemoryrebound-typed-throws
...
[stdlib] convert `U[M]R[B]P.withMemoryRebound()` to typed throws
2024-03-02 13:00:59 -08:00
Guillaume Lessard
6befe66181
[stdlib] convert U[M]R[B]P.withMemoryRebound() to typed throws
2024-03-01 19:07:46 -08:00
Oscar Byström Ericsson
7703ae4a3b
FlattenSequence/distance(from:to:) untrapping Int.min (v5).
...
1. FlattenSequence/distance(from:to:) cleanup.
2. FlattenDistanceFromToTests cleanup.
3. FlattenDistanceFromToTests availability checks.
2024-03-01 11:11:54 +01:00
Holly Borla
ad864615bf
Merge pull request #71967 from hborla/sendable-documentation
...
[NFC][Concurrency] Improve the summary documentation for `Sendable`.
2024-02-29 22:38:14 -08:00
Holly Borla
ae8c8a3479
[NFC][Concurrency] Improve the summary documentation for Sendable.
2024-02-29 18:46:55 -08:00
Lucy Satheesan
f4920875a6
[stdlib] performance optimizations in Array.replaceSubrange ( #66160 )
2024-02-29 18:01:42 -08:00
Karoy Lorentey
16240a1342
[stdlib] Do not introduce any new ABI symbols for _get*RetainCount
2024-02-27 13:18:28 -08:00
Oscar Byström Ericsson
e8db705e43
FlattenSequence/distance(from:to:) untrapping Int.min (v2).
...
A better, albeit a bit more verbose, method.
2024-02-27 11:51:08 +01:00
Oscar Byström Ericsson
401f8d13fe
FlattenSequence/distance(from:to:) untrapping Int.min
...
This patch makes it so FlattenSequence/distance(from:to:) can return Int.min without trapping.
2024-02-27 07:14:46 +01:00
Guillaume Lessard
12010d63b5
Merge pull request #71871 from amomchilov/grammar-fix-seq-strart-with
...
Fix grammar in `starts(with:)` docs
2024-02-26 12:23:54 -08:00
Guillaume Lessard
321e40e701
Merge pull request #71648 from oscbyspro/better-joined-distance-from-to
...
FlattenSequence/distance(from:to:) enhancements.
2024-02-26 04:21:34 -08:00
Alexander Momchilov
123fd36efb
"a equivalence" → "an equivalence"
2024-02-24 19:32:50 -05:00
Dave Lee
557628cd08
[Debugging] Use SWIFT_NATIVE_SWIFT_TOOLS_PATH if defined ( #71814 )
...
Fixes cross-host builds. See https://github.com/apple/swift/pull/71425/files#r1498582734
2024-02-23 14:19:17 -08:00
Dave Lee
41add6df9f
[Debugging] Disable use of DebugDescriptionMacro when bootstrapping is off ( #71820 )
2024-02-22 16:21:24 -08:00
Allan Shortlidge
2a03207e54
Merge pull request #71802 from tshortli/typed-throws-in-inlinable-code
...
stdlib: Avoid condfails resulting from typed throws adoption
2024-02-22 14:03:26 -08:00
Mishal Shah
cb96ec2893
Merge remote-tracking branch 'origin/main' into bump-swift-version-to-6
2024-02-22 09:44:44 -08:00
Allan Shortlidge
25c0ed6008
stdlib: Avoid condfails resulting from typed throws adoption.
...
The standard library's swiftinterface must temporarily remain buildable when
`$TypedThrows` evaluates to false since there are still supported Swift 5.11
compilers that did not have the feature enabled by default. Declarations using
typed throws in their signatures are guarded in printed swiftinterface files
with `#if $TypedThrows` and therefore `@inlinable` code that uses those
declarations must also be conditionalized on `$TypedThrows`.
2024-02-21 20:38:39 -08:00
Guillaume Lessard
e90df7ef47
Merge pull request #71199 from glessard/utf8-license-header
...
[gardening] add a missing license header
2024-02-21 16:05:15 -08:00
Mishal Shah
b8cd763b21
Merge branch 'main' into bump-swift-version-to-6
2024-02-21 12:40:54 -08:00
Joe Groff
ce0a04393c
Revert "Switch to malloc_good_size instead of malloc_size ( #70532 )"
...
This reverts commit 0843891eb9 .
2024-02-21 10:26:37 -08:00
Dave Lee
5b35938e5b
[Debug] Introduce use of DebugDescription macro in stdlib ( #71425 )
...
Introduces the first use of `@_DebugDescription` in the standard library, applying it
to `ObjectIdentifier`. In order to use the DebugDescription macro in the stdlib, the
following changes are required:
1. Compilation must reference the just built macros (ie `libSwiftMacros.dylib`), not
those from the SDK. This is addressed by adding an explicit `-external-plugin-path`
flag that overrides the defaults generated by the compiler (which uses SDK paths, where
the macro may or may not exist, and may not be the current version).
2. As DebugDescription uses `@_section`, compilation enables the `SymbolLinkageMarkers`
feature.
Note that the use of DebugDescription is conditionally enabled for the following
reasons:
1. Use is disabled in freestanding builds, where the stdlib macros are not built.
2. Use is temporarily disabled in Linux builds due to a dynamic loader issue that needs
further investigation
The dynamic loader error causing issues with Linux CI is:
> swift-plugin-server: error while loading shared libraries: libswiftGlibc.so: cannot
open shared object file: No such file or directory
This PR depended on #71639 , #71588 , and #71685 .
2024-02-21 09:17:10 -08:00
Oscar Byström Ericsson
9abed8c833
FlattenSequence/distance(from:to:) enhancements v3.
...
A half-open range is a better expression of intent.
2024-02-21 09:59:54 +01:00
David Smith
f1feba0e42
Eytzingerize word break data ( #71731 )
...
Switch word break property searching to Eytzinger binary search
2024-02-20 22:49:34 -08:00
Mishal Shah
b488702cc9
Merge remote-tracking branch 'origin/main' into bump-swift-version-to-6
2024-02-20 21:04:47 -08:00
Mishal Shah
96d61d3c5c
Merge remote-tracking branch 'origin/main' into bump-swift-version-to-6
2024-02-20 14:31:55 -08:00
Dave Lee
b79c4ded76
[Debugging] Expand DebugDescriptionMacro docstring ( #71700 )
...
Describe more details of `DebugDescriptionMacro`.
2024-02-20 10:28:31 -08:00
nate-chandler
3fa784920c
Merge pull request #71736 from nate-chandler/add-missing-flag
...
Add missing guard around new builtin.
2024-02-19 23:06:56 -08:00
Mishal Shah
af112c1591
Update the Swift version to 6.0 from 5.11
2024-02-19 17:47:16 -08:00
Nate Chandler
1906b28f2b
Add missing guard around new builtin.
...
Avoid a condfail.
2024-02-19 16:04:29 -08:00
Alejandro Alonso
1f4bdd4bc9
Merge pull request #71481 from Azoy/fast-nfc-check-fix
...
[stdlib] Do a fast NFC check over the slice instead of guts
2024-02-19 15:19:08 -08:00
David Smith
ea7d07714f
Switch grapheme break property searching to Eytzinger binary search ( #71668 )
2024-02-16 16:06:20 -08:00
Oscar Byström Ericsson
e7b9fbbe12
FlattenSequence/distance(from:to:) enhancements v2.
...
1. The unchecked and force-unwrapped stuff did not matter.
2. Calling distance(from:to:) is a bit faster than SubSequence/count.
2024-02-16 11:41:10 +01:00
Nate Chandler
60d7ff80c7
[stdlib] Used storeRaw for constrained storeBytes.
...
Implement the overload of storeBytes where value is constrained to
BitwiseCopyable via Builtin.storeRaw.
2024-02-15 18:05:16 -08:00
Oscar Byström Ericsson
11c0231d20
FlattenSequence/distance(from:to:) enhancements.
...
I was looking through Swift's issues tab and found this issue (#57496 ), which points out the poor performance of `FlattenSequence/count`. The current `count` implementation calls `distance(from:to:)`, which iterates through the entire collection, so I thought I'd improve that method. The new version computes the distance as the sum of three parts, with a fast path when both indices belong to the same underlying collection. Note that it does this by calling either `count` or `distance(from:to:)` on each underlying collection, which makes `[repeatElement(0, count: Int.max)].joined().count` instant, for example.
2024-02-15 12:45:42 +01:00
Nate Chandler
5a2d1621ec
[KeyPath] Restrict push and pop to BitwiseCopyable
...
Promotes the runtime isPOD check to a compile time constraint.
2024-02-14 13:02:09 -08:00
Nate Chandler
134fc4dfdd
[stdlib] BitwiseCopyable storeBytes overload.
...
The new overload is constrained to BitwiseCopyable and so enjoys the use
of BitwiseCopyableArchetypeTypeInfo.
2024-02-14 13:02:09 -08:00
Erik Eckstein
75e2f363a0
embedded stdlib: make the ManagedBuffer initializer public in the embedded stdlib
...
Otherwise derived classes cannot be specialized.
Fixes a compile time error when using ManagedBuffer in embedded mode.
rdar://122414669
2024-02-14 09:51:43 +01:00
Alejandro Alonso
aadf4a13a2
Do a fast NFC check over the slice instead of guts
2024-02-08 10:50:03 -08:00
Alejandro Alonso
3923e2e621
Merge pull request #71443 from Azoy/fix-specialize-function
...
[stdlib] Fix _specialize implementation
2024-02-07 15:46:38 -08:00
Guillaume Lessard
71640be109
Merge pull request #71363 from glessard/rdar115296219
...
[stdlib] properly rename validatingUTF8 to validatingCString
2024-02-07 14:37:23 -08:00
Alejandro Alonso
71fccd1696
Fix _specialize implementation
2024-02-07 11:58:57 -08:00
Doug Gregor
e4d6bee153
Merge pull request #71400 from DougGregor/will-throw-typed
...
Implement `swift_willThrow` variant for typed throws.
2024-02-06 03:22:22 -08:00
Kuba (Brecka) Mracek
ea6295e47f
Merge pull request #71392 from kubamracek/revert-embedded-defines
...
Revert "Merge pull request #71278 from kubamracek/embedded-no-mach-defines"
2024-02-05 17:48:40 -08:00