Skip to content

Commit d833867

Browse files
committed
Auto merge of #127148 - matthiaskrgr:rollup-1vumc1z, r=matthiaskrgr
Rollup of 6 pull requests Successful merges: - #126705 (Updated docs on `#[panic_handler]` in `library/core/src/lib.rs`) - #126876 (Add `.ignore` file to make `config.toml` searchable in vscode) - #126906 (Small fixme in core now that split_first has no codegen issues) - #127127 (rustdoc: update to pulldown-cmark 0.11) - #127131 (Remove unused `rustc_trait_selection` dependencies) - #127134 (Print `TypeId` as a `u128` for `Debug`) r? `@ghost` `@rustbot` modify labels: rollup
2 parents 716752e + 5d7da40 commit d833867

File tree

22 files changed

+402
-112
lines changed

22 files changed

+402
-112
lines changed

.ignore

+2
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

+1
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ Files: compiler/*
3636
.gitignore
3737
.gitmodules
3838
.mailmap
39+
.ignore
3940
Copyright: The Rust Project Developers (see https://thanks.rust-lang.org)
4041
License: MIT or Apache-2.0
4142

Cargo.lock

+21-6
Original file line numberDiff line numberDiff line change
@@ -3141,7 +3141,19 @@ dependencies = [
31413141
"bitflags 2.5.0",
31423142
"getopts",
31433143
"memchr",
3144-
"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",
31453157
"unicase",
31463158
]
31473159

@@ -3151,6 +3163,12 @@ version = "0.10.1"
31513163
source = "registry+https://github.com./rust-lang/crates.io-index"
31523164
checksum = "bd348ff538bc9caeda7ee8cad2d1d48236a1f443c1fa3913c6a02fe0043b1dd3"
31533165

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+
31543172
[[package]]
31553173
name = "pulldown-cmark-to-cmark"
31563174
version = "13.0.0"
@@ -4604,7 +4622,7 @@ name = "rustc_resolve"
46044622
version = "0.0.0"
46054623
dependencies = [
46064624
"bitflags 2.5.0",
4607-
"pulldown-cmark 0.9.6",
4625+
"pulldown-cmark 0.11.0",
46084626
"rustc_arena",
46094627
"rustc_ast",
46104628
"rustc_ast_pretty",
@@ -4760,8 +4778,6 @@ checksum = "8ba09476327c4b70ccefb6180f046ef588c26a24cf5d269a9feba316eb4f029f"
47604778
name = "rustc_trait_selection"
47614779
version = "0.0.0"
47624780
dependencies = [
4763-
"bitflags 2.5.0",
4764-
"derivative",
47654781
"itertools",
47664782
"rustc_ast",
47674783
"rustc_ast_ir",
@@ -4770,7 +4786,6 @@ dependencies = [
47704786
"rustc_errors",
47714787
"rustc_fluent_macro",
47724788
"rustc_hir",
4773-
"rustc_index",
47744789
"rustc_infer",
47754790
"rustc_macros",
47764791
"rustc_middle",
@@ -4783,7 +4798,6 @@ dependencies = [
47834798
"rustc_target",
47844799
"rustc_transmute",
47854800
"rustc_type_ir",
4786-
"rustc_type_ir_macros",
47874801
"smallvec",
47884802
"tracing",
47894803
]
@@ -4887,6 +4901,7 @@ dependencies = [
48874901
"indexmap",
48884902
"itertools",
48894903
"minifier",
4904+
"pulldown-cmark 0.9.6",
48904905
"regex",
48914906
"rustdoc-json-types",
48924907
"serde",

compiler/rustc_resolve/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ edition = "2021"
66
[dependencies]
77
# tidy-alphabetical-start
88
bitflags = "2.4.1"
9-
pulldown-cmark = { version = "0.9.6", default-features = false }
9+
pulldown-cmark = { version = "0.11", features = ["html"], default-features = false }
1010
rustc_arena = { path = "../rustc_arena" }
1111
rustc_ast = { path = "../rustc_ast" }
1212
rustc_ast_pretty = { path = "../rustc_ast_pretty" }

compiler/rustc_resolve/src/rustdoc.rs

+9-5
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
use pulldown_cmark::{BrokenLink, CowStr, Event, LinkType, Options, Parser, Tag};
1+
use pulldown_cmark::{
2+
BrokenLink, BrokenLinkCallback, CowStr, Event, LinkType, Options, Parser, Tag,
3+
};
24
use rustc_ast as ast;
35
use rustc_ast::util::comments::beautify_doc_string;
46
use rustc_data_structures::fx::FxHashMap;
@@ -427,7 +429,9 @@ fn parse_links<'md>(doc: &'md str) -> Vec<Box<str>> {
427429

428430
while let Some(event) = event_iter.next() {
429431
match event {
430-
Event::Start(Tag::Link(link_type, dest, _)) if may_be_doc_link(link_type) => {
432+
Event::Start(Tag::Link { link_type, dest_url, title: _, id: _ })
433+
if may_be_doc_link(link_type) =>
434+
{
431435
if matches!(
432436
link_type,
433437
LinkType::Inline
@@ -441,7 +445,7 @@ fn parse_links<'md>(doc: &'md str) -> Vec<Box<str>> {
441445
}
442446
}
443447

444-
links.push(preprocess_link(&dest));
448+
links.push(preprocess_link(&dest_url));
445449
}
446450
_ => {}
447451
}
@@ -451,8 +455,8 @@ fn parse_links<'md>(doc: &'md str) -> Vec<Box<str>> {
451455
}
452456

453457
/// Collects additional data of link.
454-
fn collect_link_data<'input, 'callback>(
455-
event_iter: &mut Parser<'input, 'callback>,
458+
fn collect_link_data<'input, F: BrokenLinkCallback<'input>>(
459+
event_iter: &mut Parser<'input, F>,
456460
) -> Option<Box<str>> {
457461
let mut display_text: Option<String> = None;
458462
let mut append_text = |text: CowStr<'_>| {

compiler/rustc_trait_selection/Cargo.toml

-4
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@ edition = "2021"
55

66
[dependencies]
77
# tidy-alphabetical-start
8-
bitflags = "2.4.1"
9-
derivative = "2.2.0"
108
itertools = "0.12"
119
rustc_ast = { path = "../rustc_ast" }
1210
rustc_ast_ir = { path = "../rustc_ast_ir" }
@@ -15,7 +13,6 @@ rustc_data_structures = { path = "../rustc_data_structures" }
1513
rustc_errors = { path = "../rustc_errors" }
1614
rustc_fluent_macro = { path = "../rustc_fluent_macro" }
1715
rustc_hir = { path = "../rustc_hir" }
18-
rustc_index = { path = "../rustc_index" }
1916
rustc_infer = { path = "../rustc_infer" }
2017
rustc_macros = { path = "../rustc_macros" }
2118
rustc_middle = { path = "../rustc_middle" }
@@ -28,7 +25,6 @@ rustc_span = { path = "../rustc_span" }
2825
rustc_target = { path = "../rustc_target" }
2926
rustc_transmute = { path = "../rustc_transmute", features = ["rustc"] }
3027
rustc_type_ir = { path = "../rustc_type_ir" }
31-
rustc_type_ir_macros = { path = "../rustc_type_ir_macros" }
3228
smallvec = { version = "1.8.1", features = ["union", "may_dangle"] }
3329
tracing = "0.1"
3430
# tidy-alphabetical-end

library/core/src/any.rs

+12-1
Original file line numberDiff line numberDiff line change
@@ -602,7 +602,7 @@ impl dyn Any + Send + Sync {
602602
/// While `TypeId` implements `Hash`, `PartialOrd`, and `Ord`, it is worth
603603
/// noting that the hashes and ordering will vary between Rust releases. Beware
604604
/// of relying on them inside of your code!
605-
#[derive(Clone, Copy, Debug, Eq, PartialOrd, Ord)]
605+
#[derive(Clone, Copy, Eq, PartialOrd, Ord)]
606606
#[stable(feature = "rust1", since = "1.0.0")]
607607
pub struct TypeId {
608608
// We avoid using `u128` because that imposes higher alignment requirements on many platforms.
@@ -644,6 +644,10 @@ impl TypeId {
644644
let t2 = t as u64;
645645
TypeId { t: (t1, t2) }
646646
}
647+
648+
fn as_u128(self) -> u128 {
649+
u128::from(self.t.0) << 64 | u128::from(self.t.1)
650+
}
647651
}
648652

649653
#[stable(feature = "rust1", since = "1.0.0")]
@@ -666,6 +670,13 @@ impl hash::Hash for TypeId {
666670
}
667671
}
668672

673+
#[stable(feature = "rust1", since = "1.0.0")]
674+
impl fmt::Debug for TypeId {
675+
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> Result<(), fmt::Error> {
676+
f.debug_tuple("TypeId").field(&self.as_u128()).finish()
677+
}
678+
}
679+
669680
/// Returns the name of a type as a string slice.
670681
///
671682
/// # Note

library/core/src/lib.rs

+2-5
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,9 @@
3434
//! Rust user code is to call the functions provided by this library instead (such as
3535
//! `ptr::copy`).
3636
//!
37-
//! * `rust_begin_panic` - This function takes four arguments, a
38-
//! `fmt::Arguments`, a `&'static str`, and two `u32`'s. These four arguments
39-
//! dictate the panic message, the file at which panic was invoked, and the
40-
//! line and column inside the file. It is up to consumers of this core
37+
//! * Panic handler - This function takes one argument, a `&panic::PanicInfo`. It is up to consumers of this core
4138
//! library to define this panic function; it is only required to never
42-
//! return. This requires a `lang` attribute named `panic_impl`.
39+
//! return. You should mark your implementation using `#[panic_handler]`.
4340
//!
4441
//! * `rust_eh_personality` - is used by the failure mechanisms of the
4542
//! compiler. This is often mapped to GCC's personality function, but crates

library/core/src/num/dec2flt/common.rs

+1-3
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,7 @@ impl ByteSlice for [u8] {
3939
fn parse_digits(&self, mut func: impl FnMut(u8)) -> &Self {
4040
let mut s = self;
4141

42-
// FIXME: Can't use s.split_first() here yet,
43-
// see https://github.com./rust-lang/rust/issues/109328
44-
while let [c, s_next @ ..] = s {
42+
while let Some((c, s_next)) = s.split_first() {
4543
let c = c.wrapping_sub(b'0');
4644
if c < 10 {
4745
func(c);

library/core/src/num/dec2flt/parse.rs

+1-3
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,7 @@ fn try_parse_19digits(s_ref: &mut &[u8], x: &mut u64) {
5151
let mut s = *s_ref;
5252

5353
while *x < MIN_19DIGIT_INT {
54-
// FIXME: Can't use s.split_first() here yet,
55-
// see https://github.com./rust-lang/rust/issues/109328
56-
if let [c, s_next @ ..] = s {
54+
if let Some((c, s_next)) = s.split_first() {
5755
let digit = c.wrapping_sub(b'0');
5856

5957
if digit < 10 {

src/librustdoc/Cargo.toml

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ base64 = "0.21.7"
1313
itertools = "0.12"
1414
indexmap = "2"
1515
minifier = "0.3.0"
16+
pulldown-cmark-old = { version = "0.9.6", package = "pulldown-cmark", default-features = false }
1617
regex = "1"
1718
rustdoc-json-types = { path = "../rustdoc-json-types" }
1819
serde_json = "1.0"

0 commit comments

Comments
 (0)