Max “Goldstein” Siling
Max “Goldstein” Siling
I feel like `async Read` is the confusing part. `Fn` is already a deeply magical trait, having a magic translation to another magical trait is not that weird. `Read`, on...
It is not obvious that having `trait async Read` is desirable. There’re multiple possible ways to implement `AsyncRead`, and having one “blessed” by the standard library like that would make...
> What the RFC is saying is that we aim for K Trait to be a bog-standard syntax that you are used to seeing on various traits, not some piece...
> Bear in mind that all of this is going beyond what's specified in the RFC, which specifically avoids saying what `async` means when applied to any trait beyond `Fn`...
Would be nice to also have this for `Box` and `Box`.
You’d also need to remove scoped threads: ```rust fn main() { let mut x = 0; std::thread::scope(|s| { _ = s.spawn(|| { x += 1; panic!(); x -= 1; }).join();...
I think with the just-allow-let approach (or, to a lesser degree, `#[allow(forget_drop)]` approach) it’s much less obvious which usage disables `Drop`. These usages might be expected to disable `Drop`, but...
That’s fair, and that’s why I said that `forget_drop` suffers from this problem to a lesser degree. Maybe we could even additionally lint against `allow(forget_drop)`, since it is a footgun....
> could this be packaged as a language server to work alongside rust analyzer I’m planning on trying to implement a Neovim plugin, and this is one of the options...
It's just not implemented, see https://github.com/zed-industries/zed/issues/7450