What is the value of company-begin-commands? It should include at least self-insert-command. Also, try changing company-idle-delay to a low value above zero.
The Rust setup I describe in my setting up Rust with Emacs guide comes with a repo that has a working auto completion config via company. When in doubt, compare with that.
When you use rust-analyzer via lsp-mode you can tell it to use clippy as the default linter via (setq lsp-rust-analyzer-cargo-watch-command "clippy") (normally it would use check).
The config presented in this guide uses it by default.