-
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.
Auto merge of #105918 - matthiaskrgr:rollup-mmazd62, r=matthiaskrgr
Rollup of 7 pull requests Successful merges: - #105801 (Realistic `Path::as_mut_os_str` doctest) - #105860 (Add long error docs for `E0460` and `E0457`) - #105895 (Test that we don't add a new kind of breaking change with TAITs) - #105902 (docs: improve pin docs) - #105910 (Update books) - #105913 (rustdoc: remove width-limiter from source pages, stop overriding CSS) - #105915 (Revert "Replace usage of `ResumeTy` in async lowering with `Context`") Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
- Loading branch information
Showing
36 changed files
with
250 additions
and
85 deletions.
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
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,36 @@ | ||
Plugin `..` only found in rlib format, but must be available in dylib format. | ||
|
||
Erroronous code example: | ||
|
||
`rlib-plugin.rs` | ||
```ignore (needs-linkage-with-other-tests) | ||
#![crate_type = "rlib"] | ||
#![feature(rustc_private)] | ||
extern crate rustc_middle; | ||
extern crate rustc_driver; | ||
use rustc_driver::plugin::Registry; | ||
#[no_mangle] | ||
fn __rustc_plugin_registrar(_: &mut Registry) {} | ||
``` | ||
|
||
`main.rs` | ||
```ignore (needs-linkage-with-other-tests) | ||
#![feature(plugin)] | ||
#![plugin(rlib_plugin)] // error: plugin `rlib_plugin` only found in rlib | ||
// format, but must be available in dylib | ||
fn main() {} | ||
``` | ||
|
||
The compiler exposes a plugin interface to allow altering the compile process | ||
(adding lints, etc). Plugins must be defined in their own crates (similar to | ||
[proc-macro](../reference/procedural-macros.html) isolation) and then compiled | ||
and linked to another crate. Plugin crates *must* be compiled to the | ||
dynamically-linked dylib format, and not the statically-linked rlib format. | ||
Learn more about different output types in | ||
[this section](../reference/linkage.html) of the Rust reference. | ||
|
||
This error is easily fixed by recompiling the plugin crate in the dylib format. |
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
Submodule rust-by-example
updated
9 files
+1 −0 | src/SUMMARY.md | |
+60 −0 | src/flow_control/let_else.md | |
+7 −7 | src/hello.md | |
+14 −16 | src/hello/comment.md | |
+29 −28 | src/hello/print.md | |
+7 −6 | src/hello/print/fmt.md | |
+3 −3 | src/hello/print/print_debug.md | |
+5 −6 | src/hello/print/print_display.md | |
+2 −1 | src/hello/print/print_display/testcase_list.md |
Submodule rustc-dev-guide
updated
16 files
+2 −3 | .github/workflows/date-check.yml | |
+1 −1 | src/appendix/background.md | |
+2 −2 | src/appendix/bibliography.md | |
+1 −1 | src/backend/monomorph.md | |
+36 −2 | src/compiler-debugging.md | |
+2 −1 | src/contributing.md | |
+3 −1 | src/diagnostics.md | |
+6 −5 | src/memory.md | |
+3 −5 | src/mir/passes.md | |
+3 −5 | src/mir/visitor.md | |
+1 −1 | src/overview.md | |
+1 −1 | src/query.md | |
+8 −3 | src/sanitizers.md | |
+1 −1 | src/tests/adding.md | |
+8 −11 | src/ty.md | |
+2 −2 | src/type-checking.md |
Oops, something went wrong.