Skip to content

Commit 3e955a0

Browse files
committed
Auto merge of #50704 - kennytm:rollup, r=kennytm
Rollup of 8 pull requests Successful merges: - #50624 (fs::write: Add example writing a &str) - #50634 (Do not silently truncate offsets for `read_at`/`write_at` on emscripten) - #50644 (AppVeyor: Read back trace from crash dump on failure.) - #50661 (Ignore non .rs files for tidy libcoretest) - #50663 (rustc: Allow an edition's feature on that edition) - #50667 (rustc: Only suggest deleting `extern crate` if it works) - #50670 (rustc: Include semicolon when removing `extern crate`) - #50678 (Update openbsd targets) Failed merges:
2 parents 0d48c96 + 98ce505 commit 3e955a0

9 files changed

+140
-11
lines changed

src/librustc_lint/builtin.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1568,10 +1568,10 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for ExternCrate {
15681568

15691569
if let Some(orig) = orig {
15701570
err.span_suggestion(it.span, &help,
1571-
format!("{}use {} as {}", pub_, orig, it.name));
1571+
format!("{}use {} as {};", pub_, orig, it.name));
15721572
} else {
15731573
err.span_suggestion(it.span, &help,
1574-
format!("{}use {}", pub_, it.name));
1574+
format!("{}use {};", pub_, it.name));
15751575
}
15761576
} else {
15771577
err.span_suggestion(it.span, "remove it", "".into());
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
2+
// file at the top-level directory of this distribution and at
3+
// http://rust-lang.org/COPYRIGHT.
4+
//
5+
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+
// option. This file may not be copied, modified, or distributed
9+
// except according to those terms.
10+
11+
use spec::{LinkerFlavor, Target, TargetResult};
12+
13+
pub fn target() -> TargetResult {
14+
let mut base = super::openbsd_base::opts();
15+
base.max_atomic_width = Some(128);
16+
base.abi_blacklist = super::arm_base::abi_blacklist();
17+
18+
Ok(Target {
19+
llvm_target: "aarch64-unknown-openbsd".to_string(),
20+
target_endian: "little".to_string(),
21+
target_pointer_width: "64".to_string(),
22+
target_c_int_width: "32".to_string(),
23+
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128".to_string(),
24+
arch: "aarch64".to_string(),
25+
target_os: "openbsd".to_string(),
26+
target_env: "".to_string(),
27+
target_vendor: "unknown".to_string(),
28+
linker_flavor: LinkerFlavor::Gcc,
29+
options: base,
30+
})
31+
}

src/librustc_target/spec/i686_unknown_openbsd.rs

+1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ pub fn target() -> TargetResult {
1515
base.cpu = "pentium4".to_string();
1616
base.max_atomic_width = Some(64);
1717
base.pre_link_args.get_mut(&LinkerFlavor::Gcc).unwrap().push("-m32".to_string());
18+
base.pre_link_args.get_mut(&LinkerFlavor::Gcc).unwrap().push("-fuse-ld=lld".to_string());
1819
base.stack_probes = true;
1920

2021
Ok(Target {

src/librustc_target/spec/mod.rs

+1
Original file line numberDiff line numberDiff line change
@@ -313,6 +313,7 @@ supported_targets! {
313313

314314
("x86_64-unknown-bitrig", x86_64_unknown_bitrig),
315315

316+
("aarch64-unknown-openbsd", aarch64_unknown_openbsd),
316317
("i686-unknown-openbsd", i686_unknown_openbsd),
317318
("x86_64-unknown-openbsd", x86_64_unknown_openbsd),
318319

src/test/ui-fulldeps/unnecessary-extern-crate.stderr

+9-9
Original file line numberDiff line numberDiff line change
@@ -14,55 +14,55 @@ error: `extern crate` is unnecessary in the new edition
1414
--> $DIR/unnecessary-extern-crate.rs:19:1
1515
|
1616
LL | extern crate alloc as x;
17-
| ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `use`: `use alloc as x`
17+
| ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `use`: `use alloc as x;`
1818

1919
error: `extern crate` is unnecessary in the new edition
2020
--> $DIR/unnecessary-extern-crate.rs:25:1
2121
|
2222
LL | pub extern crate test as y;
23-
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `pub use`: `pub use test as y`
23+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `pub use`: `pub use test as y;`
2424

2525
error: `extern crate` is unnecessary in the new edition
2626
--> $DIR/unnecessary-extern-crate.rs:28:1
2727
|
2828
LL | pub extern crate libc;
29-
| ^^^^^^^^^^^^^^^^^^^^^^ help: use `pub use`: `pub use libc`
29+
| ^^^^^^^^^^^^^^^^^^^^^^ help: use `pub use`: `pub use libc;`
3030

3131
error: `extern crate` is unnecessary in the new edition
3232
--> $DIR/unnecessary-extern-crate.rs:34:5
3333
|
3434
LL | extern crate alloc;
35-
| ^^^^^^^^^^^^^^^^^^^ help: use `use`: `use alloc`
35+
| ^^^^^^^^^^^^^^^^^^^ help: use `use`: `use alloc;`
3636

3737
error: `extern crate` is unnecessary in the new edition
3838
--> $DIR/unnecessary-extern-crate.rs:37:5
3939
|
4040
LL | extern crate alloc as x;
41-
| ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `use`: `use alloc as x`
41+
| ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `use`: `use alloc as x;`
4242

4343
error: `extern crate` is unnecessary in the new edition
4444
--> $DIR/unnecessary-extern-crate.rs:40:5
4545
|
4646
LL | pub extern crate test;
47-
| ^^^^^^^^^^^^^^^^^^^^^^ help: use `pub use`: `pub use test`
47+
| ^^^^^^^^^^^^^^^^^^^^^^ help: use `pub use`: `pub use test;`
4848

4949
error: `extern crate` is unnecessary in the new edition
5050
--> $DIR/unnecessary-extern-crate.rs:43:5
5151
|
5252
LL | pub extern crate test as y;
53-
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `pub use`: `pub use test as y`
53+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `pub use`: `pub use test as y;`
5454

5555
error: `extern crate` is unnecessary in the new edition
5656
--> $DIR/unnecessary-extern-crate.rs:47:9
5757
|
5858
LL | extern crate alloc;
59-
| ^^^^^^^^^^^^^^^^^^^ help: use `use`: `use alloc`
59+
| ^^^^^^^^^^^^^^^^^^^ help: use `use`: `use alloc;`
6060

6161
error: `extern crate` is unnecessary in the new edition
6262
--> $DIR/unnecessary-extern-crate.rs:50:9
6363
|
6464
LL | extern crate alloc as x;
65-
| ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `use`: `use alloc as x`
65+
| ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `use`: `use alloc as x;`
6666

6767
error: aborting due to 10 previous errors
6868

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
2+
// file at the top-level directory of this distribution and at
3+
// http://rust-lang.org/COPYRIGHT.
4+
//
5+
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+
// option. This file may not be copied, modified, or distributed
9+
// except according to those terms.
10+
11+
// intentionally blank
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
2+
// file at the top-level directory of this distribution and at
3+
// http://rust-lang.org/COPYRIGHT.
4+
//
5+
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+
// option. This file may not be copied, modified, or distributed
9+
// except according to those terms.
10+
11+
// compile-flags: --edition 2018
12+
// aux-build:removing-extern-crate.rs
13+
// run-rustfix
14+
// compile-pass
15+
16+
#![warn(rust_2018_idioms)]
17+
#![allow(unused_imports)]
18+
19+
use std as foo;
20+
21+
22+
mod another {
23+
use std as foo;
24+
use std;
25+
}
26+
27+
fn main() {}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
2+
// file at the top-level directory of this distribution and at
3+
// http://rust-lang.org/COPYRIGHT.
4+
//
5+
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+
// option. This file may not be copied, modified, or distributed
9+
// except according to those terms.
10+
11+
// compile-flags: --edition 2018
12+
// aux-build:removing-extern-crate.rs
13+
// run-rustfix
14+
// compile-pass
15+
16+
#![warn(rust_2018_idioms)]
17+
#![allow(unused_imports)]
18+
19+
extern crate std as foo;
20+
extern crate core;
21+
22+
mod another {
23+
extern crate std as foo;
24+
extern crate std;
25+
}
26+
27+
fn main() {}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
warning: `extern crate` is unnecessary in the new edition
2+
--> $DIR/removing-extern-crate.rs:19:1
3+
|
4+
LL | extern crate std as foo;
5+
| ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `use`: `use std as foo;`
6+
|
7+
note: lint level defined here
8+
--> $DIR/removing-extern-crate.rs:16:9
9+
|
10+
LL | #![warn(rust_2018_idioms)]
11+
| ^^^^^^^^^^^^^^^^
12+
= note: #[warn(unnecessary_extern_crate)] implied by #[warn(rust_2018_idioms)]
13+
14+
warning: `extern crate` is unnecessary in the new edition
15+
--> $DIR/removing-extern-crate.rs:20:1
16+
|
17+
LL | extern crate core;
18+
| ^^^^^^^^^^^^^^^^^^ help: remove it
19+
20+
warning: `extern crate` is unnecessary in the new edition
21+
--> $DIR/removing-extern-crate.rs:23:5
22+
|
23+
LL | extern crate std as foo;
24+
| ^^^^^^^^^^^^^^^^^^^^^^^^ help: use `use`: `use std as foo;`
25+
26+
warning: `extern crate` is unnecessary in the new edition
27+
--> $DIR/removing-extern-crate.rs:24:5
28+
|
29+
LL | extern crate std;
30+
| ^^^^^^^^^^^^^^^^^ help: use `use`: `use std;`
31+

0 commit comments

Comments
 (0)