Swift concurrency nOOb question: if you're using Approachable Concurrency and you get warnings about using Sendable structs in non-main-actor contexts, is the recommended workaround to mark them as nonisolated?

Also, it seems odd to me that marking a struct as Sendable doesn't already exempt it from default MainActor isolation. Is there a good reason why you'd want to limit Sendable types to MainActor?

@nicklockwood Some people are saying to switch off the default MainActor isolation. @mattiem I think has some thoughts on this.

@matadan @mattiem doing that does indeed silence the warnings.

I don't want to swim against the tide though - do we anticipate that default MainActor isolation will become the default at some point?

When I first heard about approachable concurrency, default MainActor seemed like the headline feature, but having now tried it in practice it doesn't seem very "approachable" at all.

@nicklockwood @mattiem Xcode is setting it as default but I think it is one of those things you will remember to uncheck each time. Can never be certain whether the next Xcode release will flip it back anyway.
@matadan @mattiem I think when I started this (new) project it wasn't enabled, but perhaps it was remembering my preference from a previous occasion?
@nicklockwood @mattiem I definitely have to remember to check this setting when I make a new project using Xcode 26.2.

@matadan @nicklockwood it’s enabled for new projects in 26. The plan is mode forever.

It’s very hard to use. There are a surprising number of unique and challenging problems it can present. It also exposes a large number of compiler quirks, but I expect the team will try to address those for June.

@mattiem @matadan @nicklockwood I think it’s actually enabled for any new _targets_, even in existing projects. Which makes it even worse.
@calicoding @matadan @nicklockwood yes, I think this is the case, but only app targets specifically, I'm pretty sure
@mattiem @matadan @nicklockwood I think I’ve seen it enabled for framework targets, not just app targets. At least for Approachable Concurrency