`cargo add` takes `package.rust-version` into account when no version-req is specified


Problem

When running cargo add foo, we create a version-req out of the latest version in the index. If this has a higher rust-version, then that can break for people.

Proposed Solution

Constrain the candidate versions in the index by their rust-version being lesser or equal to the current crate's rust-version.

The main question is what to do when there are no matches due to rust-version.

  • Add anyways
  • Error with newest version's rust-version

Notes

No response