Commit Graph

22 Commits

Author SHA1 Message Date
Alex Martini
96b16af70f Split out abstract from discussion 2025-10-27 13:54:04 -07:00
Jamie
f7560c0189 [docs][NFC]: minor formatting edits to SendableMetatype docs 2025-06-06 21:38:48 -05:00
Doug Gregor
55d5de6218 Fix more typos 2025-06-05 18:10:43 -07:00
Doug Gregor
a5554a4840 Fix typos 2025-06-05 18:10:01 -07:00
Doug Gregor
9ab0c57ee9 Improve SendableMetatype documentation 2025-06-05 16:53:55 -07:00
Doug Gregor
e24598bca1 Use a marker protocol SendableMetatype to model T.Type: Sendable
Introduce a marker protocol SendableMetatype that is used to indicate
when the metatype of a type will conform to Sendable. Specifically,
`T: SendableMetatype` implies `T.Type: Sendable`. When strict
metatype sendability is enabled, metatypes are only sendable when `T:
SendableMetatype`.

All nominal types implicitly conform to `SendableMetatype`, as do the
various builtin types, function types, etc. The `Sendable` marker
protocol now inherits from `SendableMetatype`, so that `T: Sendable`
implies `T.Type: Sendable`.

Thank you Slava for the excellent idea!
2025-02-13 22:48:05 -08:00
Meghana Gupta
5b5acc64e0 Promote Nonescapable types to a language feature 2024-11-18 18:09:17 -08:00
Allan Shortlidge
b1bf693f3f stdlib: Remove #if $NoncopyableGenerics guards.
The stdlib is always built with NoncopyableGenerics enabled, so `#if
$NoncopyableGenerics` guards in non-inlinable code are superfluous.
Additionally, the stdlib's interface no longer needs to support compilers
without the feature, so the guards in inlinable code can also be removed.
2024-07-08 17:44:24 -07:00
Holly Borla
2590b2d7ac [Concurrency] Obsolete a few deprecated typealiases to Sendable in
Swift 6.
2024-05-24 08:58:41 -07:00
Holly Borla
ae8c8a3479 [NFC][Concurrency] Improve the summary documentation for Sendable. 2024-02-29 18:46:55 -08:00
Kavon Farvardin
25aa49be55 [NCGenerics] Sendable doesn't require Copyable 2024-01-23 22:42:38 -08:00
Alex Martini
59e951ae9c Fix minor wording issues per review feedback
Co-authored-by: Brian Lanier <blanier@apple.com>
2022-04-20 15:53:50 -07:00
Alex Martini
2774f3dedc Call out unsafe-sendable structs & enums. 2022-04-11 16:37:26 -07:00
Alex Martini
c9bdda9cba Add discussion of metatypes.
Co-authored-by: Doug Gregor <dgregor@apple.com>
2022-04-11 16:31:16 -07:00
Alex Martini
c4b6f4bb8b Format bulleted lists the same throughout. 2022-04-11 16:30:23 -07:00
Alex Martini
32e0825068 Revise per tech review feedback.
Co-authored-by: Doug Gregor <dgregor@apple.com>
2022-04-11 16:23:39 -07:00
Alex Martini
0089134307 Apply suggestions from tech review
Co-authored-by: Doug Gregor <dgregor@apple.com>
2022-04-11 11:01:40 -07:00
Alex Martini
6c443e5d45 Match code listing markup used elsewhere. 2022-03-31 16:05:51 -07:00
Alex Martini
34306bc933 Introduce an example explicitly. 2022-03-31 16:05:19 -07:00
Alex Martini
ec74b18b25 Add reference page for Sendable protocol. 2022-03-31 16:01:09 -07:00
Kyle Macomber
c09bdead88 Fixes copyright comment
rdar://78178197
2021-05-25 21:08:42 -07:00
Doug Gregor
9579390024 [SE-0304] Rename ConcurrentValue to Sendable 2021-03-18 22:48:20 -07:00