I don't get why people want the AI right in their editor. In another windows inside the editor, fine, but not inline with code I'm writing. It's super distracting to have AI auto complete pop up at random all the time. As always, typing speed, or speed at generating raw code, is not the bottleneck in programming. The crux remains design, in which case having the LLM on the side is just fine (if you use it for that).
There are some niceties about inline completion (like spelling out a log message that's obvious from the surrounding code) but I don't get the hype much beyond that.
> I wish there was some magical way that the error type could be inferred to be a union of all of the errors that can be returned.
You could use `Result<(), Box<dyn std::error::Error>` to use dynamic dispatch at runtime and allow the function to return any type that implements `std::error::Error`.
Otherwise people often use the anyhow[1] or the thiserror[2] crate to easily work with errors. They allow concise error propagation and quickly creating custom error types.
There are some niceties about inline completion (like spelling out a log message that's obvious from the surrounding code) but I don't get the hype much beyond that.
Maybe I'm missing some feature though ...