<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Sendable on Abhishek Shukla</title><link>https://abhishekshukla.dev/tags/sendable/</link><description>Recent content in Sendable on Abhishek Shukla</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Mon, 29 Jun 2026 10:00:00 +0530</lastBuildDate><atom:link href="https://abhishekshukla.dev/tags/sendable/index.xml" rel="self" type="application/rss+xml"/><item><title>Understanding Sendable in Swift: Mastering Concurrency Safety</title><link>https://abhishekshukla.dev/blog/sendable-explained/</link><pubDate>Mon, 29 Jun 2026 10:00:00 +0530</pubDate><guid>https://abhishekshukla.dev/blog/sendable-explained/</guid><description>&lt;p&gt;With the introduction of Structured Concurrency and Actors, Apple fundamentally changed how we write asynchronous Swift code. However, simply using &lt;code&gt;async/await&lt;/code&gt; or &lt;code&gt;Task&lt;/code&gt; does not automatically make your code safe from data races.&lt;/p&gt;
&lt;p&gt;To achieve true thread safety—and to compile under Swift 6&amp;rsquo;s Strict Concurrency checks—you must understand &lt;strong&gt;concurrency domains&lt;/strong&gt; and the &lt;strong&gt;&lt;code&gt;Sendable&lt;/code&gt;&lt;/strong&gt; protocol.&lt;/p&gt;
&lt;p&gt;In this post, we will explore what &lt;code&gt;Sendable&lt;/code&gt; is, when and how to use it, and the dangerous anti-patterns you must avoid when trying to quiet the compiler.&lt;/p&gt;</description></item></channel></rss>