Skip to content

Commit c67ea44

Browse files
authored
Merge pull request #4009 from RalfJung/rustup
Rustup
2 parents 6630802 + c1b8d66 commit c67ea44

File tree

331 files changed

+3286
-1674
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

331 files changed

+3286
-1674
lines changed

.mailmap

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ Alexis Beingessner <a.beingessner@gmail.com>
3131
Alfie John <alfie@alfie.wtf> Alfie John <alfiej@fastmail.fm>
3232
Alona Enraght-Moony <code@alona.page> <nixon.emoony@gmail.com>
3333
Alona Enraght-Moony <code@alona.page> <nixon@caminus.local>
34+
Alona Enraght-Moony <code@alona.page> <contact@alona.page>
3435
Amanda Stjerna <mail@amandastjerna.se> <albin.stjerna@gmail.com>
3536
Amanda Stjerna <mail@amandastjerna.se> <amanda.stjerna@it.uu.se>
3637
Amos Onn <amosonn@gmail.com>
@@ -75,6 +76,7 @@ Benjamin Jackman <ben@jackman.biz>
7576
Benoît Cortier <benoit.cortier@fried-world.eu>
7677
Bheesham Persaud <bheesham123@hotmail.com> Bheesham Persaud <bheesham.persaud@live.ca>
7778
bjorn3 <17426603+bjorn3@users.noreply.github.com> <bjorn3@users.noreply.github.com>
79+
bjorn3 <17426603+bjorn3@users.noreply.github.com> <bjorn3_gh@protonmail.com>
7880
Björn Steinbrink <bsteinbr@gmail.com> <B.Steinbrink@gmx.de>
7981
blake2-ppc <ulrik.sverdrup@gmail.com> <blake2-ppc>
8082
blyxyas <blyxyas@gmail.com> Alejandra González <blyxyas@gmail.com>
@@ -172,6 +174,7 @@ Dzmitry Malyshau <kvarkus@gmail.com>
172174
E. Dunham <edunham@mozilla.com> edunham <edunham@mozilla.com>
173175
Ed Barnard <eabarnard@gmail.com>
174176
Eduard-Mihai Burtescu <edy.burt@gmail.com>
177+
Eduard-Mihai Burtescu <edy.burt@gmail.com> <eddyb@lyken.rs>
175178
Eduardo Bautista <me@eduardobautista.com> <=>
176179
Eduardo Bautista <me@eduardobautista.com> <mail@eduardobautista.com>
177180
Eduardo Broto <ebroto@tutanota.com>
@@ -186,6 +189,7 @@ Erick Tryzelaar <erick.tryzelaar@gmail.com> <etryzelaar@iqt.org>
186189
Erik Desjardins <erikdesjardins@users.noreply.github.com>
187190
Erik Jensen <erikjensen@rkjnsn.net>
188191
Erin Power <xampprocky@gmail.com>
192+
Erin Power <xampprocky@gmail.com> <xampprocky@icloud.com>
189193
Erin Power <xampprocky@gmail.com> <theaaronepower@gmail.com>
190194
Erin Power <xampprocky@gmail.com> <Aaronepower@users.noreply.github.com>
191195
Esteban Küber <esteban@kuber.com.ar>
@@ -198,6 +202,7 @@ F001 <changchun.fan@qq.com>
198202
Fabian Kössel <fkjogu@users.noreply.github.com>
199203
Falco Hirschenberger <falco.hirschenberger@gmail.com> <hirschen@itwm.fhg.de>
200204
Felix S. Klock II <pnkfelix@pnkfx.org> Felix S Klock II <pnkfelix@pnkfx.org>
205+
Felix S. Klock II <pnkfelix@pnkfx.org> <pnkfelix@mozilla.com>
201206
Félix Saparelli <felix@passcod.name>
202207
Flaper Fesp <flaper87@gmail.com>
203208
Florian Berger <fbergr@gmail.com>
@@ -245,7 +250,7 @@ Irina Popa <irinagpopa@gmail.com>
245250
Ivan Ivaschenko <defuz.net@gmail.com>
246251
ivan tkachenko <me@ratijas.tk>
247252
J. J. Weber <jjweber@gmail.com>
248-
Jack Huey <jack.huey@umassmed.edu>
253+
Jack Huey <jack.huey@umassmed.edu> <jackh726@gmail.com>
249254
Jacob <jacob.macritchie@gmail.com>
250255
Jacob Greenfield <xales@naveria.com>
251256
Jacob Pratt <jacob@jhpratt.dev> <the.z.cuber@gmail.com>
@@ -292,6 +297,7 @@ John Clements <clements@racket-lang.org> <clements@brinckerhoff.org>
292297
John Hodge <acessdev@gmail.com> John Hodge <tpg@mutabah.net>
293298
John Hörnvall <trolledwoods@gmail.com>
294299
John Kåre Alsaker <john.kare.alsaker@gmail.com>
300+
John Kåre Alsaker <john.kare.alsaker@gmail.com> <zoxc32@gmail.com>
295301
John Talling <inrustwetrust@users.noreply.github.com>
296302
John Van Enk <vanenkj@gmail.com>
297303
Jonas Tepe <jonasprogrammer@gmail.com>
@@ -368,6 +374,7 @@ Lukas Lueg <lukas.lueg@gmail.com>
368374
Luke Metz <luke.metz@students.olin.edu>
369375
Luqman Aden <me@luqman.ca> <laden@csclub.uwaterloo.ca>
370376
Luqman Aden <me@luqman.ca> <laden@mozilla.com>
377+
Luqman Aden <me@luqman.ca> <rust@luqman.ca>
371378
Lzu Tao <taolzu@gmail.com>
372379
Maik Klein <maikklein@googlemail.com>
373380
Malo Jaffré <jaffre.malo@gmail.com>
@@ -409,6 +416,7 @@ mental <m3nta1@yahoo.com>
409416
mibac138 <5672750+mibac138@users.noreply.github.com>
410417
Michael Williams <m.t.williams@live.com>
411418
Michael Woerister <michaelwoerister@posteo> <michaelwoerister@gmail>
419+
Michael Woerister <michaelwoerister@posteo> <michaelwoerister@gmail.com>
412420
Michael Woerister <michaelwoerister@posteo> <michaelwoerister@users.noreply.github.com>
413421
Michael Woerister <michaelwoerister@posteo> <michaelwoerister@posteo.net>
414422
Michael Zhang <hmperson1@gmail.com>
@@ -422,6 +430,7 @@ Ms2ger <ms2ger@gmail.com> <Ms2ger@gmail.com>
422430
msizanoen1 <qtmlabs@protonmail.com>
423431
Mukilan Thiagarajan <mukilanthiagarajan@gmail.com>
424432
Nadrieril Feneanar <Nadrieril@users.noreply.github.com>
433+
Nadrieril Feneanar <Nadrieril@users.noreply.github.com> <nadrieril+git@gmail.com>
425434
NAKASHIMA, Makoto <makoto.nksm+github@gmail.com> <makoto.nksm@gmail.com>
426435
NAKASHIMA, Makoto <makoto.nksm+github@gmail.com> <makoto.nksm+github@gmail.com>
427436
Nathan Ringo <remexre@gmail.com>
@@ -442,6 +451,8 @@ Niclas Schwarzlose <15schnic@gmail.com>
442451
Nicolas Abram <abramlujan@gmail.com>
443452
Nicole Mazzuca <npmazzuca@gmail.com>
444453
Noratrieb <48135649+Noratrieb@users.noreply.github.com> <48135649+Nilstrieb@users.noreply.github.com>
454+
Noratrieb <48135649+Noratrieb@users.noreply.github.com> <nilstrieb@gmail.com>
455+
Noratrieb <48135649+Noratrieb@users.noreply.github.com> <nora@noratrieb.dev>
445456
Nif Ward <nif.ward@gmail.com>
446457
Nika Layzell <nika@thelayzells.com> <michael@thelayzells.com>
447458
NODA Kai <nodakai@gmail.com>
@@ -460,6 +471,7 @@ Oliver Scherer <oli-obk@users.noreply.github.com> <github6541940@oli-obk.de>
460471
Oliver Scherer <oli-obk@users.noreply.github.com> <public.oliver.schneider@kit.edu>
461472
Oliver Scherer <oli-obk@users.noreply.github.com> <oliver.schneider@kit.edu>
462473
Oliver Scherer <oli-obk@users.noreply.github.com> <obk8176014uqher834@olio-obk.de>
474+
Oliver Scherer <oli-obk@users.noreply.github.com> <rustc-contact@oli-obk.de>
463475
Oliver Scherer <oli-obk@users.noreply.github.com>
464476
Onur Özkan <onurozkan.dev@outlook.com> <work@onurozkan.dev>
465477
Onur Özkan <onurozkan.dev@outlook.com>
@@ -496,6 +508,7 @@ Raphaël Huchet <rap2hpoutre@users.noreply.github.com>
496508
rChaser53 <tayoshizawa29@gmail.com>
497509
Rémy Rakic <remy.rakic@gmail.com>
498510
Rémy Rakic <remy.rakic@gmail.com> <remy.rakic+github@gmail.com>
511+
Rémy Rakic <remy.rakic@gmail.com> <remy.rakic+rust@gmail.com>
499512
Renato Riccieri Santos Zannon <renato@rrsz.com.br>
500513
Richard Diamond <wichard@vitalitystudios.com> <wichard@hahbee.co>
501514
Ricky Hosfelt <ricky@hosfelt.io>
@@ -525,6 +538,7 @@ Samuel Tardieu <sam@rfc1149.net>
525538
Santiago Pastorino <spastorino@gmail.com>
526539
Santiago Pastorino <spastorino@gmail.com> <santiago@wyeworks.com>
527540
Scott McMurray <scottmcm@users.noreply.github.com>
541+
Scott McMurray <scottmcm@users.noreply.github.com> <smcmurray@acm.org>
528542
Scott Olson <scott@solson.me> Scott Olson <scott@scott-olson.org>
529543
Sean Gillespie <sean.william.g@gmail.com> swgillespie <sean.william.g@gmail.com>
530544
Seiichi Uchida <seuchida@gmail.com>
@@ -536,6 +550,7 @@ Shyam Sundar B <shyambaskaran@outlook.com>
536550
Simon Barber-Dueck <sbarberdueck@gmail.com> Simon BD <simon@server>
537551
Simon Sapin <simon@exyr.org> <simon.sapin@exyr.org>
538552
Simonas Kazlauskas <git@kazlauskas.me> Simonas Kazlauskas <github@kazlauskas.me>
553+
Simonas Kazlauskas <git@kazlauskas.me> <simonas+t-compiler@kazlauskas.me>
539554
Siva Prasad <sivaauturic@gmail.com>
540555
Smittyvb <me@smitop.com>
541556
Srinivas Reddy Thatiparthy <thatiparthysreenivas@gmail.com>
@@ -556,6 +571,8 @@ Tatsuyuki Ishi <ishitatsuyuki@gmail.com>
556571
Tau Gärtli <git@tau.garden> <ruben.schmidmeister@icloud.com>
557572
Tero Hänninen <lgvz@users.noreply.github.com> Tero Hänninen <tejohann@kapsi.fi>
558573
The8472 <git@infinite-source.de>
574+
The8472 <git@infinite-source.de> <the8472.rs@infinite-source.de>
575+
The8472 <git@infinite-source.de> <the8472@users.noreply.github.com>
559576
Theo Belaire <theo.belaire@gmail.com> Theo Belaire <tyr.god.of.war.42@gmail.com>
560577
Theodore Luo Wang <wangtheo662@gmail.com>
561578
Thiago Pontes <email@thiago.me> thiagopnts <thiagopnts@gmail.com>
@@ -593,7 +610,8 @@ Waffle Lapkin <waffle.lapkin@tasking.com>
593610
Wesley Wiser <wwiser@gmail.com> <wesleywiser@microsoft.com>
594611
whitequark <whitequark@whitequark.org>
595612
William Ting <io@williamting.com> <william.h.ting@gmail.com>
596-
Wim Looman <wim@nemo157.com>
613+
Wim Looman <wim@nemo157.com> <rust-lang@nemo157.com>
614+
Wim Looman <wim@nemo157.com> <git@nemo157.com>
597615
Without Boats <woboats@gmail.com>
598616
Without Boats <woboats@gmail.com> <boats@mozilla.com>
599617
Xinye Tao <xy.tao@outlook.com>

Cargo.lock

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3204,9 +3204,11 @@ dependencies = [
32043204
"rand",
32053205
"rand_xoshiro",
32063206
"rustc_data_structures",
3207+
"rustc_feature",
32073208
"rustc_index",
32083209
"rustc_macros",
32093210
"rustc_serialize",
3211+
"rustc_span",
32103212
"tracing",
32113213
]
32123214

@@ -3749,11 +3751,11 @@ dependencies = [
37493751
name = "rustc_hir_pretty"
37503752
version = "0.0.0"
37513753
dependencies = [
3754+
"rustc_abi",
37523755
"rustc_ast",
37533756
"rustc_ast_pretty",
37543757
"rustc_hir",
37553758
"rustc_span",
3756-
"rustc_target",
37573759
]
37583760

37593761
[[package]]
@@ -3938,14 +3940,14 @@ dependencies = [
39383940
name = "rustc_lint_defs"
39393941
version = "0.0.0"
39403942
dependencies = [
3943+
"rustc_abi",
39413944
"rustc_ast",
39423945
"rustc_data_structures",
39433946
"rustc_error_messages",
39443947
"rustc_hir",
39453948
"rustc_macros",
39463949
"rustc_serialize",
39473950
"rustc_span",
3948-
"rustc_target",
39493951
"serde",
39503952
]
39513953

@@ -4004,7 +4006,6 @@ dependencies = [
40044006
"rustc_span",
40054007
"rustc_target",
40064008
"rustc_type_ir",
4007-
"snap",
40084009
"tempfile",
40094010
"tracing",
40104011
]
@@ -4054,6 +4055,7 @@ version = "0.0.0"
40544055
dependencies = [
40554056
"either",
40564057
"itertools",
4058+
"rustc_abi",
40574059
"rustc_apfloat",
40584060
"rustc_arena",
40594061
"rustc_ast",
@@ -4069,7 +4071,6 @@ dependencies = [
40694071
"rustc_pattern_analysis",
40704072
"rustc_session",
40714073
"rustc_span",
4072-
"rustc_target",
40734074
"rustc_trait_selection",
40744075
"tracing",
40754076
]
@@ -4889,12 +4890,6 @@ version = "1.13.2"
48894890
source = "registry+https://github.com/rust-lang/crates.io-index"
48904891
checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
48914892

4892-
[[package]]
4893-
name = "snap"
4894-
version = "1.1.1"
4895-
source = "registry+https://github.com/rust-lang/crates.io-index"
4896-
checksum = "1b6b67fb9a61334225b5b790716f609cd58395f895b3fe8b328786812a40bc3b"
4897-
48984893
[[package]]
48994894
name = "socket2"
49004895
version = "0.5.7"

compiler/rustc_abi/Cargo.toml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,11 @@ bitflags = "2.4.1"
99
rand = { version = "0.8.4", default-features = false, optional = true }
1010
rand_xoshiro = { version = "0.6.0", optional = true }
1111
rustc_data_structures = { path = "../rustc_data_structures", optional = true }
12+
rustc_feature = { path = "../rustc_feature", optional = true }
1213
rustc_index = { path = "../rustc_index", default-features = false }
1314
rustc_macros = { path = "../rustc_macros", optional = true }
1415
rustc_serialize = { path = "../rustc_serialize", optional = true }
16+
rustc_span = { path = "../rustc_span", optional = true }
1517
tracing = "0.1"
1618
# tidy-alphabetical-end
1719

@@ -22,8 +24,10 @@ default = ["nightly", "randomize"]
2224
# without depending on rustc_data_structures, rustc_macros and rustc_serialize
2325
nightly = [
2426
"dep:rustc_data_structures",
27+
"dep:rustc_feature",
2528
"dep:rustc_macros",
2629
"dep:rustc_serialize",
30+
"dep:rustc_span",
2731
"rustc_index/nightly",
2832
]
2933
randomize = ["dep:rand", "dep:rand_xoshiro", "nightly"]

compiler/rustc_target/src/spec/abi/mod.rs renamed to compiler/rustc_abi/src/extern_abi/mod.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,11 @@ use rustc_span::{Span, Symbol};
77
#[cfg(test)]
88
mod tests;
99

10+
use ExternAbi as Abi;
11+
1012
#[derive(PartialEq, Eq, PartialOrd, Ord, Hash, Clone, Copy, Debug)]
1113
#[derive(HashStable_Generic, Encodable, Decodable)]
12-
pub enum Abi {
14+
pub enum ExternAbi {
1315
// Some of the ABIs come first because every time we add a new ABI, we have to re-bless all the
1416
// hashing tests. These are used in many places, so giving them stable values reduces test
1517
// churn. The specific values are meaningless.

compiler/rustc_abi/src/lib.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// tidy-alphabetical-start
22
#![cfg_attr(feature = "nightly", allow(internal_features))]
33
#![cfg_attr(feature = "nightly", doc(rust_logo))]
4+
#![cfg_attr(feature = "nightly", feature(assert_matches))]
45
#![cfg_attr(feature = "nightly", feature(rustc_attrs))]
56
#![cfg_attr(feature = "nightly", feature(rustdoc_internals))]
67
#![cfg_attr(feature = "nightly", feature(step_trait))]
@@ -28,8 +29,15 @@ mod layout;
2829
#[cfg(test)]
2930
mod tests;
3031

32+
#[cfg(feature = "nightly")]
33+
mod extern_abi;
34+
3135
pub use callconv::{Heterogeneous, HomogeneousAggregate, Reg, RegKind};
3236
#[cfg(feature = "nightly")]
37+
pub use extern_abi::{
38+
AbiDisabled, AbiUnsupported, ExternAbi, all_names, enabled_names, is_enabled, is_stable, lookup,
39+
};
40+
#[cfg(feature = "nightly")]
3341
pub use layout::{FIRST_VARIANT, FieldIdx, Layout, TyAbiInterface, TyAndLayout, VariantIdx};
3442
pub use layout::{LayoutCalculator, LayoutCalculatorError};
3543

compiler/rustc_ast/src/ast.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2810,6 +2810,8 @@ pub struct ModSpans {
28102810
/// E.g., `extern { .. }` or `extern "C" { .. }`.
28112811
#[derive(Clone, Encodable, Decodable, Debug)]
28122812
pub struct ForeignMod {
2813+
/// Span of the `extern` keyword.
2814+
pub extern_span: Span,
28132815
/// `unsafe` keyword accepted syntactically for macro DSLs, but not
28142816
/// semantically by Rust.
28152817
pub safety: Safety,

compiler/rustc_ast/src/mut_visit.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -525,7 +525,7 @@ pub fn walk_ty<T: MutVisitor>(vis: &mut T, ty: &mut P<Ty>) {
525525
}
526526

527527
fn walk_foreign_mod<T: MutVisitor>(vis: &mut T, foreign_mod: &mut ForeignMod) {
528-
let ForeignMod { safety, abi: _, items } = foreign_mod;
528+
let ForeignMod { extern_span: _, safety, abi: _, items } = foreign_mod;
529529
visit_safety(vis, safety);
530530
items.flat_map_in_place(|item| vis.flat_map_foreign_item(item));
531531
}

compiler/rustc_ast/src/visit.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -366,7 +366,7 @@ impl WalkItemKind for ItemKind {
366366
}
367367
ModKind::Unloaded => {}
368368
},
369-
ItemKind::ForeignMod(ForeignMod { safety: _, abi: _, items }) => {
369+
ItemKind::ForeignMod(ForeignMod { extern_span: _, safety: _, abi: _, items }) => {
370370
walk_list!(visitor, visit_foreign_item, items);
371371
}
372372
ItemKind::GlobalAsm(asm) => try_visit!(visitor.visit_inline_asm(asm)),

compiler/rustc_ast_passes/src/ast_validation.rs

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -677,9 +677,8 @@ impl<'a> AstValidator<'a> {
677677
Self::check_decl_no_pat(&bfty.decl, |span, _, _| {
678678
self.dcx().emit_err(errors::PatternFnPointer { span });
679679
});
680-
if let Extern::Implicit(_) = bfty.ext {
681-
let sig_span = self.sess.source_map().next_point(ty.span.shrink_to_lo());
682-
self.maybe_lint_missing_abi(sig_span, ty.id);
680+
if let Extern::Implicit(extern_span) = bfty.ext {
681+
self.maybe_lint_missing_abi(extern_span, ty.id);
683682
}
684683
}
685684
TyKind::TraitObject(bounds, ..) => {
@@ -953,7 +952,7 @@ impl<'a> Visitor<'a> for AstValidator<'a> {
953952
walk_list!(self, visit_attribute, &item.attrs);
954953
return; // Avoid visiting again.
955954
}
956-
ItemKind::ForeignMod(ForeignMod { abi, safety, .. }) => {
955+
ItemKind::ForeignMod(ForeignMod { extern_span, abi, safety, .. }) => {
957956
self.with_in_extern_mod(*safety, |this| {
958957
let old_item = mem::replace(&mut this.extern_mod, Some(item.span));
959958
this.visibility_not_permitted(
@@ -977,7 +976,7 @@ impl<'a> Visitor<'a> for AstValidator<'a> {
977976
}
978977

979978
if abi.is_none() {
980-
this.maybe_lint_missing_abi(item.span, item.id);
979+
this.maybe_lint_missing_abi(*extern_span, item.id);
981980
}
982981
visit::walk_item(this, item);
983982
this.extern_mod = old_item;
@@ -1350,13 +1349,13 @@ impl<'a> Visitor<'a> for AstValidator<'a> {
13501349
if let FnKind::Fn(
13511350
_,
13521351
_,
1353-
FnSig { span: sig_span, header: FnHeader { ext: Extern::Implicit(_), .. }, .. },
1352+
FnSig { header: FnHeader { ext: Extern::Implicit(extern_span), .. }, .. },
13541353
_,
13551354
_,
13561355
_,
13571356
) = fk
13581357
{
1359-
self.maybe_lint_missing_abi(*sig_span, id);
1358+
self.maybe_lint_missing_abi(*extern_span, id);
13601359
}
13611360

13621361
// Functions without bodies cannot have patterns.

0 commit comments

Comments
 (0)