Skip to content

Commit f3ae6a1

Browse files
committed
Merge branch 'master' of github.com:EtomicBomb/rust
2 parents a5719b0 + 05eac57 commit f3ae6a1

File tree

2,742 files changed

+57321
-30746
lines changed

Some content is hidden

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

2,742 files changed

+57321
-30746
lines changed

.clang-format

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
BasedOnStyle: LLVM

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ build/
5050
/target
5151
/src/bootstrap/target
5252
/src/tools/x/target
53+
/inc-fat/
5354
# Created by default with `src/ci/docker/run.sh`
5455
/obj/
5556
/rustc-ice*

.ignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Make vscode *not* count `config.toml` as ignored, so it is included in search
2+
!/config.toml

.reuse/dep5

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,14 @@ Files: compiler/*
2929
x
3030
x.ps1
3131
x.py
32+
.clang-format
3233
.editorconfig
3334
.git-blame-ignore-revs
3435
.gitattributes
3536
.gitignore
3637
.gitmodules
3738
.mailmap
39+
.ignore
3840
Copyright: The Rust Project Developers (see https://thanks.rust-lang.org)
3941
License: MIT or Apache-2.0
4042

Cargo.lock

Lines changed: 52 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,12 @@ dependencies = [
228228
"backtrace",
229229
]
230230

231+
[[package]]
232+
name = "ar"
233+
version = "0.9.0"
234+
source = "registry+https://github.com/rust-lang/crates.io-index"
235+
checksum = "d67af77d68a931ecd5cbd8a3b5987d63a1d1d1278f7f6a60ae33db485cdebb69"
236+
231237
[[package]]
232238
name = "ar_archive_writer"
233239
version = "0.2.0"
@@ -3135,7 +3141,19 @@ dependencies = [
31353141
"bitflags 2.5.0",
31363142
"getopts",
31373143
"memchr",
3138-
"pulldown-cmark-escape",
3144+
"pulldown-cmark-escape 0.10.1",
3145+
"unicase",
3146+
]
3147+
3148+
[[package]]
3149+
name = "pulldown-cmark"
3150+
version = "0.11.0"
3151+
source = "registry+https://github.com/rust-lang/crates.io-index"
3152+
checksum = "8746739f11d39ce5ad5c2520a9b75285310dbfe78c541ccf832d38615765aec0"
3153+
dependencies = [
3154+
"bitflags 2.5.0",
3155+
"memchr",
3156+
"pulldown-cmark-escape 0.11.0",
31393157
"unicase",
31403158
]
31413159

@@ -3145,6 +3163,12 @@ version = "0.10.1"
31453163
source = "registry+https://github.com/rust-lang/crates.io-index"
31463164
checksum = "bd348ff538bc9caeda7ee8cad2d1d48236a1f443c1fa3913c6a02fe0043b1dd3"
31473165

3166+
[[package]]
3167+
name = "pulldown-cmark-escape"
3168+
version = "0.11.0"
3169+
source = "registry+https://github.com/rust-lang/crates.io-index"
3170+
checksum = "007d8adb5ddab6f8e3f491ac63566a7d5002cc7ed73901f72057943fa71ae1ae"
3171+
31483172
[[package]]
31493173
name = "pulldown-cmark-to-cmark"
31503174
version = "13.0.0"
@@ -3394,6 +3418,8 @@ dependencies = [
33943418
name = "run_make_support"
33953419
version = "0.2.0"
33963420
dependencies = [
3421+
"ar",
3422+
"bstr",
33973423
"gimli 0.28.1",
33983424
"object 0.34.0",
33993425
"regex",
@@ -3453,6 +3479,13 @@ dependencies = [
34533479
"stable_mir",
34543480
]
34553481

3482+
[[package]]
3483+
name = "rustc-perf-wrapper"
3484+
version = "0.1.0"
3485+
dependencies = [
3486+
"clap",
3487+
]
3488+
34563489
[[package]]
34573490
name = "rustc-rayon"
34583491
version = "0.5.0"
@@ -3481,6 +3514,12 @@ version = "1.1.0"
34813514
source = "registry+https://github.com/rust-lang/crates.io-index"
34823515
checksum = "5be1bdc7edf596692617627bbfeaba522131b18e06ca4df2b6b689e3c5d5ce84"
34833516

3517+
[[package]]
3518+
name = "rustc-stable-hash"
3519+
version = "0.1.0"
3520+
source = "registry+https://github.com/rust-lang/crates.io-index"
3521+
checksum = "e5c9f15eec8235d7cb775ee6f81891db79b98fd54ba1ad8fae565b88ef1ae4e2"
3522+
34843523
[[package]]
34853524
name = "rustc-std-workspace-alloc"
34863525
version = "1.99.0"
@@ -3819,6 +3858,7 @@ dependencies = [
38193858
"portable-atomic",
38203859
"rustc-hash",
38213860
"rustc-rayon",
3861+
"rustc-stable-hash",
38223862
"rustc_arena",
38233863
"rustc_graphviz",
38243864
"rustc_index",
@@ -4135,8 +4175,10 @@ dependencies = [
41354175
"rustc_index",
41364176
"rustc_macros",
41374177
"rustc_middle",
4178+
"rustc_next_trait_solver",
41384179
"rustc_span",
41394180
"rustc_target",
4181+
"rustc_type_ir",
41404182
"smallvec",
41414183
"tracing",
41424184
]
@@ -4589,7 +4631,7 @@ name = "rustc_resolve"
45894631
version = "0.0.0"
45904632
dependencies = [
45914633
"bitflags 2.5.0",
4592-
"pulldown-cmark 0.9.6",
4634+
"pulldown-cmark 0.11.0",
45934635
"rustc_arena",
45944636
"rustc_ast",
45954637
"rustc_ast_pretty",
@@ -4668,6 +4710,8 @@ name = "rustc_smir"
46684710
version = "0.0.0"
46694711
dependencies = [
46704712
"rustc_abi",
4713+
"rustc_ast",
4714+
"rustc_ast_pretty",
46714715
"rustc_data_structures",
46724716
"rustc_hir",
46734717
"rustc_middle",
@@ -4743,8 +4787,6 @@ checksum = "8ba09476327c4b70ccefb6180f046ef588c26a24cf5d269a9feba316eb4f029f"
47434787
name = "rustc_trait_selection"
47444788
version = "0.0.0"
47454789
dependencies = [
4746-
"bitflags 2.5.0",
4747-
"derivative",
47484790
"itertools",
47494791
"rustc_ast",
47504792
"rustc_ast_ir",
@@ -4753,7 +4795,6 @@ dependencies = [
47534795
"rustc_errors",
47544796
"rustc_fluent_macro",
47554797
"rustc_hir",
4756-
"rustc_index",
47574798
"rustc_infer",
47584799
"rustc_macros",
47594800
"rustc_middle",
@@ -4766,7 +4807,6 @@ dependencies = [
47664807
"rustc_target",
47674808
"rustc_transmute",
47684809
"rustc_type_ir",
4769-
"rustc_type_ir_macros",
47704810
"smallvec",
47714811
"tracing",
47724812
]
@@ -4870,6 +4910,7 @@ dependencies = [
48704910
"indexmap",
48714911
"itertools",
48724912
"minifier",
4913+
"pulldown-cmark 0.9.6",
48734914
"regex",
48744915
"rustdoc-json-types",
48754916
"serde",
@@ -5627,6 +5668,7 @@ dependencies = [
56275668
"regex",
56285669
"rustc-hash",
56295670
"semver",
5671+
"similar",
56305672
"termcolor",
56315673
"walkdir",
56325674
]
@@ -6323,9 +6365,9 @@ dependencies = [
63236365

63246366
[[package]]
63256367
name = "windows-bindgen"
6326-
version = "0.57.0"
6368+
version = "0.58.0"
63276369
source = "registry+https://github.com/rust-lang/crates.io-index"
6328-
checksum = "1ccb96113d6277ba543c0f77e1c5494af8094bf9daf9b85acdc3f1b620e7c7b4"
6370+
checksum = "91cd28d93c692351f3a6e5615567c56756e330bee1c99c6bdd57bfc5ab15f589"
63296371
dependencies = [
63306372
"proc-macro2",
63316373
"rayon",
@@ -6346,9 +6388,9 @@ dependencies = [
63466388

63476389
[[package]]
63486390
name = "windows-metadata"
6349-
version = "0.57.0"
6391+
version = "0.58.0"
63506392
source = "registry+https://github.com/rust-lang/crates.io-index"
6351-
checksum = "8308d076825b9d9e5abc64f8113e96d02b2aeeba869b20fdd65c7e70cda13dfc"
6393+
checksum = "2e837f3c3012cfe9e7086302a93f441a7999439be1ad4c530d55d2f6d2921809"
63526394

63536395
[[package]]
63546396
name = "windows-sys"

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ members = [
4444
"src/tools/rustdoc-gui-test",
4545
"src/tools/opt-dist",
4646
"src/tools/coverage-dump",
47+
"src/tools/rustc-perf-wrapper",
4748
]
4849

4950
exclude = [

INSTALL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ If building LLVM from source, you'll need additional tools:
4848
[LLVM's documentation](https://llvm.org/docs/GettingStarted.html#host-c-toolchain-both-compiler-and-standard-library)
4949
* `ninja`, or GNU `make` 3.81 or later (Ninja is recommended, especially on
5050
Windows)
51-
* `cmake` 3.13.4 or later
51+
* `cmake` version listed on [LLVM's documentation](https://llvm.org/docs/GettingStarted.html#software)
5252
* `libstdc++-static` may be required on some Linux distributions such as Fedora
5353
and Ubuntu
5454

compiler/rustc_abi/src/layout.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ pub trait LayoutCalculator {
186186
let (present_first, present_second) = {
187187
let mut present_variants = variants
188188
.iter_enumerated()
189-
.filter_map(|(i, v)| if absent(v) { None } else { Some(i) });
189+
.filter_map(|(i, v)| if !repr.c() && absent(v) { None } else { Some(i) });
190190
(present_variants.next(), present_variants.next())
191191
};
192192
let present_first = match present_first {
@@ -621,7 +621,7 @@ where
621621
let discr_type = repr.discr_type();
622622
let bits = Integer::from_attr(dl, discr_type).size().bits();
623623
for (i, mut val) in discriminants {
624-
if variants[i].iter().any(|f| f.abi.is_uninhabited()) {
624+
if !repr.c() && variants[i].iter().any(|f| f.abi.is_uninhabited()) {
625625
continue;
626626
}
627627
if discr_type.is_signed() {

compiler/rustc_abi/src/lib.rs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -427,11 +427,13 @@ pub struct Size {
427427
raw: u64,
428428
}
429429

430-
// Safety: Ord is implement as just comparing numerical values and numerical values
431-
// are not changed by (de-)serialization.
432430
#[cfg(feature = "nightly")]
433-
unsafe impl StableOrd for Size {
431+
impl StableOrd for Size {
434432
const CAN_USE_UNSTABLE_SORT: bool = true;
433+
434+
// `Ord` is implemented as just comparing numerical values and numerical values
435+
// are not changed by (de-)serialization.
436+
const THIS_IMPLEMENTATION_HAS_BEEN_TRIPLE_CHECKED: () = ();
435437
}
436438

437439
// This is debug-printed a lot in larger structs, don't waste too much space there
@@ -1427,7 +1429,7 @@ pub enum Variants<FieldIdx: Idx, VariantIdx: Idx> {
14271429
/// Single enum variants, structs/tuples, unions, and all non-ADTs.
14281430
Single { index: VariantIdx },
14291431

1430-
/// Enum-likes with more than one inhabited variant: each variant comes with
1432+
/// Enum-likes with more than one variant: each variant comes with
14311433
/// a *discriminant* (usually the same as the variant index but the user can
14321434
/// assign explicit discriminant values). That discriminant is encoded
14331435
/// as a *tag* on the machine. The layout of each variant is

0 commit comments

Comments
 (0)