-
Notifications
You must be signed in to change notification settings - Fork 10.4k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
[SR-1952] Implement SE-0103: Make non-escaping closures the default #44561
Comments
withoutActuallyEscaping() needs to be re-throwing. |
Comment by Trent Nadeau (JIRA) I updated the proposal to add |
Comment by Trent Nadeau (JIRA) PR to add parsing for the new |
tanadeau (JIRA User) Trent, are you planning on completing this in time for the Swift 3 source-breaking deadline? Otherwise, I can take over from here. |
Comment by Trent Nadeau (JIRA) Given my work schedule right now, I doubt I'm going to get it done before the Swift 3 deadline at the end of the month. |
tanadeau (JIRA User) Do you have any un-merged code? |
Comment by Trent Nadeau (JIRA) Nothing significant. I was starting to work on importing decls with |
Comment by Trent Nadeau (JIRA) If there's anything I can help with, let me know. |
Comment by Trent Nadeau (JIRA) @milseman I haven't seen any commits or PRs related to this. Can this still be implemented by the Swift 3 cutoff? |
Yes, and I have an implementation (needs polish and tests). It should be part of Swift 3. |
Opened PR: #3853 I might be doing more test fixes on it. |
`withoutActuallyEscaping` is an additive construct, so I'll spin off a separate JIRA task to track that. |
Additional Detail from JIRA
md5: 1cc9c8e0e14e6e4c7c3f195393b327f5
relates to:
Issue Description:
SE-0103 was accepted, now we need an implementation. It would make sense to stage this in in the following steps:
Introduce the new @escaping attribute.
Introduce a new compiler warning that triggers on parameters that are not marked @NoEscape, which fixits to introducing the @escaping attribute.
Update other swift.org projects to use @escaping where necessary.
Switch the default, and start warning about @NoEscape with a fixit to remove it.
Upgrade the warning about @NoEscape to be an error with a fixit to remove it.
The text was updated successfully, but these errors were encountered: