@@ -70,7 +70,9 @@ resolver.
70
70
[ dependency specification ] : specifying-dependencies.md
71
71
[ `cargo tree` ] : ../commands/cargo-tree.md
72
72
73
- ## SemVer compatibility
73
+ ## Constraints and Heuristics
74
+
75
+ ### SemVer compatibility
74
76
75
77
Cargo uses [ SemVer] for specifying version numbers. This establishes a common
76
78
convention for what is compatible between different versions of a package. See
@@ -151,7 +153,7 @@ the `0.4` release of the `log` package.
151
153
[ SemVer Compatibility ] : semver.md
152
154
[ Version-incompatibility hazards ] : #version-incompatibility-hazards
153
155
154
- ### Version-incompatibility hazards
156
+ #### Version-incompatibility hazards
155
157
156
158
When multiple versions of a crate appear in the resolve graph, this can cause
157
159
problems when types from those crates are exposed by the crates using them.
@@ -186,12 +188,6 @@ ecosystem if you publish a SemVer-incompatible version of a popular library.
186
188
[ semver trick ] : https://github.com/dtolnay/semver-trick
187
189
[ `downcast_ref` ] : ../../std/any/trait.Any.html#method.downcast_ref
188
190
189
- ## Other constraints
190
-
191
- Version requirements aren't the only constraint that the resolver considers
192
- when selecting and unifying dependencies. The following sections cover some of
193
- the other constraints that can affect resolution.
194
-
195
191
### Features
196
192
197
193
For the purpose of generating ` Cargo.lock ` , the resolver builds the dependency
@@ -611,6 +607,7 @@ circumstances:
611
607
var fragments = {
612
608
" #version-metadata" : " specifying-dependencies.html#version-metadata" ,
613
609
" #pre-releases" : " specifying-dependencies.html#pre-releases" ,
610
+ " #other-constraints" : " #constraints-and-heuristics" ,
614
611
};
615
612
var target = fragments[window .location .hash ];
616
613
if (target) {
0 commit comments