Skip to content

Commit 06e4497

Browse files
committed
Merge remote-tracking branch 'upstream/master' into box-alloc
2 parents 693a2bf + f392479 commit 06e4497

File tree

989 files changed

+13308
-12004
lines changed

Some content is hidden

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

989 files changed

+13308
-12004
lines changed

.mailmap

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ Ariel Ben-Yehuda <[email protected]> arielb1 <[email protected]>
2929
3030
Aydin Kim <[email protected]> aydin.kim <[email protected]>
3131
Barosl Lee <[email protected]> Barosl LEE <[email protected]>
32-
Bastian Kauschke <[email protected]>
3332
3433
3534
@@ -161,6 +160,7 @@ Kyle J Strand <[email protected]> <[email protected]>
161160
162161
163162
Laurențiu Nicola <[email protected]>
163+
164164
Lee Jeffery <[email protected]> Lee Jeffery <[email protected]>
165165
Lee Wondong <[email protected]>
166166
Lennart Kudling <[email protected]>

CONTRIBUTING.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22

33
Thank you for your interest in contributing to Rust!
44

5-
To get started, read the [Getting Started] guide in the [rustc-dev-guide].
5+
To get started, read the [Contributing to Rust] chapter of the [rustc-dev-guide].
66

77
## Bug reports
88

99
Did a compiler error message tell you to come here? If you want to create an ICE report,
1010
refer to [this section][contributing-bug-reports] and [open an issue][issue template].
1111

12-
[Getting Started]: https://rustc-dev-guide.rust-lang.org/getting-started.html
12+
[Contributing to Rust]: https://rustc-dev-guide.rust-lang.org/contributing.html#contributing-to-rust
1313
[rustc-dev-guide]: https://rustc-dev-guide.rust-lang.org/
1414
[contributing-bug-reports]: https://rustc-dev-guide.rust-lang.org/contributing.html#bug-reports
1515
[issue template]: https://github.com/rust-lang/rust/issues/new/choose

Cargo.lock

+77-20
Original file line numberDiff line numberDiff line change
@@ -310,7 +310,7 @@ dependencies = [
310310
"crypto-hash",
311311
"curl",
312312
"curl-sys",
313-
"env_logger 0.7.1",
313+
"env_logger 0.8.1",
314314
"filetime",
315315
"flate2",
316316
"fwdansi",
@@ -418,6 +418,17 @@ dependencies = [
418418
"serde_json",
419419
]
420420

421+
[[package]]
422+
name = "cargo_metadata"
423+
version = "0.12.0"
424+
source = "registry+https://github.com/rust-lang/crates.io-index"
425+
checksum = "d5a5f7b42f606b7f23674f6f4d877628350682bc40687d3fae65679a58d55345"
426+
dependencies = [
427+
"semver 0.11.0",
428+
"serde",
429+
"serde_json",
430+
]
431+
421432
[[package]]
422433
name = "cargotest2"
423434
version = "0.1.0"
@@ -530,15 +541,14 @@ dependencies = [
530541
name = "clippy"
531542
version = "0.0.212"
532543
dependencies = [
533-
"cargo_metadata 0.11.1",
544+
"cargo_metadata 0.12.0",
534545
"clippy-mini-macro-test",
535546
"clippy_lints",
536547
"compiletest_rs",
537548
"derive-new",
538-
"lazy_static",
539549
"rustc-workspace-hack",
540550
"rustc_tools_util 0.2.0",
541-
"semver 0.10.0",
551+
"semver 0.11.0",
542552
"serde",
543553
"tempfile",
544554
"tester",
@@ -552,14 +562,14 @@ version = "0.2.0"
552562
name = "clippy_lints"
553563
version = "0.0.212"
554564
dependencies = [
555-
"cargo_metadata 0.11.1",
565+
"cargo_metadata 0.12.0",
556566
"if_chain",
557567
"itertools 0.9.0",
558568
"pulldown-cmark 0.8.0",
559569
"quine-mc_cluskey",
560570
"quote",
561571
"regex-syntax",
562-
"semver 0.10.0",
572+
"semver 0.11.0",
563573
"serde",
564574
"smallvec 1.4.2",
565575
"syn",
@@ -626,9 +636,9 @@ dependencies = [
626636

627637
[[package]]
628638
name = "compiler_builtins"
629-
version = "0.1.35"
639+
version = "0.1.36"
630640
source = "registry+https://github.com/rust-lang/crates.io-index"
631-
checksum = "e3fcd8aba10d17504c87ef12d4f62ef404c6a4703d16682a9eb5543e6cf24455"
641+
checksum = "7cd0782e0a7da7598164153173e5a5d4d9b1da094473c98dce0ff91406112369"
632642
dependencies = [
633643
"cc",
634644
"rustc-std-workspace-core",
@@ -1035,6 +1045,19 @@ dependencies = [
10351045
"termcolor",
10361046
]
10371047

1048+
[[package]]
1049+
name = "env_logger"
1050+
version = "0.8.1"
1051+
source = "registry+https://github.com/rust-lang/crates.io-index"
1052+
checksum = "54532e3223c5af90a6a757c90b5c5521564b07e5e7a958681bcd2afad421cdcd"
1053+
dependencies = [
1054+
"atty",
1055+
"humantime 2.0.1",
1056+
"log",
1057+
"regex",
1058+
"termcolor",
1059+
]
1060+
10381061
[[package]]
10391062
name = "error_index_generator"
10401063
version = "0.0.0"
@@ -1353,9 +1376,9 @@ dependencies = [
13531376

13541377
[[package]]
13551378
name = "hermit-abi"
1356-
version = "0.1.15"
1379+
version = "0.1.17"
13571380
source = "registry+https://github.com/rust-lang/crates.io-index"
1358-
checksum = "3deed196b6e7f9e44a2ae8d94225d80302d81208b1bb673fd21fe634645c85a9"
1381+
checksum = "5aca5565f760fb5b220e499d72710ed156fdb74e631659e99377d9ebfbd13ae8"
13591382
dependencies = [
13601383
"compiler_builtins",
13611384
"libc",
@@ -1744,6 +1767,10 @@ dependencies = [
17441767
[[package]]
17451768
name = "linkchecker"
17461769
version = "0.1.0"
1770+
dependencies = [
1771+
"once_cell",
1772+
"regex",
1773+
]
17471774

17481775
[[package]]
17491776
name = "linked-hash-map"
@@ -1940,6 +1967,17 @@ dependencies = [
19401967
"rustc-hash",
19411968
]
19421969

1970+
[[package]]
1971+
name = "measureme"
1972+
version = "9.0.0"
1973+
source = "registry+https://github.com/rust-lang/crates.io-index"
1974+
checksum = "22bf8d885d073610aee20e7fa205c4341ed32a761dbde96da5fd96301a8d3e82"
1975+
dependencies = [
1976+
"parking_lot 0.11.0",
1977+
"rustc-hash",
1978+
"smallvec 1.4.2",
1979+
]
1980+
19431981
[[package]]
19441982
name = "memchr"
19451983
version = "2.3.3"
@@ -3072,7 +3110,7 @@ dependencies = [
30723110
"indexmap",
30733111
"jobserver",
30743112
"libc",
3075-
"measureme",
3113+
"measureme 0.7.1",
30763114
"parking_lot 0.11.0",
30773115
"rustc-ap-rustc_graphviz",
30783116
"rustc-ap-rustc_index",
@@ -3272,9 +3310,9 @@ dependencies = [
32723310

32733311
[[package]]
32743312
name = "rustc-demangle"
3275-
version = "0.1.16"
3313+
version = "0.1.18"
32763314
source = "registry+https://github.com/rust-lang/crates.io-index"
3277-
checksum = "4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783"
3315+
checksum = "6e3bad0ee36814ca07d7968269dd4b7ec89ec2da10c4bb613928d3077083c232"
32783316
dependencies = [
32793317
"compiler_builtins",
32803318
"rustc-std-workspace-core",
@@ -3474,7 +3512,7 @@ version = "0.0.0"
34743512
dependencies = [
34753513
"bitflags",
34763514
"libc",
3477-
"measureme",
3515+
"measureme 9.0.0",
34783516
"rustc-demangle",
34793517
"rustc_ast",
34803518
"rustc_attr",
@@ -3540,7 +3578,7 @@ dependencies = [
35403578
"indexmap",
35413579
"jobserver",
35423580
"libc",
3543-
"measureme",
3581+
"measureme 9.0.0",
35443582
"parking_lot 0.11.0",
35453583
"rustc-hash",
35463584
"rustc-rayon",
@@ -3845,7 +3883,7 @@ version = "0.0.0"
38453883
dependencies = [
38463884
"bitflags",
38473885
"chalk-ir",
3848-
"measureme",
3886+
"measureme 9.0.0",
38493887
"polonius-engine",
38503888
"rustc-rayon-core",
38513889
"rustc_apfloat",
@@ -4356,7 +4394,7 @@ version = "0.9.0"
43564394
source = "registry+https://github.com/rust-lang/crates.io-index"
43574395
checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
43584396
dependencies = [
4359-
"semver-parser",
4397+
"semver-parser 0.7.0",
43604398
"serde",
43614399
]
43624400

@@ -4366,7 +4404,17 @@ version = "0.10.0"
43664404
source = "registry+https://github.com/rust-lang/crates.io-index"
43674405
checksum = "394cec28fa623e00903caf7ba4fa6fb9a0e260280bb8cdbbba029611108a0190"
43684406
dependencies = [
4369-
"semver-parser",
4407+
"semver-parser 0.7.0",
4408+
"serde",
4409+
]
4410+
4411+
[[package]]
4412+
name = "semver"
4413+
version = "0.11.0"
4414+
source = "registry+https://github.com/rust-lang/crates.io-index"
4415+
checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6"
4416+
dependencies = [
4417+
"semver-parser 0.10.1",
43704418
"serde",
43714419
]
43724420

@@ -4376,6 +4424,15 @@ version = "0.7.0"
43764424
source = "registry+https://github.com/rust-lang/crates.io-index"
43774425
checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
43784426

4427+
[[package]]
4428+
name = "semver-parser"
4429+
version = "0.10.1"
4430+
source = "registry+https://github.com/rust-lang/crates.io-index"
4431+
checksum = "42ef146c2ad5e5f4b037cd6ce2ebb775401729b19a82040c1beac9d36c7d1428"
4432+
dependencies = [
4433+
"pest",
4434+
]
4435+
43794436
[[package]]
43804437
name = "serde"
43814438
version = "1.0.115"
@@ -4407,9 +4464,9 @@ dependencies = [
44074464

44084465
[[package]]
44094466
name = "serde_json"
4410-
version = "1.0.57"
4467+
version = "1.0.59"
44114468
source = "registry+https://github.com/rust-lang/crates.io-index"
4412-
checksum = "164eacbdb13512ec2745fb09d51fd5b22b0d65ed294a1dcf7285a360c80a675c"
4469+
checksum = "dcac07dbffa1c65e7f816ab9eba78eb142c6d44410f4eeba1e26e4f5dfa56b95"
44134470
dependencies = [
44144471
"itoa",
44154472
"ryu",

README.md

+1-2
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@ standard library, and documentation.
99

1010
**Note: this README is for _users_ rather than _contributors_.
1111
If you wish to _contribute_ to the compiler, you should read the
12-
[Getting Started][gettingstarted] of the rustc-dev-guide instead of this
13-
section.**
12+
[Getting Started][gettingstarted] section of the rustc-dev-guide instead.**
1413

1514
## Quick Start
1615

compiler/rustc_arena/src/lib.rs

+10-10
Original file line numberDiff line numberDiff line change
@@ -217,16 +217,18 @@ impl<T> TypedArena<T> {
217217
let mut chunks = self.chunks.borrow_mut();
218218
let mut new_cap;
219219
if let Some(last_chunk) = chunks.last_mut() {
220-
let used_bytes = self.ptr.get() as usize - last_chunk.start() as usize;
221-
last_chunk.entries = used_bytes / mem::size_of::<T>();
220+
// If a type is `!needs_drop`, we don't need to keep track of how many elements
221+
// the chunk stores - the field will be ignored anyway.
222+
if mem::needs_drop::<T>() {
223+
let used_bytes = self.ptr.get() as usize - last_chunk.start() as usize;
224+
last_chunk.entries = used_bytes / mem::size_of::<T>();
225+
}
222226

223227
// If the previous chunk's len is less than HUGE_PAGE
224228
// bytes, then this chunk will be least double the previous
225229
// chunk's size.
226-
new_cap = last_chunk.storage.len();
227-
if new_cap < HUGE_PAGE / elem_size {
228-
new_cap = new_cap.checked_mul(2).unwrap();
229-
}
230+
new_cap = last_chunk.storage.len().min(HUGE_PAGE / elem_size / 2);
231+
new_cap = new_cap * 2;
230232
} else {
231233
new_cap = PAGE / elem_size;
232234
}
@@ -343,10 +345,8 @@ impl DroplessArena {
343345
// If the previous chunk's len is less than HUGE_PAGE
344346
// bytes, then this chunk will be least double the previous
345347
// chunk's size.
346-
new_cap = last_chunk.storage.len();
347-
if new_cap < HUGE_PAGE {
348-
new_cap = new_cap.checked_mul(2).unwrap();
349-
}
348+
new_cap = last_chunk.storage.len().min(HUGE_PAGE / 2);
349+
new_cap = new_cap * 2;
350350
} else {
351351
new_cap = PAGE;
352352
}

0 commit comments

Comments
 (0)