Proposal一覧
マクロによる
Optional の non-copyable 対応の改善と一般化
Optional noncopyable improvements and generalizations
Literal expression Literal Expressions
Result の async サポート
Async Result Support
FilePathを標準ライブラリに追加する
Add FilePath to the Standard Library
Continuation — 安全で高性能なAsync Continuations
Continuation — Safe and Performant Async Continuations
UniqueArray
UniqueArray
withDeadline withDeadline
RawSpanの安全な読み込みAPI
Safe loading API for RawSpan
Output(Raw)Spanを用いたwithTemporaryAllocationを追加する
Add withTemporaryAllocation using Output(Raw)Span
UnownedTaskExecutorのHashable適合
Hashable conformance for UnownedTaskExecutor
コンパイラ警告に対するソースレベル制御 Source-Level Control Over Compiler Warnings
opaque型およびexistential型のオプショナルに対する改善された構文 Improved Syntax for Optionals of Opaque and Existential Types
Taskイニシャライザでのdiscardable resultの利用 Discardable result use in Task initializers
安全な第一級参照のためのRef型とMutableRef型
Ref and MutableRef types for safe, first-class references
non-Sendable型を明示的に示すための~Sendable
~Sendable for explicitly marking non-Sendable types
UniqueBox UniqueBox
Iterable
Iterable
reduceがnoncopyable結果を生成できるようにする
Allow reduce to produce noncopyable results
Dictionary.Keys、CollectionOfOne、EmptyCollectionに対するHashable適合
Hashable Conformance for Dictionary.Keys, CollectionOfOne and EmptyCollection
現在の実行ファイルへのパスを取得するAPI API to get the path to the current executable
Mutex.withLockIfAvailable(_:)がspuriously failしないことを文書化する
Document that Mutex.withLockIfAvailable(_:) cannot spuriously fail
SwiftPM Add Target Pluginコマンド SwiftPM Add Target Plugin Command
Dictionary.mapValuesWithKeysを導入する
Introduce Dictionary.mapValuesWithKeys
Swift Package Manager向けソフトウェア部品表(SBOM)生成 Software Bill of Materials (SBOM) Generation for Swift Package Manager
Array式の末尾クロージャ Array Expression Trailing Closures
borrow / mutateアクセサ Borrow and Mutate Accessors
高度なObservation追跡 Advanced Observation Tracking
エグゼキュータの遅延エンキュー Delayed Enqueuing for Executors
タスクキャンセルシールド Task Cancellation Shields
デフォルトを持つassociated typesに対する抑制されたデフォルト適合 Suppressed Default Conformances on Associated Types With Defaults
メンバーワイズイニシャライザからprivateな初期化済みプロパティを除外する Exclude private initialized properties from memberwise initializer
HTMLカバレッジレポート HTML Coverage Report
カスタムテンプレートによるパッケージ作成の改善: SwiftPM Template Initialization Improving package creation with custom templates: SwiftPM Template Initialization
単純な標準ライブラリプロトコルで~Copyable、~Escapableをサポートする Support ~Copyable, ~Escapable in simple standard library protocols
Runtimeモジュールでdemangle関数を公開する Expose demangle function in Runtime module
クライアントにおける関数定義可視性を制御する Controlling function definition visibility in clients
@inline(always)属性
@inline(always) attribute
C互換関数とenum C compatible functions and enums
具象型との高速比較のためのisTriviallyIdentical(to:)メソッドを追加する
Add isTriviallyIdentical(to:) Methods for Quick Comparisons to Concrete Types
defer本体でasync呼び出しをサポートする
Support async calls in defer bodies
セクション配置制御 Section Placement Control
名前の曖昧性解消のためのmodule selector Module selectors for name disambiguation
環境制約付き共有ライブラリ Environment Constrained Shared Libraries
EncodingErrorとDecodingErrorの表示説明を改善する
Improve EncodingError and DecodingError’s printed descriptions
extracting() slicing patternをより広く適用する Apply the extracting() slicing pattern more widely
nonexhaustiveなenum Nonexhaustive enums
Swift機能のための移行ツール Migration tooling for Swift features
OutputSpan: contiguous memoryの初期化を委譲する OutputSpan: delegate initialization of contiguous memory
@dynamicMemberLookup subscriptに追加引数を許可する
Allow Additional Arguments to @dynamicMemberLookup Subscripts
InlineArray型糖衣構文
InlineArray Type Sugar
バイナリ静的ライブラリ依存関係 Binary Static Library Dependencies
weak let
weak let
SwiftPMのwarning control設定 Warning Control Settings for SwiftPM
メソッドとイニシャライザのKey Paths Method and Initializer Key Paths
ファイル単位のデフォルト File-level defaults
文字列補間におけるデフォルト値 Default Value in String Interpolations
関数、イニシャライザ、プロパティ、subscriptのABIを制御する Controlling the ABI of a function, initializer, property, or subscript
値のトランザクションObservation Transactional Observation of Values
yieldingアクセサ Yielding accessors
Clock Epochs Clock Epochs
caller contextから同期的にタスクを開始する Starting tasks synchronously from caller context
Concurrency Runtimeのための改善されたCustom SerialExecutor isolation checking Improved Custom SerialExecutor isolation checking for Concurrency Runtime
global-actor isolated conformances Global-actor isolated conformances
タスク命名 Task Naming
Async(Throwing)Stream.ContinuationのHashable適合
Hashable conformance for Async(Throwing)Stream.Continuation
MutableSpanとMutableRawSpan: contiguous memoryの変更を委譲する MutableSpan and MutableRawSpan: delegate mutations of contiguous memory
デフォルトactor isolation推論を制御する Control default actor isolation inference
nonescapable型のための標準ライブラリプリミティブ Standard Library Primitives for Nonescapable Types
UTF8Span: contiguous bytes上の安全なUTF-8処理 UTF8Span: Safe UTF-8 Processing Over Contiguous Bytes
Objective-C completion handler parametersを@Sendableとしてimportする
Import Objective-C completion handler parameters as @Sendable
Task Priority Escalation API Task Priority Escalation APIs
nonisolated async関数をデフォルトで呼び出し元アクター上で実行する Run nonisolated async functions on the caller’s actor by default
明示的特殊化 Explicit Specialization
enumerated()にCollection適合を追加する
Add Collection Conformances for enumerated()
オプトイン式strict memory safety checking Opt-in Strict Memory Safety Checking
Durationのattosecond表現を公開する Expose attosecond representation of Duration
標準ライブラリ型にSpan提供プロパティを追加する Add Span-providing Properties to Standard Library Types
SwiftPMの@testableビルド設定 SwiftPM @testable build setting
ツールチェーン用カスタムアロケータ Custom Allocator for Toolchain
固定サイズ配列InlineArray InlineArray, a fixed-size array
整数ジェネリックパラメータ Integer Generic Parameters
Raw identifiers Raw identifiers
Package traits Package traits
nonisolatedでグローバルアクター推論を防げるようにする
Allow nonisolated to prevent global actor inference
Regex後読みアサーション Regex lookbehind assertions
Span: contiguous storageへの安全なアクセス Span: Safe Access to Contiguous Storage
nonescapable型 Nonescapable Types
String.Indexの表示説明を改善する
Improving String.Index’s printed descriptions
メンバーimport可視性 Member import visibility
コンパイラ警告に対する精密なコントロールフラグ Precise Control Flags over Compiler Warnings
TaskGroupのChildTaskResult型を推論できるようにする Allow TaskGroup’s ChildTaskResult Type To Be Inferred
‘language mode’用語を正式化する Formalize ‘language mode’ terminology
DebugDescription Macro DebugDescription Macro
カンマ区切りリストで末尾カンマを許可する Allow trailing comma in comma-separated lists
メタタイプKeypaths Metatype Keypaths
noncopyable標準ライブラリプリミティブ Noncopyable Standard Library Primitives
SwiftにおけるObjective-C実装 Objective-C implementations in Swift
ターゲットごとのSwift言語バージョン Swift Language Version Per Target
global-actor-isolated型の使い勝手 Usability of global-actor-isolated types
同期相互排他ロック Synchronous Mutual Exclusion Lock
noncopyable型のためのborrowing / consumingパターンマッチング Borrowing and consuming pattern matching for noncopyable types
@isolated(any) Function Types
@isolated(any) Function Types
sendingパラメータと結果値
sending parameter and result values
noncopyable valueの部分消費 Partial consumption of noncopyable values
サーバークライアントアプリのためのDistributedActorプロトコルを解決する Resolve DistributedActor protocols for server-client apps
noncopyable generics Noncopyable Generics
BitwiseCopyable BitwiseCopyable
128-bit整数型 128-bit Integer Types
SerialExecutorのためのカスタムisolation checking Custom isolation checking for SerialExecutor
strict concurrencyでないコンテキストからの動的actor isolation強制 Dynamic actor isolation enforcement from non-strict-concurrency contexts
caller-side default argumentとしてのexpression macro Expression macro as caller-side default argument
AsyncSequenceとAsyncIteratorProtocolのeffect polymorphismを一般化する
Generalize effect polymorphism for AsyncSequence and AsyncIteratorProtocol
actor isolationの継承 Inheritance of actor isolation
Swift Backtrace API Swift Backtrace API
メソッドとkey path literalsに対するSendable推論 Inferring Sendable for methods and key path literals
Task Executor Preference Task Executor Preference
関数としてのkeypath literalsに対するsubtyping Subtyping for keypath literals as functions
Function Body Macros Function Body Macros
region based isolation Region based Isolation
型付きthrows Typed throws
グローバル変数に対するstrict concurrency Strict concurrency for global variables
isolatedなデフォルト値式 Isolated default value expressions
低レベルアトミック操作 Low-Level Atomic Operations
import宣言のアクセスレベル修飾子 Access-level modifiers on import declarations
Pack Iteration Pack Iteration
Member Macro Conformances Member Macro Conformances
AsyncStreamのbackpressureサポート Backpressure support for AsyncStream
エンコーディング検証付きStringイニシャライザ String Initializers with Encoding Validation
プロトコルが非ジェネリックコンテキストにネストできるようにする Allow Protocols to be Nested in Non-Generic Contexts
Package Managerの混成言語ターゲットサポート Package Manager Mixed Language Target Support
conformance macrosをextension macrosとして一般化する
Generalize conformance macros as extension macros
Property Wrappersによって引き起こされるActor Isolation推論を削除する Remove Actor Isolation Inference caused by Property Wrappers
initアクセサ Init Accessors
value pack expansionのタプル Tuple of value pack expansion
Generic Typesがpacksを抽象化できるようにする Allow Generic Types to Abstract Over Packs
Freestanding Declaration Macros Freestanding Declaration Macros
NeverをCodableに適合させる
Conform Never to Codable
Observation Observation
カスタムmacroのためのPackage Managerサポート Package Manager Support for Custom Macros
値および型のparameter packs Value and Type Parameter Packs
カスタムアクターエグゼキュータ Custom Actor Executors
Package Registry Publish Package Registry Publish
noncopyableなstructとenum Noncopyable structs and enums
Attached Macros Attached Macros
便利なAsync[Throwing]Stream.makeStreamメソッド Convenience Async[Throwing]Stream.makeStream methods
クロスコンパイルのためのSwift SDK Swift SDKs for Cross-Compilation
新しいアクセス修飾子: package
New access modifier: package
カスタムリフレクションメタデータ Custom Reflection Metadata
前方宣言されたObjective-C interfaceとprotocolをimportする Importing Forward Declared Objective-C Interfaces and Protocols
@UIApplicationMainと@NSApplicationMainを非推奨にする Deprecate @UIApplicationMain and @NSApplicationMain
Expression Macros Expression Macros
DiscardingTaskGroups DiscardingTaskGroups
ifとswitch式
if and switch expressions
Swiftのオプトインなリフレクションメタデータ Swift Opt-In Reflection Metadata
Package Registry Authentication Package Registry Authentication
borrowingおよびconsumingパラメータownership修飾子
borrowing and consuming parameter ownership modifiers
関数のback deployment Function Back Deployment
existential引数をオプショナルパラメータに開く Opening existential arguments to optional parameters
Clockにsleep(for:)を追加する Add sleep(for:) to Clock
result builders内の変数に関するすべての制限を解除する Lift all limitations on variables in result builders
ソートがstableであることを文書化する Document Sorting as Stable
isolatedな同期deinit Isolated synchronous deinit
ポインタファミリーの初期化改善とより良いバッファslice Pointer Family Initialization Improvements and Better Buffer Slices
AnyKeyPathにCustomDebugStringConvertible適合を追加する Add CustomDebugStringConvertible conformance to AnyKeyPath
StaticBigInt StaticBigInt
属性のための条件付きコンパイル Conditional compilation for attributes
変数束縛の寿命を終了するconsume演算子
consume operator to end the lifetime of a variable binding
selfがアンラップされた後、weak selfキャプチャで暗黙的selfを許可する
Allow implicit self for weak self captures, after self is unwrapped
外部型の事後適合に対する警告 Warning for Retroactive Conformances of External Types
String ProcessingのためのUnicode Unicode for String Processing
upcoming language improvementsの段階的採用 Piecemeal adoption of upcoming language improvements
bound generic typesへのエクステンション Extensions on bound generic types
可用性が限定されたopaque result types Opaque result types with limited availability
ビルド時定数値 Build-Time Constant Values
標準ライブラリにおける主要associated types Primary Associated Types in the Standard Library
Regex駆動の文字列処理アルゴリズム Regex-powered string processing algorithms
Swift Snippets Swift Snippets
Regex構文と実行時構築 Regex Syntax and Run-time Construction
Regexリテラル Regex Literals
制約付きexistential型 Constrained Existential Types
暗黙的に開かれたexistential Implicitly Opened Existentials
Regex builder DSL Regex builder DSL
Regex型と概要 Regex Type and Overview
Raw Memoryからの非整列load/store Unaligned Loads and Stores from Raw Memory
result buildersのためのbuildPartialBlock
buildPartialBlock for result builders
デフォルト式からの型推論 Type inference from default expressions
主要associated typesのための軽量なsame-type要件 Lightweight same-type requirements for primary associated types
既存オプショナル変数をシャドーするためのif let短縮構文
if let shorthand for shadowing an existing optional variable
分散アクターランタイム Distributed Actor Runtime
トップレベルコードにおけるConcurrency Concurrency in Top-level Code
対応プラットフォームでデフォルトでSwiftランタイムライブラリを静的リンクする Statically link Swift runtime libraries by default on supported platforms
opaque parameter declarations Opaque Parameter Declarations
asyncから利用不可属性 Unavailable From Async Attribute
曖昧性解消のためのモジュールalias Module Aliasing For Disambiguation
非actor-isolatedなasync関数の実行を明確化する Clarify the Execution of Non-Actor-Isolated Async Functions
concurrency checkingへの段階的移行 Incremental migration to concurrency checking
分散アクターisolation Distributed Actor Isolation
existential anyを導入する
Introduce existential any
Pointer APIの使い勝手改善 Pointer API Usability Improvements
withMemoryReboundの使い勝手を広げる Expand usability of withMemoryRebound
Package Managerコマンドプラグイン Package Manager Command Plugins
unsafe pointer型からSendable適合を削除する Remove Sendable conformance from unsafe pointer types
Collection内の条件分岐 Conditionals in Collections
Clock、Instant、Duration Clock, Instant, and Duration
構造的opaque result types Structural opaque result types
Actorsと初期化について On Actors and Initialization
複数文クロージャのパラメータ/結果型推論を有効にする Enable multi-statement closure parameter/result type inference
追加のPackage Plugin API Additional Package Plugin APIs
C関数へのポインタ引数に対する診断を緩和する Relax diagnostics for pointer arguments to C functions
非同期mainセマンティクス Asynchronous Main Semantics
一時的な未初期化バッファ Temporary uninitialized buffers
Package Registry Service - Publish Endpoint Package Registry Service - Publish Endpoint
non-String / IntキーのDictionaryをKeyedContainerにencodeできるようにする
Allow coding of non String / Int keyed Dictionary into a KeyedContainer
NeverをIdentifiableに適合させる Conform Never to Identifiable
Package Creation Package Creation
async let束縛
async let bindings
グローバルアクター Global actors
型プレースホルダ(旧称”Placeholder types”) Type placeholders (formerly, “Placeholder types”)
AsyncStreamとAsyncThrowingStream
AsyncStream and AsyncThrowingStream
actor isolationをより良く制御する Improved control over actor isolation
indexed()とenumerated()およびzip(_:_:)のCollection適合を追加する
Add indexed() and Collection conformances for enumerated() and zip(_:_:)
Task Local Values Task Local Values
effectfulな読み取り専用プロパティ Effectful Read-only Properties
すべてのプロトコルでexistentialを解放する Unlock existentials for all protocols
postfix member expressionsのための#if
#if for postfix member expressions
CGFloat型とDouble型の相互交換的使用を許可する
Allow interchangeable use of CGFloat and Double types
Actors Actors
Package Managerのバイナリターゲット改善 Package Manager Binary Target Improvements
Structured concurrency Structured concurrency
Package Managerの拡張可能なビルドツール Package Manager Extensible Build Tools
Sendableと@Sendableクロージャ
Sendable and @Sendable closures
Package Editorコマンド Package Editor Commands
asyncタスクを同期コードと接続するためのcontinuation Continuations for interfacing async tasks with synchronous code
ジェネリックコンテキストにおけるStatic Member Lookupを拡張する Extending Static Member Lookup in Generic Contexts
Async/Await: Sequences Async/Await: Sequences
Objective-CとのConcurrency相互運用 Concurrency Interoperability with Objective-C
Async/await Async/await
associated valuesを持つenumのCodable合成 Codable synthesis for enums with associated values
Package Manifestで実行可能ターゲットを宣言する Declaring executable targets in Package Manifests
Property Wrappersを関数とクロージャパラメータに拡張する Extend Property Wrappers to Function and Closure Parameters
Package Registry Service Package Registry Service
Package Collections Package Collections
利用不可条件 Unavailability Condition
Result builders Result builders
BinaryIntegerにisPower(of:)を追加する
Adding isPower(of:) to BinaryInteger
暗黙的メンバー構文をメンバー参照チェーンまで拡張する Extend implicit member syntax to cover chains of member references
末尾クロージャに対する前方走査マッチング Forward-scan matching for trailing closures
簡潔なマジックファイル文字列への移行を容易にする Ease the transition to concise magic file strings
関数、subscript、イニシャライザで複数の可変長パラメータを許可する Allow Multiple Variadic Parameters in Functions, Subscripts, and Initializers
タプルをEquatable、Comparable、Hashableに適合させる
Tuples Conform to Equatable, Comparable, and Hashable
Swiftのメモリ一貫性モデルを明確化する Clarify the Swift memory consistency model
@main: 型ベースのプログラムエントリポイント
@main: Type-Based Program Entry Points
プロトコル証人としてのenumケース Enum cases as protocol witnesses
複数の末尾クロージャ Multiple Trailing Closures
Package Managerのローカライズ済みリソース Package Manager Localized Resources
Float16 Float16
複数パターンcatch句 Multi-Pattern Catch Clauses
エスケープされた識別子でより多くの文字(空白や句読点など)を許可する Allow more characters (like whitespaces and punctuations) for escaped identifiers
簡潔なマジックファイル名 Concise magic file names
Package Managerの条件付きターゲット依存関係 Package Manager Conditional Target Dependencies
Package Managerのバイナリ依存関係 Package Manager Binary Dependencies
Package Managerリソース Package Manager Resources
非連続要素に対するCollection操作を追加する Add Collection Operations on Noncontiguous Elements
循環参照が起こりにくい場合に@escapingクロージャでの暗黙的selfの可用性を高める
Increase availability of implicit self in @escaping closures when reference cycles are unlikely to occur
didSetセマンティクスを洗練する
Refine didSet Semantics
文脈依存でジェネリックな宣言におけるwhere句
where clauses on contextually generic declarations
enum型に対するComparable適合の合成
Synthesized Comparable conformance for enum types
Index、要素、sliceへのオフセットベースアクセス Offset-Based Access to Indices, Elements, and Slices
標準ライブラリプレビューpackage Standard Library Preview Package
未初期化ストレージにアクセスできるStringイニシャライザを追加する Add a String Initializer with Access to Uninitialized Storage
demangle関数 Demangle Function
Identifiableプロトコル Identifiable Protocol
安定ABIのためのlibrary evolution Library Evolution for Stable ABIs
浮動小数点の近似等価性 Approximate Equality for Floating Point
Property Wrappers Property Wrappers
複数行式リストからのカンマ省略 Eliding commas from multiline expression lists
{Mutable}ContiguousCollectionプロトコルを導入する
Introduce {Mutable}ContiguousCollection protocol
単一式関数からの暗黙的return Implicit returns from single-expression functions
staticおよびclass subscript Static and class subscripts
ユーザー定義nominal typeの呼び出し可能な値 Callable values of user-defined nominal types
Key Pathメンバールックアップ Key Path Member Lookup
SIMDの追加 SIMD additions
Swiftコードスタイルガイドラインとフォーマッタ Swift Code Style Guidelines and Formatter
関数としてのKey Path式 Key Path Expressions as Functions
Stringの欠落箇所と不足API String Gaps and Missing APIs
Contiguous Strings Contiguous Strings
ジェネリックなMath関数群 Generic Math(s) Functions
未初期化ストレージにアクセスできるArrayイニシャライザを追加する Add an Array Initializer with Access to Uninitialized Storage
opaque result types Opaque Result Types
整数変換可能な文字リテラル Integer-convertible character literals
メンバーワイズイニシャライザのデフォルト値を合成する Synthesize default values for the memberwise initializer
String Indexのencoded offsetを非推奨にする Deprecate String Index Encoded Offsets
順序付きCollectionの差分検出 Ordered Collection Diffing
Range型にCodable適合を追加する Add Codable conformance to Range types
Package Managerのターゲット固有ビルド設定 Package Manager Target Specific Build Settings
withContiguous{Mutable}StorageIfAvailableメソッドを導入する
Introduce withContiguous{Mutable}StorageIfAvailable methods
Package Managerのプラットフォームデプロイ設定 Package Manager Platform Deployment Settings
Resultを標準ライブラリに追加する Add Result to the Standard Library
Sequence.SubSequenceを削除する
Remove Sequence.SubSequence
Numericが新しいAdditiveArithmeticプロトコルをrefineするようにする
Make Numeric Refine a new AdditiveArithmetic Protocol
標準ライブラリのCollection階層から一部のカスタマイズポイントを削除する
Remove Some Customization Points from the Standard Library’s Collection Hierarchy
オプショナルのイテレーション Optional Iteration
try?で生じるネストしたオプショナルを平坦化する
Flatten nested optionals resulting from ‘try?’
SIMDベクトル SIMD Vectors
ExpressibleByStringInterpolationを修正する Fix ExpressibleByStringInterpolation
identity key path Identity key path
Package Managerのターゲットベース依存解決 Package Manager Target Based Dependency Resolution
BinaryIntegerにisMultipleを追加する
Adding isMultiple to BinaryInteger
コンパイル条件で「未満」演算子をサポートする Support ‘less than’ operator in compilation conditions
Arrayの未初期化バッファにアクセスする Accessing an Array’s Uninitialized Buffer
遅延評価版CompactMap Sequence Lazy CompactMap Sequence
Character Properties Character Properties
count(where:)
count(where:)
Package Managerの依存ミラーリング Package Manager Dependency Mirroring
DictionaryにcompactMapValuesを導入する
Introduce compactMapValues to Dictionary
!!“Unwrap or Die”演算子をSwift標準ライブラリに導入する
Introducing the !! “Unwrap or Die” operator to the Swift Standard Library
ユーザー定義の動的に”呼び出し可能”な型を導入する Introduce user-defined dynamically “callable” types
NeverをEquatableおよびHashableに適合させる
Conform Never to Equatable and Hashable
DictionaryLiteral型をKeyValuePairsに改名する
Renaming the DictionaryLiteral type to KeyValuePairs
coercionによるリテラル初期化 Literal initialization via coercion
コンパイラバージョンディレクティブ Compiler Version Directive
Unicode.ScalarにUnicodeプロパティを追加する
Add Unicode Properties to Unicode.Scalar
MemoryLayoutにoffset(of:)メソッドを追加する
Add an offset(of:) method to MemoryLayout
Package ManagerのSwift言語バージョンAPI更新 Package Manager Swift Language Version API Update
Package Managerのシステムライブラリターゲット Package Manager System Library Targets
SequenceにallSatisfyアルゴリズムを追加する
Add an allSatisfy algorithm to Sequence
Hashableの機能強化 Hashable Enhancements
不変値に対するwithUnsafePointer(to:_:)とwithUnsafeBytes(of:_:)
withUnsafePointer(to:_:) and withUnsafeBytes(of:_:) for immutable values
last(where:)とlastIndex(where:)メソッドを追加する
Add last(where:) and lastIndex(where:) Methods
Sequence.elementsEqualを改名する Rename Sequence.elementsEqual
Randomの統一 Random Unification
Package Managerのローカル依存関係 Package Manager Local Dependencies
生テキストをサポートするためString Literalsの区切りを強化する Enhancing String Literals Delimiters to Support Raw Text
Boolにtoggleを追加する
Adding toggle to Bool
Playground QuickLook APIの刷新 Playground QuickLook API Revamp
標準ライブラリに破壊的removeAll(where:)を追加する
Adding in-place removeAll(where:) to the Standard Library
コンパイラ診断ディレクティブ Compiler Diagnostic Directives
ユーザー定義の”Dynamic Member Lookup”型を導入する Introduce User-defined “Dynamic Member Lookup” Types
enumケースの派生Collection Derived Collection of Enum Cases
モジュール間インライン化と特殊化 Cross-module inlining and specialization
将来のenumケースを扱う Handling Future Enum Cases
CollectionからIndexDistanceを排除する
Eliminate IndexDistance from Collection
target environmentプラットフォーム条件 Target environment platform condition
モジュール間のstructイニシャライザを制限する Restrict Cross-module Struct Initializers
標準ライブラリのIndex型をHashableにする Make Standard Library Index Types Hashable
Sequence.compactMap(_:)を導入する
Introduce Sequence.compactMap(_:)
プロトコルでのownershipキーワードサポートを削除する Remove ownership keyword support in protocols
EquatableおよびHashable適合を合成する
Synthesizing Equatable and Hashable conformance
Unsafe[Mutable][Raw][Buffer]Pointer: 不足しているメソッドを追加し、既存ラベルを明確さのために調整し、deallocation sizeを削除する
Unsafe[Mutable][Raw][Buffer]Pointer: add missing methods, adjust existing labels for clarity, and remove deallocation size
Substringのパフォーマンス向け機能 Substring performance affordances
Stringの改行エスケープ String Newline Escaping
Package ManagerのC/C++言語標準サポート Package Manager C/C++ Language Standard Support
String Indexの刷新 String Index Overhaul
Swift runコマンド
Swift run Command
CharacterにunicodeScalarsプロパティを追加する
Add unicodeScalars property to Character
clamp(to:)をstdlibに追加する
Add clamp(to:) to the stdlib
メモリへの排他的アクセスを強制する Enforce Exclusive Access to Memory
Package Managerの依存解決を改訂する Package Manager Revised Dependency Resolution
RangeReplaceableCollection.filterがSelfを返すように変更する
Change RangeReplaceableCollection.filter to return Self
MutableCollection.swapAt(_:_:)を追加する
Add MutableCollection.swapAt(_:_:)
片側Range One-sided Ranges
inoutを使ったreduce
Reduce with inout
NSNumberブリッジと数値型 NSNumber bridging and Numeric types
private宣言とエクステンションの相互作用を改善する
Improve Interaction Between private Declarations and Extensions
複数行文字列リテラル Multi-Line String Literals
Swift Encoders Swift Encoders
Swift Archival & Serialization Swift Archival & Serialization
DictionaryとSetの機能強化 Dictionary & Set Enhancements
protocol extensionsでのfinalサポートを削除する Remove final support in protocol extensions
String改訂: Collection適合、C相互運用、トランスコーディング String Revision: Collection Conformance, C Interop, Transcoding
Package Managerのカスタムターゲットレイアウト Package Manager Custom Target Layouts
Smart KeyPaths: Swiftのためのより良いKey-Value Coding Smart KeyPaths: Better Key-Value Coding for Swift
@objc推論を制限する
Limiting @objc inference
Privateアクセスレベルを修正する Fix Private Access Levels
Package Manager Manifest APIの再設計 Package Manager Manifest API Redesign
関連型に対する再帰的制約をサポートする Support recursive constraints on associated types
クラスおよびサブタイプexistential Class and Subtype existentials
enumケース表現を正規化する Normalize Enum Case Representation
Dictionaryのキーと値のためのカスタムCollectionを提供する Provide Custom Collections for Dictionary Keys and Values
@NSCopyingの挙動の不整合を補償する
Compensate for the inconsistency of @NSCopying’s behaviour
Package Managerのtoolsバージョン Package Manager Tools Version
Package ManagerのSwift言語互換バージョン Package Manager Swift Language Compatibility Version
ブランチのためのPackage Managerサポート Package Manager Support for branches
Top of Tree開発のためのPackage Managerサポート Package Manager Support for Top of Tree development
ジェネリックsubscript Generic Subscripts
UnsafeMutablePointer.initialize(from:)をUnsafeMutableBufferPointerに移す Move UnsafeMutablePointer.initialize(from:) to UnsafeMutableBufferPointer
Package Managerのproduct定義 Package Manager Product Definitions
Package Managerのバージョンpinning Package Manager Version Pinning
単一のドル記号を有効な識別子として許可する Allow Single Dollar Sign as a Valid Identifier
条件付き適合 Conditional conformances
関連型を制約するwhere句を許可する Permit where clauses to constrain associated types
Swiftバージョンによるavailability Availability by Swift version
OptionalがAnyに変換されるときに警告し、OptionalをそのペイロードまたはNSNullとしてブリッジする
Warn when Optional converts to Any, and bridge Optional As Its Payload Or NSNull
数値型をNSNumberに、Cocoa構造体をNSValueにブリッジする
Bridge Numeric Types to NSNumber and Cocoa Structs to NSValue
UnsafeRawBufferPointer UnsafeRawBufferPointer
レガシーなプロトコル設計へのロックインを避ける Avoiding Lock-In to Legacy Protocol Designs
値のメモリレイアウト Memory layout of values
Swiftバージョンによってパッケージを区別するためのPackage Managerサポート Package Manager Support for Differentiating Packages by Swift version
String上のUTF8関連プロパティ2つを改名する Rename two UTF8-related properties on String
flatten()をjoined()に改名する
Rename flatten() to joined()
Sequenceの終端操作名を合理化する Rationalizing Sequence end-operation names
AnyHashableを標準ライブラリに追加する
Add AnyHashable to the standard library
String.initのCharacterおよびUnicodeScalar繰り返し形式を置き換える
Replace repeating Character and UnicodeScalar forms of String.init
Package Managerのテスト命名規約 Package Manager Test Naming Conventions
失敗可能なUnicodeScalarイニシャライザを失敗可能に変更する Change failable UnicodeScalar initializers to failable
stdlibのPointerとBufferルーチンを整理する Cleaning up stdlib Pointer and Buffer Routines
メタタイプを再構成し、T.selfとMirrorを再活用する
Refactor Metatypes, repurpose T.self and Mirror
NonObjectiveCBaseとisUniquelyReferencedを削除する
Remove NonObjectiveCBase and isUniquelyReferenced
Int.init(ObjectIdentifier)とUInt.init(ObjectIdentifier)はbitPattern:ラベルを持つべきである
Int.init(ObjectIdentifier) and UInt.init(ObjectIdentifier) should have a bitPattern: label
演算子引数でオプショナルへの型強制を禁止する Disallow coercion to optionals in operator arguments
subscript宣言にコロンを使う Use colons for subscript declarations
Optional比較演算子を削除する
Remove Optional Comparison Operators
partitionメソッドのシグネチャを改訂する
Revise partition Method Signature
エクステンションからアクセス修飾子を削除する Remove access modifiers from extensions
クロージャパラメータ名とラベル Closure Parameter Names and Labels
publicアクセスとpublic override可能性を区別できるようにする Allow distinguishing between public access and public overridability
Objective-CのidをSwiftのAny型としてimportする
Import Objective-C id as Swift Any type
リテラル構文プロトコルを改名する Rename Literal Syntax Protocols
Bufferの”Value”名を”Header”名に更新する Updating Buffer “Value” Names to “Header” Names
FloatingPointに整数丸め関数を追加する Add integral rounding functions to FloatingPoint
改善されたNSErrorブリッジ Improved NSError Bridging
関数引数ラベルが型システムで持つ意味を削除する Remove type system significance of function argument labels
単一タプル関数型と複数引数関数型を区別する Distinguish between single-tuple and multiple-argument function types
Booleanプロトコルを削除する
Remove the Boolean protocol
関連型推論を削除する Remove associated type inference
UnsafeRawPointer API UnsafeRawPointer API
OSXプラットフォーム構成テストの別名としてmacOSを追加する
Add a macOS Alias for the OSX Platform Configuration Test
For-InループからWhere句を削除する Removing Where Clauses from For-In Loops
プロトコル指向の整数型 Protocol-oriented integers
エスケープしないクロージャをデフォルトにする Make non-escaping closures the default
@noreturn属性を削除し、空のNever型を導入する
Remove @noreturn attribute and introduce an empty Never type
sizeofと関連関数を統一されたMemoryLayout構造体へ再構成する
Reconfiguring sizeof and related functions into a unified MemoryLayout struct
Dictionaryにsequenceベースのイニシャライザとmergeメソッドを追加する Add sequence-based initializers and merge methods to Dictionary
条件句の再構成 Restructuring Condition Clauses
より一貫したキーワードの大文字小文字のため、didSetとwillSetを小文字化する
Lowercase didSet and willSet for more consistent keyword casing
「否定」属性の命名を正規化する Normalizing naming for “negative” attributes
dynamicTypeをプロパティから演算子に変換する
Converting dynamicType from a property to an operator
protocol<P1,P2>構文をP1 & P2構文に置き換える
Replace protocol<P1,P2> syntax with P1 & P2 syntax
sequence(first:next:)とsequence(state:next:)をstdlibに追加する
Add sequence(first:next:) and sequence(state:next:) to the stdlib
sliceに公開baseプロパティを追加する
Adding a public base property to slices
プロトコルおよびプロトコルエクステンション内のtypealias Typealiases in protocols and protocol extensions
プロトコルにおける演算子要件を改善する Improving operator requirements in protocols
.selfを削除し、式内で型参照を自由に許可する
Remove .self and freely allow type references in expressions
String.init<T>(_: T)の改名
Renaming String.init<T>(_: T)
Swift 3の命名規約に合わせてlibdispatchをモダナイズする Modernize libdispatch for Swift 3 naming conventions
lazyを@lazyに改名する
Rename lazy to @lazy
Swift FoundationでNSプレフィックスを廃止する Drop NS Prefix in Swift Foundation
Package Managerのコマンド名 Package Manager Command Names
パラメータリストとタプルで末尾カンマを許可する Allow trailing commas in parameter lists and tuples
動的キャストからブリッジ変換の振る舞いを削除する Remove bridging conversion behavior from dynamic casts
Package Managerの編集可能パッケージ Package Manager Editable Packages
where句を宣言の末尾に移す
Move where clause to end of declaration
失敗可能な数値変換イニシャライザ Failable Numeric Conversion Initializers
オプショナル束縛を使ってweakなselfをstrong参照に昇格できるようにする
Allow using optional binding to upgrade self from a weak to strong reference
C++のstd::rotate()に相当するrotateアルゴリズムを実装する Implement a rotate algorithm, equivalent to std::rotate() in C++
改善された演算子宣言 Improved operator declarations
非破壊コピー用UnsafeMutablePointerメソッドに、UnsafePointerソースを取るoverrideを追加する Add overrides taking an UnsafePointer source to non-destructive copying methods on UnsafeMutablePointer
ビルド構成のimportテストを追加する Adding a Build Configuration Import Test
二分探索関数の実装 Implementation of Binary Search functions
クロージャがちょうど1回実行されることを示す Marking closures as executing exactly once
Swiftから暗黙的なブリッジ変換を完全に排除する Fully eliminate implicit bridging conversions from Swift
ほとんどのキーワードをメンバー参照で許可する Allow (most) keywords in member references
Optional RequirementsをObjective-C専用にする Make Optional Requirements Objective-C-only
ミュータビリティとFoundation値型 Mutability and Foundation Value Types
SwiftのSelfをクラスメンバーと値型へ拡張する
Expanding Swift Self to class members and value types
強化された浮動小数点プロトコル Enhanced Floating Point Protocols
関数型の引数構文を標準化し、括弧を必須にする Standardize function type argument syntax to require parentheses
CollectionとIndexの新しいモデル A New Model for Collections and Indices
プロパティのgetterとsetterのObjective-Cセレクタを参照する Referencing the Objective-C selector of property getters and setters
SwiftPMのシステムモジュール検索パス SwiftPM System Module Search Paths
Objective-Cのkey-pathを参照する Referencing Objective-C key-paths
autoreleasepool()に汎用的なResultとエラーハンドリングを追加する Add Generic Result and Error Handling to autoreleasepool()
デフォルト値付きパラメータの順序を強制する Enforcing order of defaulted parameters
API命名ガイドラインを更新し、それに合わせてSet APIを書き直す Update API Naming Guidelines and Rewrite Set APIs Accordingly
Swiftの型が独自のObjective-C表現を提供できるようにする Allow Swift types to provide custom Objective-C representations
Objective-C Lightweight Genericsをimportする Importing Objective-C Lightweight Generics
guard条件で末尾クロージャを許可する
Allow trailing closures in guard conditions
unsafe pointerのnull許容性をOptionalで明示する Make unsafe pointer nullability explicit using Optional
ImplicitlyUnwrappedOptional型を廃止する
Abolish ImplicitlyUnwrappedOptional type
関数パラメータからletの明示的な使用を削除する
Remove explicit use of let from Function Parameters
IteratorTypeのnil後保証を変更する Change IteratorType post-nil guarantee
strideのセマンティクスを標準化する
Conventionalizing stride semantics
浮動小数点のstrideをジェネリック実装から切り離す Decoupling Floating Point Strides from Generic Implementations
@noescapeと@autoclosureを型属性に移す
Move @noescape and @autoclosure to be type attributes
ジェネリック型エイリアス Generic Type Aliases
non-Void関数の未使用結果に警告が出るようデフォルト化する Defaulting non-Void functions so they warn on unused results
先頭ラベルを含むすべてのパラメータで一貫したラベル挙動を確立する Establish consistent label behavior across all parameters including first labels
stdlibにprefix(while:)とdrop(while:)を追加する
Add prefix(while:) and drop(while:) to the stdlib
メンバーとしてimportする Import as member
複数パターンを持つcaseラベルで変数を宣言する
Declare variables in ‘case’ labels with multiple patterns
未適用メソッド参照の関数型を平坦化する Flattening the function type of unapplied method references
変換用プロトコルの命名規約を更新する Updating Protocol Naming Conventions for Conversions
属性引数の等号をコロンに置き換える Replacing Equal Signs with Colons For Attribute Arguments
Playground Literalをモダナイズする Modernizing Playground Literals
Package ManagerのC言語ターゲットサポート Package Manager C Language Target Support
コメントと演算子の相互作用を明確化する Clarify interaction between comments & operators
enumインスタンスメンバー実装で先頭ドット接頭辞を必須にする Requiring Leading Dot Prefixes for Enum Instance Member Implementations
inoutのキャプチャを@noescapeコンテキストに限定する
Limiting inout capture to @noescape contexts
行制御文をデバッグ識別子と区別できるようにする Disambiguating Line Control Statements from Debugging Identifiers
Objective-C定数をSwiftの型としてimportする Import Objective-C Constants as Swift Types
Sequenceにfirst(where:)メソッドを追加する
Add first(where:) method to Sequence
型修飾のためのinout宣言を調整する
Adjusting inout Declarations for Type Decoration
プロパティビヘイビア Property Behaviors
関数適用から暗黙的なタプルsplatの振る舞いを削除する Remove implicit tuple splat behavior from function applications
Swiftのデバッグ識別子をモダナイズする Modernizing Swift’s Debugging Identifiers
Stringでコードユニットのイニシャライザを公開する Expose code unit initializers on String
抽象クラスと抽象メソッド Abstract classes and methods
スコープ付きアクセスレベル Scoped Access Level
オプショナル値セッター??=
Optional Value Setter ??=
API設計ガイドライン API Design Guidelines
メソッドのObjective-Cセレクタを参照する Referencing the Objective-C selector of a method
引数ラベル付きの関数名 Naming Functions with Argument Labels
Swift言語バージョンのビルド構成 Swift Language Version Build Configuration
Swift Testing Swift Testing
柔軟なメンバーワイズ初期化 Flexible Memberwise Initialization
UnmanagedがUnsafePointerを使うように変更する
Change Unmanaged to use UnsafePointer
UnsafePointerおよびUnsafeMutablePointerから変換するためのInt/UIntイニシャライザを追加する Add initializers to Int and UInt to convert from UnsafePointer and UnsafeMutablePointer
タプル比較演算子 Tuple comparison operators
AnySequence.initに制約を追加する
Constraining AnySequence.init
non-finalなsuperメソッドの部分適用を削除する(Swift 2.2) Remove Partial Application of Non-Final Super Methods (Swift 2.2)
公開ライブラリAPIに@noescapeを追加する
Add @noescape to public library API
関連型宣言に使うtypealiasキーワードをassociatedtypeに置き換える
Replace typealias keyword with associatedtype for associated type declarations
StaticString.UnicodeScalarViewを追加する Add StaticString.UnicodeScalarView
インスタンスメンバーへのアクセスでselfを必須にする Require self for accessing instance members
OptionalのSequence向けに遅延評価版flatMapを追加する Add a Lazy flatMap for Sequences of Optionals
条件式と増分式を持つCスタイルforループを削除する Remove C-style for-loops with conditions and incrementers
標準ライブラリにAPIガイドラインを適用する Apply API Guidelines to the Standard Library
Objective-C APIのSwiftへの変換を改善する Better Translation of Objective-C APIs Into Swift
++演算子と--演算子を削除する
Remove the ++ and -- operators
関数パラメータからvarを削除する
Removing var from Function Parameters
カリー化されたfunc宣言構文を削除する
Removing currying func declaration syntax
ほとんどのキーワードを引数ラベルとして許可する Allow (most) keywords as argument labels
タグによるテスト実行のフィルタリング Tag-based Test Execution Filtering
テストケースの反復 Test case repetition
Transferable な添付物
Transferable Attachments
テスト時のカスタム reflection Custom reflection during testing
Swift Testing と XCTest の間での的を絞った相互運用 Targeted Interoperability between Swift Testing and XCTest
SourceLocation に filePath プロパティを追加する
Add a filePath property to SourceLocation
タグ・バグ・時間制限の trait のメタデータを event stream に含める Include metadata for tags, bugs, and time limit traits in event stream
条件付きで添付物を保存する Conditionally saving attachments
Swift Testing の画像添付 API をプラットフォーム間で統合する Consolidate Swift Testing’s image attachments API across platforms
テストのキャンセル Test cancellation
Swift Testing での画像添付(Windows) Image attachments in Swift Testing (Windows)
Swift Testing での画像添付(Apple プラットフォーム) Image attachments in Swift Testing (Apple platforms)
test issue の severity Test Issue Severity
exit test での値のキャプチャ Capturing values in exit tests
issue を処理する trait Issue Handling Traits
ConditionTrait を評価するためのパブリック API Public API to evaluate ConditionTrait
テストへの添付(attachments) Attachments
exit test Exit tests
テストにスコープを与える trait Test Scoping Traits
#expect(throws:)からthrowされたエラーを返す
Return errors from #expect(throws:)
範囲ベースのconfirmation Range-based confirmations
テストのタイムアウト時間の粒度を制限する Constrain the granularity of test time limit durations
.serializedトレイトをAPIとして公開する
Make .serialized trait API
ツール連携のための安定したJSONベースのABI A stable JSON-based ABI for tools integration
URLと識別子に対応する専用の.bug()関数
Dedicated .bug() functions for URLs and IDs
UUID の version 対応とその他の機能拡張
UUID Version Support and Other Enhancements
timeZone / locale / firstWeekday / minimumDaysInFirstWeek を受け取る Calendar のイニシャライザ
Calendar initializer with time zone, locale, first weekday, and minimum days in first week
Data のクロージャベース関数の一般化
Generalize closure-based functions of Data
Subprocess 1.0 アップデート Subprocess 1.0 Update
述語列を連結するためのイニシャライザ Initializers for joining a sequence of predicates
Equatable 適合なしでの nil 比較サポート
Support for nil comparisons without Equatable conformance
ContiguousBytes での Span 採用
Adopting Span in ContiguousBytes
String.Encoding の名前変換
String Encoding Names
partial range で recurrence を検索する Search for recurrence in partial ranges
RandomNumberGenerator を使って UUID を生成する
Generating UUIDs using RandomNumberGenerators
base64 のエンコード/デコードに base64url とパディング省略のオプションを追加 Adding base64 urlencoding and omitting padding option to base64 encoding and decoding
AttributedString と SendableMetatype
AttributedString & SendableMetatype
Locale.Region.Category
Locale.Region.Category
UTCClock とエポック
UTCClock and Epochs
Locale.preferredLocales
Locale.preferredLocales
markdown のリストアイテムデリミタ Markdown List Item Delimiters
#bundle の導入
Introduce #bundle
ProgressManager: Swift Concurrency における進捗報告
ProgressManager: Progress Reporting in Swift Concurrency
writing direction 属性 Writing Direction Attribute
ISO 8601 構成要素のフォーマットと解析 ISO8601 Components Formatting and Parsing
URI テンプレート URI Templating
AttributeContainer のフィルタリング
AttributeContainer Filtering
URLSession の新しい HTTP ローダ New HTTP loader for URLSession
カレンダーサポートの拡充 Expanded calendar support
HTTP date format HTTP Date Format
AttributedString のインデックス追跡
AttributedString Tracking Indices
AttributedString の不連続な範囲に対する操作
AttributedString Discontiguous Operations
AttributedString のスコープに含まれる属性キーを列挙する
AttributedString Scope Enumeration
AttributedString に UTF-8 / UTF-16 ビューを追加する
AttributedString UTF-8 and UTF-16 Views
NotificationCenter の通知をデータ競合安全にする
Concurrency-Safe Notifications
Calendar.RecurrenceRule.End を拡張する
Extending Calendar.RecurrenceRule.End
Calendar に recurrence rule を導入する
Recurrence rules in Calendar
通貨フォーマットで notation を扱えるようにする Support notation when formatting currencies
Swift Subprocess の導入 Introducing Swift Subprocess
#Expression マクロと Expression 型
#Expression Macro and Type
RangeSet と IndexSet の相互変換
RangeSet/IndexSet Conversion
Predicate の Regex サポート
Predicate Regex Support
DiscreteFormatStyle プロトコル
The DiscreteFormatStyle Protocol
Foundation の FormatStyle 実装に対する追加の設定プロパティ
Additional Configuration Properties for Foundation’s FormatStyle Implementations
Calendar の日付列挙を Sequence 化する
Calendar Sequence Enumeration
選択した条件に一致するProposalはありません。