# Module cargo::core::resolver::context

source ·

## Re-exports

- `pub use super::encode::Metadata;`
- `pub use super::encode::EncodableDependency;`
- `pub use super::encode::EncodablePackageId;`
- `pub use super::encode::EncodableResolve;`
- `pub use super::resolve::Resolve;`

## Structs

- Context
- PublicDependency

## Enums

- SemverCompatibility
  A type that represents when cargo treats two Versions as compatible. Versions `a` and `b` are compatible if their left-most nonzero digit is the same.

## Type Definitions

- Activations
- ActivationsKey
  Find the activated version of a crate based on the name, source, and semver compatibility. By storing this in a hash map we ensure that there is only one semver compatible version of each crate. This all so stores the `ContextAge`.
- ContextAge
  When backtracking it can be useful to know how far back to go. The `ContextAge` of a `Context` is a monotonically increasing counter of the number of decisions made to get to this state. Several structures store the `ContextAge` when it was added, to be used in `find_candidate` for backtracking.