Your first 'warning box' brings another sharing model to mind -- 'return' sharing, where we somehow set up a task to send a value at the moment it dies, which makes it trivial to prove that the task itself doesn't own the value anymore.
As for the continued need for multiplexing, you seem to be right. The way I envision this is that we'd be creating significantly more threads (to distribute our tasks over) than there are cores, to allow blocking without dire consequences, but when doing something like writing a server for long polling clients, that's still nowhere near sufficient. Any solutions seem to either lead back to client code doing their own select calls, or introducing i/o wrappers. That's too bad. I'll think on it some more. _______________________________________________ Rust-dev mailing list [email protected] https://mail.mozilla.org/listinfo/rust-dev
