# SE-0316: Global Actors

**URL:** <https://forums.swift.org/t/se-0316-global-actors/48905>\
**Category:** Proposal Reviews\
**Created:** [May 25, 2021, 3:52pm UTC](https://forums.swift.org/t/se-0316-global-actors/48905 "2021-05-25T15:52:02Z")\
**Posts on this page:** 1\
**Showing post:** 30

<div class="post-metadata">

**Author:** ![beccadax](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/beccadax/32/34217_2.png) [@beccadax](https://forums.swift.org/u/beccadax)\
**Post date:** [June 4, 2021, 10:42pm UTC](https://forums.swift.org/t/se-0316-global-actors/48905/30 "2021-06-04T22:42:15Z")

</div>

Sorry to double-post, but two thoughts on this section:

> A closure can be explicitly specified to be isolated to a global actor by providing the attribute prior to the `in` in the closure specifier, e.g.,
> 
> ```swift
> callback = { @MainActor in
> print($0)
> }
> 
> callback = { @MainActor (i) in 
> print(i)
> }
> 
> ```

1. There's no formal grammar specification in the proposal, so it's not clear: if the closure has a capture list, does it come before or after the attribute? (I think I may have brought this up once on Twitter or something; it must have been lost in the shuffle.)

2. Can we extend this to other attributes that can be applied to closures, in addition to global actors? Result builders are the one that comes to mind immediately, but `@Sendable` and `@escaping` might also be useful in niche situations. (Maybe we should sever this from the global actors proposal, though.)

---

_[View the full topic](https://forums.swift.org/t/se-0316-global-actors/48905)._
