Kavon Farvardin
0420310623
NCGenerics: it's no longer "experimental"
...
resolves rdar://127701059
2024-05-08 10:49:12 -07:00
nate-chandler
bcd08c0c9a
Merge pull request #73235 from nate-chandler/bitwise-copyable/enable
...
[BitwiseCopyable] Promote to feature.
2024-05-04 10:16:40 -07:00
Doug Gregor
406346b4ba
Merge pull request #73425 from DougGregor/task-group-next-public
2024-05-04 00:09:28 -07:00
Doug Gregor
32cf39aa11
Update API expectations for (Throwing)TaskGroup.next()
2024-05-03 13:24:20 -07:00
Holly Borla
43681259e9
Merge pull request #73310 from hborla/async-stream-sendable-error
...
[Concurrency] Stage in new `Async{Throwing}Stream.init(unfolding:)` errors as warnings.
2024-04-30 19:23:19 -07:00
Holly Borla
7f5e47eb6f
[NFC] Update api-digester concurrency test.
2024-04-30 16:25:17 -07:00
Nate Chandler
b1fbe4ea91
[BitwiseCopyable] Remove underscore.
2024-04-25 11:44:15 -07:00
Slava Pestov
feea84dc6c
Sema: Ban uncallable protocol member operators
...
Member operators of concrete nominal types must declare at least
one parameter with that type, like
```
struct S {
static func +(lhs: S, rhs: Int) -> S {}
}
```
For protocol member operators, we would look for a parameter of type
`Self`, or an existential type `any P`. While the latter was
consistent with the concrete nominal type case, it was actually
wrong because then the resulting interface type does not give the
type checker any way to bind the `Self` type parameter.
There were two existing test cases that now produce errors, which I
believe is now correct. While this is technically a source break,
because these bogus operators seemingly cannot be witnessed or called,
such a protocol probably had no conforming types.
Fixes https://github.com/apple/swift/issues/73201 .
2024-04-23 15:28:16 -04:00
Karoy Lorentey
1b89293029
[api-digester] Update ceremonial confessions
2024-04-17 07:57:11 -07:00
Karoy Lorentey
a681a3d45e
[api-digester] Ritually confess our sins
2024-04-16 11:21:08 -07:00
Konrad `ktoso` Malawski
dfcf1054dd
[Concurrency] Remove _unsafeInheritExecutor from public APIs, use #isolation ( #72578 )
2024-04-05 03:57:54 -07:00
Konrad `ktoso` Malawski
3295ddd200
[Concurrency] waitForAll and next of TaskGroups must inherit isolation ( #72794 )
2024-04-04 23:49:05 -07:00
Stephen Canon
a381589524
SE-0425 implementation ( #72139 )
2024-04-02 16:24:41 -04:00
Kavon Farvardin
554fa49a1f
Test: clean-up noncopyable_generics lit usage
...
There no longer is a lit feature called `noncopyable_generics`, it's
just always on now.
2024-04-01 12:28:08 -07:00
Allan Shortlidge
a1dacc12d7
stdlib: Make typed throws ABI placeholders properly @usableFromInline.
...
Functions that are used in public `@inlinable` function bodies can't be marked
`@_spi` nor can they be made obsolete. Also, they must retain `rethrows` so
that use of these entry points from other `rethrows` functions is accepted.
Builds on https://github.com/apple/swift/pull/72365 . Once we no longer have to
support pre-`$TypedThrows` compilers, all of this can be reverted.
Part of rdar://125138945
2024-03-27 14:57:56 -07:00
Karoy Lorentey
c2f8d733dc
[test] Update api-digester false positives lists
2024-03-21 13:53:58 -07:00
Karoy Lorentey
f24e18cb01
Merge pull request #71688 from lorentey/noncopyable-primitives
...
[stdlib] Start adopting noncopyable generics in the stdlib
2024-03-18 20:45:24 -07:00
Karoy Lorentey
74bd1e385c
[test] Fix mismerge in old ABI checker’s expectation list
2024-03-18 15:27:29 -07:00
Karoy Lorentey
bd39c35026
[test] Un-xfail tests that are passing now that NoncopyableGenerics is a suppressible feature
2024-03-18 12:32:33 -07:00
Kavon Farvardin
f72a9a1f68
re-disable test on non-x86
2024-03-18 11:24:10 -07:00
Karoy Lorentey
68a8c41e81
[test] Temporarily XFAIL tests that expect swiftinterface files to work when using Optional and other stdlib features
2024-03-18 11:09:08 -07:00
Karoy Lorentey
6e77f85f92
[abi] Update false positives list for api-digester based ABI/source stability tests
2024-03-18 11:09:07 -07:00
Kavon Farvardin
cc709d676d
Test: update baseline for NoncopyableGenerics
2024-03-14 23:10:44 -07:00
Kavon Farvardin
11220bb3d0
ABI Tests: include Copyable/Escapable in baseline
2024-03-14 23:10:44 -07:00
Kavon Farvardin
3b02f306ee
APIDigester: Stringify inverses in GenericSigs
...
The presence of Copyable/Escapable conformances doesn't affect ABI. Only
their absence in terms of suppressed requirements like `~Copyable` need
to be output for diffing by the APIDigester.
2024-03-14 23:10:44 -07:00
Guillaume Lessard
78273b2390
Merge pull request #72089 from glessard/toplevel-withUMP-typed-throws
...
[stdlib] convert `withUnsafeMutablePointer()` to typed throws
2024-03-08 13:52:23 -08:00
Guillaume Lessard
3f9d93df76
[api-digester] fix exception omission
...
Update test/api-digester/stability-stdlib-abi-without-asserts.test
2024-03-08 09:01:11 -08:00
Guillaume Lessard
805dd70cfe
Merge pull request #72074 from glessard/toplevel-withbytes-typed-throws
...
[stdlib] convert `withUnsafeBytes()` to typed throws
2024-03-08 08:55:08 -08:00
Slava Pestov
41df661160
AST: Use a builtin conformance for unconditional Copyable/Escapable
...
This generalizes what we were already doing for classes.
2024-03-07 15:07:47 -05:00
Guillaume Lessard
578a058797
Merge pull request #72052 from glessard/toplevel-withpointer-typed-throws
...
[stdlib] convert `withUnsafePointer()` to typed throws
2024-03-06 15:01:45 -08:00
Nate Chandler
73231b185b
[BitwiseCopyable] Don't apply to FixedWidthInteger.
...
Per LWG feedback.
This reverts commit c8119e3c01 .
2024-03-06 08:12:54 -08:00
Guillaume Lessard
fd726ccac3
[abi-digester] fix an exception
...
Update test/api-digester/stability-stdlib-abi-without-asserts.test
2024-03-05 09:24:13 -08:00
Guillaume Lessard
72e26f2d87
[api-digester] add more exceptions for typed throws
2024-03-05 03:06:42 -08:00
Guillaume Lessard
95c07e4688
[api-digester] add more exceptions for typed throws
2024-03-05 02:31:23 -08:00
Guillaume Lessard
e02d8ab799
[api-digester] add more exceptions for typed throws
2024-03-05 02:25:52 -08:00
Pavel Yaskevich
79a71c13de
Merge pull request #71971 from xedin/ncgenerics-swiftpm-circularity-issue
...
[AST/Serialization] Fix circularity issue with deserialized protocols and composition types
2024-02-29 17:18:28 -08:00
Pavel Yaskevich
bf599b70f4
[Serialization] Form protocol's inherited types based on deserialized protocols
2024-02-29 11:20:05 -08:00
Karoy Lorentey
a35741f4eb
[test] Expect the phantom removal of _get*RetainCount functions
2024-02-27 13:18:28 -08:00
Doug Gregor
8c452b5cf5
Fix accidental ABI break with AsyncSequence.flatMap
...
At the type that I introduced type throws into AsyncSequence and its
algorithms, I accidentally dropped a `@preconcurrency` on the ABI
entrypoint, leading to a mangled name change.
Fixes rdar://123639030.
2024-02-26 12:38:56 -08:00
Slava Pestov
6939740db2
Adjust XFAILs
2024-02-24 07:25:59 -05:00
Slava Pestov
dde28e96a2
AST: Don't call getDirectlyInheritedNominalTypeDecls() on a protocol in ConformanceLookupTable
2024-02-24 07:25:59 -05:00
Slava Pestov
7909d83229
AST: Refactor directReferencesForTypeRepr() to track inverses
2024-02-24 07:25:59 -05:00
Kavon Farvardin
f296d8e158
NCGenerics: mass XFAIL tests
...
It's easier to get a handle on regressions while working through
failures if the tests that are known to not pass are XFAIL'd for
NoncopyableGenerics.
2024-02-20 18:26:05 -05: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
Guillaume Lessard
16af5e6a28
[test] silence api-digester false alarm
2024-02-03 16:19:05 -08:00
Nate Chandler
c8119e3c01
[stdlib] FixedWidthInteger is BitwiseCopyable.
2024-01-30 14:38:07 -08:00
Doug Gregor
b0029b24f5
Add AsyncThrowingFlatMapSequence.nextElement()
2024-01-25 16:04:45 -08:00
Doug Gregor
3e726ebc55
Add nextElement() and explicit Failure types for a number of asynchronous iterators
2024-01-25 16:04:44 -08:00
Doug Gregor
239f8d8a78
Rename AsyncIteratorProtocol._nextElement -> nextElement
2024-01-25 16:04:43 -08:00
Doug Gregor
b2a5ebe1bd
Always emit AsyncIteratorProtocol._nextElement into the client
...
... this allows us to use the entrypoint when back-deploying code that
uses the async for..in loop.
2024-01-25 16:04:43 -08:00