Doug Gregor
f04e916dff
Fix issue with older compilers not handling MutableSpan code
...
The use of SendableCompletionHandlers here is completely incidental,
because it happened to be introduced at roughly the same time as the
bits we needed for MutableSpan. Fixes rdar://148072153.
2025-05-05 10:12:06 -07:00
Andrew Trick
c25d46320c
Merge pull request #81105 from atrick/rdar146319009-borrow-constraint
...
Fix LifetimeDependenceDiagnostics: scoped dependence on a copy
2025-04-26 08:08:15 -07:00
Doug Gregor
050a514588
[Strict memory safety] Update standard library for unsafe treated as a call effect
2025-04-25 21:54:23 -07:00
Andrew Trick
e9d11283b9
Add _overrideLifetime to Span APIs
...
The implementation previously took advantage of a missing diagnostic. They
returned a borrowed Span with a dependency on a copied argument. This illegally
promotes the dependency. This is what the author intended to do (the
implementation was correct) but the compiler can't know that so the code needs
to be explicit about overriding the lifetime.
2025-04-25 17:58:24 -07:00
Guillaume Lessard
1f93566d69
Merge pull request #80517 from glessard/rdar138440979-MutableSpan-mutableBytes
...
[SE-0467] add mutableBytes to MutableSpan
2025-04-13 10:33:09 -07:00
Guillaume Lessard
cb390140d6
[stdlib] correct MutableRawSpan sizing
2025-04-10 10:31:18 -07:00
Guillaume Lessard
53b6b45bda
[stdlib] update lifetime annotation syntax
2025-04-10 10:31:18 -07:00
Guillaume Lessard
77431f5217
[stdlib] add MutableSpan.mutableBytes
2025-04-10 10:31:05 -07:00
Slava Pestov
17868a7b50
CompatibilitySpan: Fix stdlib build on visionOS
...
Swift CI tests visionOS, but PR testing does not. Oops.
2025-04-09 12:37:45 -04:00
Slava Pestov
43da773685
stdlib: Update {Mutable,}{Raw,}Span availability for backward deployment
2025-04-07 21:32:48 -04:00
Slava Pestov
4c8c3aab4f
CompatibilitySpan: Add MutableRawSpan.swift, MutableSpan.swift
2025-04-07 21:32:44 -04:00
Meghana Gupta
ef1e94577f
Revert "Merge pull request #80540 from swiftlang/revert-80452-lifetimeinout"
...
This reverts commit 6eaa07a880 , reversing
changes made to e75ee3f4cf .
2025-04-04 09:50:13 -07:00
Artem Chikin
39e1791b67
Revert "Add support for inout lifetime dependence"
2025-04-04 09:00:09 -07:00
Meghana Gupta
f4a980d62d
Update stdlib
2025-04-03 17:32:09 -07:00
Allan Shortlidge
d2e8edfc93
stdlib: Address StrictMemorySafety warnings in Span related code.
2025-03-31 16:45:08 -07:00
Guillaume Lessard
c9b1ab8c42
Merge pull request #79650 from glessard/rdar138440979-MutableSpan
...
[SE-0467] MutableSpan, with mutableSpan properties to Array, ArraySlice and ContiguousArray.
2025-03-28 17:59:47 -07:00
Guillaume Lessard
abf29e7433
[stdlib] adjust MutableSpan’s element constraint
2025-03-27 17:19:15 -07:00
Guillaume Lessard
6a7dbb02f3
[stdlib] update lifetime annotations for Mutable[Raw]Span
2025-03-27 16:55:06 -07:00
Guillaume Lessard
7a160a2dfc
[stdlib] de-underscore the extracting() methods
2025-03-27 16:55:05 -07:00
Guillaume Lessard
90684a87a3
[stdlib] add missing unsafe annotations
2025-03-27 13:34:34 -07:00
Guillaume Lessard
5a087d1190
[stdlib] annotate unsafe initializers
2025-03-27 13:34:34 -07:00
Guillaume Lessard
9553982253
[stdlib] use the internal unsafe-unwrap
2025-03-27 13:34:34 -07:00
Guillaume Lessard
4a78667db8
[stdlib] tweaks to MutableRawSpan
2025-03-27 13:34:33 -07:00
Guillaume Lessard
b39ee18f31
[stdlib] tweaks to MutableSpan
2025-03-27 13:34:33 -07:00
Guillaume Lessard
cbbe5df00b
[stdlib] add unsafe annotations
2025-03-27 13:34:33 -07:00
Guillaume Lessard
484905b42d
[stdlib] add extracting() to MutableSpan and MutableRawSpan
2025-03-27 13:34:32 -07:00
Guillaume Lessard
f214ef29d0
[stdlib] small spelling fixes
2025-03-27 13:34:32 -07:00
Guillaume Lessard
2fa2391c28
[stdlib] remove 2 symbols
2025-03-27 13:34:32 -07:00
Guillaume Lessard
30a3eaec4f
[stdlib] add MutableSpan and MutableRawSpan
2025-03-27 13:30:13 -07:00
Ben Rimmington
2f9f5ffd85
[stdlib] Update element constraints of Span
2025-03-26 22:32:08 +00:00
Slava Pestov
5c1b20d2bc
stdlib: Build libswiftCompatibilitySpan.dylib compatibility shim
...
This dynamic library contains a copy of the standard library's
exported entry points for the Span and RawSpan types. This will
allow backward deployment of code that uses those new types.
2025-03-24 17:56:44 -04:00
Guillaume Lessard
c21de062bb
Merge pull request #78561 from glessard/rdar137710901-span-properties-prototype
...
[SE-0456] Span properties (part 1)
2025-03-24 08:47:47 -07:00
Guillaume Lessard
d5cb7ddf64
[stdlib] changes to lifetime annotations
...
Changes to lifetime annotations implemented in https://github.com/swiftlang/swift/pull/80064
2025-03-21 17:24:45 -07:00
Andrew Trick
c6116be7b5
Update stdlib source with explicit @lifetime(copy self)
2025-03-19 11:59:04 -07:00
Andrew Trick
411a65be2e
Add @lifetime annotation to RawSpan.init() and Span.init()
...
These empty initializers have @lifetime(immortal).
2025-03-19 11:59:04 -07:00
Guillaume Lessard
39ca3dee4d
Merge pull request #80003 from glessard/span-gardening
...
[stdlib] fix `Span`'s `Sendable` conformance
2025-03-13 18:54:42 -07:00
Guillaume Lessard
e81a2ee3a1
[stdlib] correctly express Span sendability
2025-03-13 13:54:18 -07:00
Doug Gregor
f668feaf64
[Standard library] Additional strict-memory-safety annotations
2025-03-10 15:42:05 -07:00
Guillaume Lessard
940628a23a
[stdlib] add newly-required unsafe annotations
2025-03-10 15:20:51 -07:00
Guillaume Lessard
264747ac77
[stdlib] add span property to CollectionOfOne
2025-03-10 08:51:56 -07:00
Guillaume Lessard
85b53bb023
[stdlib] add bytes property to Span
2025-03-10 08:51:56 -07:00
Guillaume Lessard
7214717fba
Merge pull request #79708 from glessard/span-gardening
...
[SE-0447] Span and RawSpan tests
2025-03-07 22:00:58 -08:00
Guillaume Lessard
4ec8c6e345
[stdlib] document unsafe behaviour for empty spans
2025-03-07 13:23:25 -08:00
Guillaume Lessard
3bd04acadb
Apply suggestions from code review
2025-03-07 13:23:25 -08:00
Guillaume Lessard
5f24c66ea7
[stdlib] define properties also for ~Escapable elements
...
These should be available for any type of element `Span` can have in the future, including non-escapable elements. Making this change now avoids future churn.
Addresses rdar://146130842
2025-03-07 13:23:24 -08:00
Guillaume Lessard
dfb2e2f12e
[stdlib] annotate uses of Range.init(_uncheckedBounds:)
2025-03-05 18:52:11 -08:00
Guillaume Lessard
66adb21502
[stdlib] annotate Span and RawSpan unsafe initializers
2025-03-05 17:15:03 -08:00
Guillaume Lessard
bd32aa5f6e
[stdlib] remove an extracting overload
...
- `RangeExpression` implicitly involves bounds checking, so this was misleading.
2025-03-05 17:15:03 -08:00
Guillaume Lessard
712c79c711
[gardening] 80-column vigilance
2025-03-05 16:28:11 -08:00
Guillaume Lessard
1c1a845d67
[stdlib] fix withUnsafe[BufferPointer,Bytes] impls
2025-03-05 16:28:11 -08:00