New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in 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: