For Rust, you can use either rustc or cargo to check for errors. rustc seems to be a less desirable linter, given recent comments. I wish to consider the idea of enabling only cargo for Rust by default, making rustc a linter you would opt-in to.
Please let me know your thoughts about this.
See the previous discussion in #256.
It's true that cargo is probably what the user wants, so making it the default setting is reasonable. I made rustc the default because it's technically possible to code in Rust without using cargo, but OTOH it's unlikely enough, so I'm fine with changing it.
I am a rust newbie, but I would suggest making cargo the default. Using cargo is strongly encouraged by the community and within docs, and is distributed by default along with rustc as the main build tool and package manager.
If you are doing a cargo project, which you almost certainly are if you are writing in rust, then rustc will give false warnings such as about unresolved packages (cargo "crates"). If you are going to use rustc directly then you are both in the minority and are probably willing to add an extra line to your .vimrc to use rustc instead of cargo.
Again, I am a newbie when it comes to rust so don't take my word as gospel!
Besides changing the default to just cargo I'd add a bit of information regarding how to set the linter to rustc inside ale-integration-rust (for me it was not clear at first how to set it to cargo) in case a user needed that change.
Thank you all for the feedback! I have configured ALE so only Cargo will be used for Rust by default, and I have updated the documentation to mention how to change this in the integration notes.
@w0rp According to the help document, I installed rust.vim and set
let g:ale_lint_on_save = 1
let g:ale_lint_on_text_changed = 0
However, there is nothing to change when I finish editing a rust file and save. Ale seems to work because the CPU utilization soar when I save file.
Most helpful comment
Thank you all for the feedback! I have configured ALE so only Cargo will be used for Rust by default, and I have updated the documentation to mention how to change this in the integration notes.