• If someone has a reference into some data that is currently being shared to another thread via structured concurrency, they won’t be able to mutate it during the structured concurrency.

    This is what I’m saying: that sounds eerily similar to shared-xor-mutable :P

    It seems like one plan would be to:

    1. Define closure types that have/don’t have mut effects inside them
    2. Define structured concurrency to always take closures that don’t have mut effects inside them
    3. Define mutexes which can apply closures with mut effects without also being a mut effect externally.

    is that about right?


    score 1 · canonical