Skip to content
This repository was archived by the owner on Mar 26, 2023. It is now read-only.

Commit 5c90062

Browse files
BasThomasjessesquires
authored andcommitted
[64] SE-0162 under review (#207)
1 parent 162c43a commit 5c90062

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

_drafts/2017-04-06-issue-64.md

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,14 @@ Speaking of JP Simard, he released [SourceKitten 0.17.1](https://github.com/jpsi
4949
5050
### Proposals in review
5151

52+
[SE-0155](https://github.com/apple/swift-evolution/blob/master/proposals/0155-normalize-enum-case-representation.md): *Normalize Enum Case Representation* by Daniel Duan and Joe Groff is [under review](https://lists.swift.org/pipermail/swift-evolution-announce/2017-March/000336.html).
53+
54+
> In Swift 3, associated values of an enum case are represented by a tuple. This implementation causes inconsistencies in case declaration, construction and pattern matching in several places.
55+
>
56+
> Enums, therefore, can be made more "regular" when we replace tuple as the representation of associated case values. This proposal aims to define the effect of doing so on various parts of the language.
57+
>
58+
> Swift-evolution thread: [Normalize Enum Case Representation (rev. 2)](https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20170306/033626.html)
59+
5260
[SE-0161](https://github.com/apple/swift-evolution/blob/master/proposals/0161-key-paths.md): *Smart KeyPaths: Better Key-Value Coding for Swift* by David Smith, Michael LeHew, and Joe Groff is [under review](https://lists.swift.org/pipermail/swift-evolution-announce/2017-March/000334.html).
5361

5462
> We propose a family of concrete _Key Path_ types that represent uninvoked references to properties that can be composed to form paths through many values and directly get/set their underlying values.
@@ -67,13 +75,13 @@ Speaking of JP Simard, he released [SourceKitten 0.17.1](https://github.com/jpsi
6775
> **More Expressive KeyPaths**<br/>
6876
> We would also like to support being able to use _Key Paths_ to access into collections, which is not currently possible.
6977
70-
[SE-0155](https://github.com/apple/swift-evolution/blob/master/proposals/0155-normalize-enum-case-representation.md): *Normalize Enum Case Representation* by Daniel Duan and Joe Groff is [under review](https://lists.swift.org/pipermail/swift-evolution-announce/2017-March/000336.html).
78+
[SE-0162](https://github.com/apple/swift-evolution/blob/master/proposals/0162-package-manager-custom-target-layouts.md): *Package Manager Custom Target Layouts* by Ankit Aggarwal is [under review](https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20170403/034997.html).
7179

72-
> In Swift 3, associated values of an enum case are represented by a tuple. This implementation causes inconsistencies in case declaration, construction and pattern matching in several places.
80+
> This proposal enhances the `Package.swift` manifest APIs to support custom target layouts, and removes a convention which allowed omission of targets from the manifest.
7381
>
74-
> Enums, therefore, can be made more "regular" when we replace tuple as the representation of associated case values. This proposal aims to define the effect of doings so on various parts of the language.
82+
> The Package Manager uses a convention system to infer targets structure from disk layout. This works well for most packages, which can easily adopt the conventions, and frees users from needing to update their `Package.swift` file every time they add or remove sources. Adopting the conventions is more difficult for some packages, however – especially existing C libraries or large projects, which would be difficult to reorganize. We intend to give users a way to make such projects into packages without needing to conform to our conventions.
7583
>
76-
> Swift-evolution thread: [Normalize Enum Case Representation (rev. 2)](https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20170306/033626.html)
84+
> The current convention rules make it very convenient to add new targets and source files by inferring them automatically from disk, but they also can be confusing, overly-implicit, and difficult to debug; for example, if the user does not follow the conventions correctly which determine their targets, they may wind up with targets they don't expect, or not having targets they did expect, and either way their clients can't easily see which targets are available by looking at the `Package.swift` manifest. We want to retain convenience where it really matters, such as easy addition of new source files, but require explicit declarations where being explicit adds significant value. We also want to make sure that the implicit conventions we keep are straightforward and easy to remember.
7785
7886
### Mailing lists
7987

0 commit comments

Comments
 (0)