Skip to content

Latest commit

 

History

History
52 lines (37 loc) · 1.94 KB

0000-template.md

File metadata and controls

52 lines (37 loc) · 1.94 KB

Feature name

Introduction

A short description of what the feature is. Try to keep it to a single-paragraph "elevator pitch" so the reader understands what problem this proposal is addressing.

Swift-evolution thread: link to the discussion thread for that proposal

Motivation

Describe the problems that this proposal seeks to address. If the problem is that some common pattern is currently hard to express, show how one can currently get a similar effect and describe its drawbacks. If it's completely new functionality that cannot be emulated, motivate why this new functionality would help Swift developers create better Swift code.

Proposed solution

Describe your solution to the problem. Provide examples and describe how they work. Show how your solution is better than current workarounds: is it cleaner, safer, or more efficient?

Detailed design

Describe the design of the solution in detail. If it involves new syntax in the language, show the additions and changes to the Swift grammar. If it's a new API, show the full API and its documentation comments detailing what it does. The detail in this section should be sufficient for someone who is not one of the authors to be able to reasonably implement the feature.

Impact on existing code

Describe the impact that this change will have on existing code. Will some Swift applications stop compiling due to this change? Will applications still compile but produce different behavior than they used to? Is it possible to migrate existing Swift code to use a new feature or API automatically?

Alternatives considered

Describe alternative approaches to addressing the same problem, and why you chose this approach instead.