Working correctly with actor annotated class

Thanks for you great response Gero!

Concurrency is very hard to understand, and your explanation make me realise that there is a difference between the boundaries... I thought it was just a queue problem but it is not

BTW after I've wrote the post, I found this other topic Use a `Protocol` of @MainActor instead of concrete @MainActor class produces an error - #3 by MasterWatcher

And in this topic the users make your same discovery, that setting :Sendable on the protocol will resolve issues, and indeed it does, as you have found out!

Still we cannot understand if it is a diagnostic problem or a true resolution

because it should not be correct, but by spelunking on the Apple docs I've read that annotating a class with "@MainActor" will make the class implicitably sendable

So maybe this :Sendable on a protocol will just enforce this implicit behaviour? I don't know