-
Notifications
You must be signed in to change notification settings - Fork 12.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs: add long-form error-code docs for E0460
- Loading branch information
Showing
10 changed files
with
80 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
Found possibly newer version of crate `..` which `..` depends on. | ||
|
||
Consider these erroneous files: | ||
|
||
`a1.rs` | ||
```ignore (needs-linkage-with-other-tests) | ||
#![crate_name = "a"] | ||
pub fn foo<T>() {} | ||
``` | ||
|
||
`a2.rs` | ||
```ignore (needs-linkage-with-other-tests) | ||
#![crate_name = "a"] | ||
pub fn foo<T>() { | ||
println!("foo<T>()"); | ||
} | ||
``` | ||
|
||
`b.rs` | ||
```ignore (needs-linkage-with-other-tests) | ||
#![crate_name = "b"] | ||
extern crate a; // linked with `a1.rs` | ||
pub fn foo() { | ||
a::foo::<isize>(); | ||
} | ||
``` | ||
|
||
`main.rs` | ||
```ignore (needs-linkage-with-other-tests) | ||
extern crate a; // linked with `a2.rs` | ||
extern crate b; // error: found possibly newer version of crate `a` which `b` | ||
// depends on | ||
fn main() {} | ||
``` | ||
|
||
The dependency graph of this program can be represented as follows: | ||
```text | ||
crate `main` | ||
| | ||
+-------------+ | ||
| | | ||
| v | ||
depends: | crate `b` | ||
`a` v1 | | | ||
| | depends: | ||
| | `a` v2 | ||
v | | ||
crate `a` <------+ | ||
``` | ||
|
||
Crate `main` depends on crate `a` (version 1) and crate `b` which in turn | ||
depends on crate `a` (version 2); this discrepancy in versions cannot be | ||
reconciled. This difference in versions typically occurs when one crate is | ||
compiled and linked, then updated and linked to another crate. The crate | ||
"version" is a SVH (Strict Version Hash) of the crate in an | ||
implementation-specific way. Note that this error can *only* occur when | ||
directly compiling and linking with `rustc`; [Cargo] automatically resolves | ||
dependencies, without using the compiler's own dependency management that | ||
causes this issue. | ||
|
||
This error can be fixed by: | ||
* Using [Cargo], the Rust package manager, automatically fixing this issue. | ||
* Recompiling crate `a` so that both crate `b` and `main` have a uniform | ||
version to depend on. | ||
|
||
[Cargo]: ../cargo/index.html |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters