What does cargo do?
Read and write access to repositories, run tests, dependency management (download, update, and managing the dependency tree), executing the build process, and providing a central interface for additional tooling.
Does cargo provide linting support?
cargo itself doesn't, but there are additional tools, such as clippy (https://github.com/rust-lang/rust-clippy), that work seamlessly with cargo.
In which cases is the Cargo.lock file important to publish?
For libraries. The file is used by cargo to determine the exact versions of the dependency tree. As a consequence, there should not be any version issues caused by unintentionally updated dependencies.
What are the requirements to publish to crates.io?
Passing tests, no uncommitted files in the repository, a valid account, and an available spot on crates.io.
What is Wasm and why should you care?
...