# Sendable and @Sendable closures explained with code examples

DevFeed: [Sendable and @Sendable closures explained with code examples](<https://devfeed.tech/articles/sendable-and-sendable-closures-explained-with-code-examples-11487.md>)

Original publisher: [Read original article](<https://www.avanderlee.com/swift/sendable-protocol-closures/>)

Author: Antoine van der Lee

Published: 2026-08-09T11:53:15Z

Content type: article

Language: en

Sources: [SwiftLee](<https://devfeed.tech/sources/swiftlee.md>)

Topics: [Swift](<https://devfeed.tech/topics/swift.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [Concurrent Programming](<https://devfeed.tech/topics/concurrent-programming.md>), [Code](<https://devfeed.tech/topics/code.md>), [async/await](<https://devfeed.tech/topics/async-await.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [concurrency](<https://devfeed.tech/tags/concurrency.md>), [examples](<https://devfeed.tech/tags/examples.md>), [swift](<https://devfeed.tech/tags/swift.md>)

## AI overview

This article explains Swift's Sendable protocol and the @Sendable closure attribute. It describes how the compiler checks whether values can safely cross concurrency domains such as actors, tasks, and threads, including examples involving value types, classes, generics, and enums with associated values.

## Source excerpt

Sendable is a protocol in Swift that indicates a type is safe to share across concurrency domains like actors, tasks, and threads. When a type conforms to Sendable, the compiler verifies at compile time that passing it around can't introduce data races. Together with the @Sendable attribute for closures, it's one of the core building ... -> The post Sendable and @Sendable closures explained with code examples appeared first on SwiftLee.