読者です 読者をやめる 読者になる 読者になる

Adding a Build Configuration Import Test

原文 swift-evolution/0075-import-test.md at 9cf2685293108ea3efcbebb7ee6a8618b83d4a90 · apple/swift-evolution · GitHub

ビルド構成内容をテストに追加する

特定のビルド構成をテストにインポートする機能はすでにあります。ビルド環境で使えるモジュールが代わり、環境によって使うモジュールをテストで切り替えたことをわかりやすくしたいという提案のようです。ただ、最終的には全てのプラットフォームでlibcモジュールで統一された名前に移行したいようはあります。

Objective-Cで言うところのマクロのようなものが使えるようです。 os(), arch(), swift()等が使える模様

#if canImport(UIKit)
   // UIKit-based code
   #elseif canImport(Cocoa)
   // OSX code
   #elseif
   // Workaround/text, whatever
#endif

Expanding Swift Self to class members and value types

原文 swift-evolution/0068-universal-self.md at 9cf2685293108ea3efcbebb7ee6a8618b83d4a90 · apple/swift-evolution · GitHub

Self のクラスメソッドと値型の拡張

Self はself の動的型です。self.dynamicType と Selfをとして扱えるようにする提案。サブクラスでクラスメソッドをオーバーライドしていた場合、クラス名ではなくself.dynamicTypeを指定しなければいけなかったですが、Selfと書けるようになります。

0042-flatten-method-types

proposal

原文 swift-evolution/0042-flatten-method-types.md at 9cf2685293108ea3efcbebb7ee6a8618b83d4a90 · apple/swift-evolution · GitHub

未適用のメソッド参照の関数の型の平滑化

今までは型からメソットを取り出すことができ(Self) -> (Args...) -> Ret としてカリー関数として扱われていた。提案では、(Self, Args...) -> Ret に変えるというもの。 Swiftでは、カリー化されている関数は少ないのでできるだけ無くそうという動きがあるようだ。 mutatingのメソッドに関して問題が発生するが、その解決方法がどうなっているかはわからなかった。

現在 Acceptedになっている提案一覧

swift-evolution/0042-flatten-method-types.md at 9cf2685293108ea3efcbebb7ee6a8618b83d4a90 · apple/swift-evolution · GitHub

swift-evolution/0068-universal-self.md at 9cf2685293108ea3efcbebb7ee6a8618b83d4a90 · apple/swift-evolution · GitHub

swift-evolution/0075-import-test.md at 9cf2685293108ea3efcbebb7ee6a8618b83d4a90 · apple/swift-evolution · GitHub

swift-evolution/0104-improved-integers.md at 957ab545e05adb94507792e7871b38e34b56a0a5 · apple/swift-evolution · GitHub

swift-evolution/0142-associated-types-constraints.md at e14a99ffce9685a0dfe6e397916033ec3be4f6c6 · apple/swift-evolution · GitHub

swift-evolution/0143-conditional-conformances.md at d33c129f0920af0404f42219db56981411b20e76 · apple/swift-evolution · GitHub

swift-evolution/0146-package-manager-product-definitions.md at 81c6cae56474fe34253baccc496f5f2d6456c7ce · apple/swift-evolution · GitHub

swift-evolution/0147-move-unsafe-initialize-from.md at 05759c6d3188961c65432229b052229095bb49a4 · apple/swift-evolution · GitHub

swift-evolution/0148-generic-subscripts.md at 56e1c8ed24289f2e78efcb992cd48a6bbb77b2c2 · apple/swift-evolution · GitHub

swift-evolutionの1/30の更新

swift4の範囲外なのでcloseになったもの

Deriving collections of enum cases #114

enumの全要素を取り出す

Tail Call Optimization attribute and modifier #103

末尾最適化

Proposal: Factory Initializers #247

Proposal: Add last(where:) and lastIndex(where:) Methods to Collections #329

Proposal: more lenient subscript methods over Collections #328

範囲外の要素を指定したときに、エラー人ならないようにする書き方ができるようにするもの

Multi-line string literal proposals. #322

Throwing Properties and Subscripts proposal #218

Create 0052-enforcing_calling_super.md #211

Mixins #192

#warning #353