cargo version 1.77 onwards added support for cargo:: to communicate with
cargo and deprecated the old cargo: syntax.
Signed-off-by: innocentzero <isfarulhaque@proton.me>
- Refactor the confusing/bodgy consts backend macro to use a single
`BackendInfo` struct
- Combine `supports_as_dependency()` and the `switches_dependency` into a single `Option` type as that is a better representation as it is an optional backend feature.
- Add more types like `Packages`, `Sections` for uniformity.
- Added a crate-private prelude and switches all imports to use a
prelude glob import (excluding functions because it's nice to only be
importing types)
- Refactored Backend section name in logging by implementing Display for
`AnyBackend` that just prints the `section`