Skip to content

Commit a49e38e

Browse files
committed
Auto merge of #88265 - m-ou-se:rollup-soymv20, r=m-ou-se
Rollup of 6 pull requests Successful merges: - #87976 (Account for tabs when highlighting multiline code suggestions) - #88174 (Clarify some wording in Rust 2021 lint docs) - #88188 (Greatly improve limitation handling on parallel rustdoc GUI test run) - #88230 (Fix typos “a”→“an”) - #88232 (Add notes to macro-not-found diagnostics to point out how things with the same name were not a match.) - #88259 (Do not mark `-Z thir-unsafeck` as unsound anymore) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
2 parents 9583fd1 + e710132 commit a49e38e

File tree

162 files changed

+573
-281
lines changed

Some content is hidden

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

162 files changed

+573
-281
lines changed

compiler/rustc_ast/src/token.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -495,7 +495,7 @@ impl Token {
495495
self.lifetime().is_some()
496496
}
497497

498-
/// Returns `true` if the token is a identifier whose name is the given
498+
/// Returns `true` if the token is an identifier whose name is the given
499499
/// string slice.
500500
pub fn is_ident_named(&self, name: Symbol) -> bool {
501501
self.ident().map_or(false, |(ident, _)| ident.name == name)

compiler/rustc_ast_lowering/src/lib.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1265,7 +1265,7 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
12651265
ty,
12661266
);
12671267

1268-
// Construct a AnonConst where the expr is the "ty"'s path.
1268+
// Construct an AnonConst where the expr is the "ty"'s path.
12691269

12701270
let parent_def_id = self.current_hir_id_owner.0;
12711271
let node_id = self.resolver.next_node_id();
@@ -2690,7 +2690,7 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
26902690
}
26912691

26922692
/// Report an error on illegal use of `'_` or a `&T` with no explicit lifetime;
2693-
/// return a "error lifetime".
2693+
/// return an "error lifetime".
26942694
fn new_error_lifetime(&mut self, id: Option<NodeId>, span: Span) -> hir::Lifetime {
26952695
let (id, msg, label) = match id {
26962696
Some(id) => (id, "`'_` cannot be used here", "`'_` is a reserved lifetime name"),

compiler/rustc_builtin_macros/src/deriving/generic/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1700,7 +1700,7 @@ where
17001700
/// One or more fields: call the base case function on the first value (which depends on
17011701
/// `use_fold`), and use that as the base case. Then perform `cs_fold` on the remainder of the
17021702
/// fields.
1703-
/// When the `substructure` is a `EnumNonMatchingCollapsed`, the result of `enum_nonmatch_f`
1703+
/// When the `substructure` is an `EnumNonMatchingCollapsed`, the result of `enum_nonmatch_f`
17041704
/// is returned. Statics may not be folded over.
17051705
/// See `cs_op` in `partial_ord.rs` for a model example.
17061706
pub fn cs_fold1<F, B>(

compiler/rustc_codegen_llvm/src/builder.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -558,7 +558,7 @@ impl BuilderMethods<'a, 'tcx> for Builder<'a, 'll, 'tcx> {
558558

559559
fn range_metadata(&mut self, load: &'ll Value, range: Range<u128>) {
560560
if self.sess().target.arch == "amdgpu" {
561-
// amdgpu/LLVM does something weird and thinks a i64 value is
561+
// amdgpu/LLVM does something weird and thinks an i64 value is
562562
// split into a v2i32, halving the bitwidth LLVM expects,
563563
// tripping an assertion. So, for now, just disable this
564564
// optimization.

compiler/rustc_codegen_llvm/src/intrinsic.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -137,9 +137,9 @@ impl IntrinsicCallMethods<'tcx> for Builder<'a, 'll, 'tcx> {
137137
match scalar.value {
138138
Primitive::Int(..) => {
139139
if self.cx().size_of(ret_ty).bytes() < 4 {
140-
// `va_arg` should not be called on a integer type
140+
// `va_arg` should not be called on an integer type
141141
// less than 4 bytes in length. If it is, promote
142-
// the integer to a `i32` and truncate the result
142+
// the integer to an `i32` and truncate the result
143143
// back to the smaller type.
144144
let promoted_result = emit_va_arg(self, args[0], tcx.types.i32);
145145
self.trunc(promoted_result, llret_ty)
@@ -1031,7 +1031,7 @@ fn generic_simd_intrinsic(
10311031
// vector mask and returns an unsigned integer containing the most
10321032
// significant bit (MSB) of each lane.
10331033

1034-
// If the vector has less than 8 lanes, an u8 is returned with zeroed
1034+
// If the vector has less than 8 lanes, a u8 is returned with zeroed
10351035
// trailing bits.
10361036
let expected_int_bits = in_len.max(8);
10371037
match ret_ty.kind() {

compiler/rustc_codegen_ssa/src/mir/rvalue.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -901,7 +901,7 @@ fn cast_float_to_int<'a, 'tcx, Bx: BuilderMethods<'a, 'tcx>>(
901901
//
902902
// Performance note: Unordered comparison can be lowered to a "flipped"
903903
// comparison and a negation, and the negation can be merged into the
904-
// select. Therefore, it not necessarily any more expensive than a
904+
// select. Therefore, it not necessarily any more expensive than an
905905
// ordered ("normal") comparison. Whether these optimizations will be
906906
// performed is ultimately up to the backend, but at least x86 does
907907
// perform them.

compiler/rustc_data_structures/src/owning_ref/mod.rs

+24-24
Original file line numberDiff line numberDiff line change
@@ -321,7 +321,7 @@ pub unsafe trait IntoErasedSendSync<'a> {
321321
/////////////////////////////////////////////////////////////////////////////
322322

323323
impl<O, T: ?Sized> OwningRef<O, T> {
324-
/// Creates a new owning reference from a owner
324+
/// Creates a new owning reference from an owner
325325
/// initialized to the direct dereference of it.
326326
///
327327
/// # Example
@@ -368,7 +368,7 @@ impl<O, T: ?Sized> OwningRef<O, T> {
368368
/// fn main() {
369369
/// let owning_ref = OwningRef::new(Box::new([1, 2, 3, 4]));
370370
///
371-
/// // create a owning reference that points at the
371+
/// // create an owning reference that points at the
372372
/// // third element of the array.
373373
/// let owning_ref = owning_ref.map(|array| &array[2]);
374374
/// assert_eq!(*owning_ref, 3);
@@ -396,7 +396,7 @@ impl<O, T: ?Sized> OwningRef<O, T> {
396396
/// fn main() {
397397
/// let owning_ref = OwningRef::new(Box::new([1, 2, 3, 4]));
398398
///
399-
/// // create a owning reference that points at the
399+
/// // create an owning reference that points at the
400400
/// // third element of the array.
401401
/// let owning_ref = owning_ref.try_map(|array| {
402402
/// if array[2] == 3 { Ok(&array[2]) } else { Err(()) }
@@ -430,7 +430,7 @@ impl<O, T: ?Sized> OwningRef<O, T> {
430430
/// in an additional `Box<O>`.
431431
///
432432
/// This can be used to safely erase the owner of any `OwningRef<O, T>`
433-
/// to a `OwningRef<Box<Erased>, T>`.
433+
/// to an `OwningRef<Box<Erased>, T>`.
434434
pub fn map_owner_box(self) -> OwningRef<Box<O>, T> {
435435
OwningRef { reference: self.reference, owner: Box::new(self.owner) }
436436
}
@@ -511,7 +511,7 @@ impl<O, T: ?Sized> OwningRef<O, T> {
511511
}
512512

513513
impl<O, T: ?Sized> OwningRefMut<O, T> {
514-
/// Creates a new owning reference from a owner
514+
/// Creates a new owning reference from an owner
515515
/// initialized to the direct dereference of it.
516516
///
517517
/// # Example
@@ -558,7 +558,7 @@ impl<O, T: ?Sized> OwningRefMut<O, T> {
558558
/// fn main() {
559559
/// let owning_ref_mut = OwningRefMut::new(Box::new([1, 2, 3, 4]));
560560
///
561-
/// // create a owning reference that points at the
561+
/// // create an owning reference that points at the
562562
/// // third element of the array.
563563
/// let owning_ref = owning_ref_mut.map(|array| &array[2]);
564564
/// assert_eq!(*owning_ref, 3);
@@ -586,7 +586,7 @@ impl<O, T: ?Sized> OwningRefMut<O, T> {
586586
/// fn main() {
587587
/// let owning_ref_mut = OwningRefMut::new(Box::new([1, 2, 3, 4]));
588588
///
589-
/// // create a owning reference that points at the
589+
/// // create an owning reference that points at the
590590
/// // third element of the array.
591591
/// let owning_ref_mut = owning_ref_mut.map_mut(|array| &mut array[2]);
592592
/// assert_eq!(*owning_ref_mut, 3);
@@ -614,7 +614,7 @@ impl<O, T: ?Sized> OwningRefMut<O, T> {
614614
/// fn main() {
615615
/// let owning_ref_mut = OwningRefMut::new(Box::new([1, 2, 3, 4]));
616616
///
617-
/// // create a owning reference that points at the
617+
/// // create an owning reference that points at the
618618
/// // third element of the array.
619619
/// let owning_ref = owning_ref_mut.try_map(|array| {
620620
/// if array[2] == 3 { Ok(&array[2]) } else { Err(()) }
@@ -644,7 +644,7 @@ impl<O, T: ?Sized> OwningRefMut<O, T> {
644644
/// fn main() {
645645
/// let owning_ref_mut = OwningRefMut::new(Box::new([1, 2, 3, 4]));
646646
///
647-
/// // create a owning reference that points at the
647+
/// // create an owning reference that points at the
648648
/// // third element of the array.
649649
/// let owning_ref_mut = owning_ref_mut.try_map_mut(|array| {
650650
/// if array[2] == 3 { Ok(&mut array[2]) } else { Err(()) }
@@ -678,7 +678,7 @@ impl<O, T: ?Sized> OwningRefMut<O, T> {
678678
/// in an additional `Box<O>`.
679679
///
680680
/// This can be used to safely erase the owner of any `OwningRefMut<O, T>`
681-
/// to a `OwningRefMut<Box<Erased>, T>`.
681+
/// to an `OwningRefMut<Box<Erased>, T>`.
682682
pub fn map_owner_box(self) -> OwningRefMut<Box<O>, T> {
683683
OwningRefMut { reference: self.reference, owner: Box::new(self.owner) }
684684
}
@@ -970,7 +970,7 @@ where
970970
}
971971
}
972972

973-
// ^ FIXME: Is a Into impl for calling into_inner() possible as well?
973+
// ^ FIXME: Is an Into impl for calling into_inner() possible as well?
974974

975975
impl<O, T: ?Sized> Debug for OwningRef<O, T>
976976
where
@@ -1139,27 +1139,27 @@ impl<T: 'static> ToHandleMut for RefCell<T> {
11391139
// about which handle creation to use (i.e., read() vs try_read()) as well as
11401140
// what to do with error results.
11411141

1142-
/// Typedef of a owning reference that uses a `Box` as the owner.
1142+
/// Typedef of an owning reference that uses a `Box` as the owner.
11431143
pub type BoxRef<T, U = T> = OwningRef<Box<T>, U>;
1144-
/// Typedef of a owning reference that uses a `Vec` as the owner.
1144+
/// Typedef of an owning reference that uses a `Vec` as the owner.
11451145
pub type VecRef<T, U = T> = OwningRef<Vec<T>, U>;
1146-
/// Typedef of a owning reference that uses a `String` as the owner.
1146+
/// Typedef of an owning reference that uses a `String` as the owner.
11471147
pub type StringRef = OwningRef<String, str>;
11481148

1149-
/// Typedef of a owning reference that uses a `Rc` as the owner.
1149+
/// Typedef of an owning reference that uses a `Rc` as the owner.
11501150
pub type RcRef<T, U = T> = OwningRef<Rc<T>, U>;
1151-
/// Typedef of a owning reference that uses a `Arc` as the owner.
1151+
/// Typedef of an owning reference that uses an `Arc` as the owner.
11521152
pub type ArcRef<T, U = T> = OwningRef<Arc<T>, U>;
11531153

1154-
/// Typedef of a owning reference that uses a `Ref` as the owner.
1154+
/// Typedef of an owning reference that uses a `Ref` as the owner.
11551155
pub type RefRef<'a, T, U = T> = OwningRef<Ref<'a, T>, U>;
1156-
/// Typedef of a owning reference that uses a `RefMut` as the owner.
1156+
/// Typedef of an owning reference that uses a `RefMut` as the owner.
11571157
pub type RefMutRef<'a, T, U = T> = OwningRef<RefMut<'a, T>, U>;
1158-
/// Typedef of a owning reference that uses a `MutexGuard` as the owner.
1158+
/// Typedef of an owning reference that uses a `MutexGuard` as the owner.
11591159
pub type MutexGuardRef<'a, T, U = T> = OwningRef<MutexGuard<'a, T>, U>;
1160-
/// Typedef of a owning reference that uses a `RwLockReadGuard` as the owner.
1160+
/// Typedef of an owning reference that uses a `RwLockReadGuard` as the owner.
11611161
pub type RwLockReadGuardRef<'a, T, U = T> = OwningRef<RwLockReadGuard<'a, T>, U>;
1162-
/// Typedef of a owning reference that uses a `RwLockWriteGuard` as the owner.
1162+
/// Typedef of an owning reference that uses a `RwLockWriteGuard` as the owner.
11631163
pub type RwLockWriteGuardRef<'a, T, U = T> = OwningRef<RwLockWriteGuard<'a, T>, U>;
11641164

11651165
/// Typedef of a mutable owning reference that uses a `Box` as the owner.
@@ -1219,11 +1219,11 @@ unsafe impl<'a, T: Send + Sync + 'a> IntoErasedSendSync<'a> for Arc<T> {
12191219
}
12201220
}
12211221

1222-
/// Typedef of a owning reference that uses an erased `Box` as the owner.
1222+
/// Typedef of an owning reference that uses an erased `Box` as the owner.
12231223
pub type ErasedBoxRef<U> = OwningRef<Box<dyn Erased>, U>;
1224-
/// Typedef of a owning reference that uses an erased `Rc` as the owner.
1224+
/// Typedef of an owning reference that uses an erased `Rc` as the owner.
12251225
pub type ErasedRcRef<U> = OwningRef<Rc<dyn Erased>, U>;
1226-
/// Typedef of a owning reference that uses an erased `Arc` as the owner.
1226+
/// Typedef of an owning reference that uses an erased `Arc` as the owner.
12271227
pub type ErasedArcRef<U> = OwningRef<Arc<dyn Erased>, U>;
12281228

12291229
/// Typedef of a mutable owning reference that uses an erased `Box` as the owner.

compiler/rustc_data_structures/src/profiling.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,7 @@ impl SelfProfilerRef {
220220
VerboseTimingGuard::start(message, self.generic_activity(event_label))
221221
}
222222

223-
/// Start profiling a extra verbose generic activity. Profiling continues until the
223+
/// Start profiling an extra verbose generic activity. Profiling continues until the
224224
/// VerboseTimingGuard returned from this call is dropped. In addition to recording
225225
/// a measureme event, "extra verbose" generic activities also print a timing entry to
226226
/// stdout if the compiler is invoked with -Ztime-passes.

compiler/rustc_data_structures/src/sync.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
//!
1515
//! `MTRef` is an immutable reference if cfg!(parallel_compiler), and a mutable reference otherwise.
1616
//!
17-
//! `rustc_erase_owner!` erases a OwningRef owner into Erased or Erased + Send + Sync
17+
//! `rustc_erase_owner!` erases an OwningRef owner into Erased or Erased + Send + Sync
1818
//! depending on the value of cfg!(parallel_compiler).
1919
2020
use crate::owning_ref::{Erased, OwningRef};

compiler/rustc_data_structures/src/tiny_list.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
//!
66
//! - If you have a list that rarely stores more than one element, then this
77
//! data-structure can store the element without allocating and only uses as
8-
//! much space as a `Option<(T, usize)>`. If T can double as the `Option`
8+
//! much space as an `Option<(T, usize)>`. If T can double as the `Option`
99
//! discriminant, it will even only be as large as `T, usize`.
1010
//!
1111
//! If you expect to store more than 1 element in the common case, steer clear

compiler/rustc_errors/src/emitter.rs

+20-19
Original file line numberDiff line numberDiff line change
@@ -1623,7 +1623,7 @@ impl EmitterWriter {
16231623
let line_start = sm.lookup_char_pos(parts[0].span.lo()).line;
16241624
draw_col_separator_no_space(&mut buffer, 1, max_line_num_len + 1);
16251625
let mut lines = complete.lines();
1626-
for (line_pos, (line, parts)) in
1626+
for (line_pos, (line, highlight_parts)) in
16271627
lines.by_ref().zip(highlights).take(MAX_SUGGESTION_HIGHLIGHT_LINES).enumerate()
16281628
{
16291629
// Print the span column to avoid confusion
@@ -1658,7 +1658,7 @@ impl EmitterWriter {
16581658
);
16591659
buffer.puts(row_num, max_line_num_len + 1, "+ ", Style::Addition);
16601660
} else if is_multiline {
1661-
match &parts[..] {
1661+
match &highlight_parts[..] {
16621662
[SubstitutionHighlight { start: 0, end }] if *end == line.len() => {
16631663
buffer.puts(row_num, max_line_num_len + 1, "+ ", Style::Addition);
16641664
}
@@ -1676,16 +1676,24 @@ impl EmitterWriter {
16761676
// print the suggestion
16771677
buffer.append(row_num, &replace_tabs(line), Style::NoStyle);
16781678

1679-
if is_multiline {
1680-
for SubstitutionHighlight { start, end } in parts {
1681-
buffer.set_style_range(
1682-
row_num,
1683-
max_line_num_len + 3 + start,
1684-
max_line_num_len + 3 + end,
1685-
Style::Addition,
1686-
true,
1687-
);
1688-
}
1679+
// Colorize addition/replacements with green.
1680+
for &SubstitutionHighlight { start, end } in highlight_parts {
1681+
// Account for tabs when highlighting (#87972).
1682+
let tabs: usize = line
1683+
.chars()
1684+
.take(start)
1685+
.map(|ch| match ch {
1686+
'\t' => 3,
1687+
_ => 0,
1688+
})
1689+
.sum();
1690+
buffer.set_style_range(
1691+
row_num,
1692+
max_line_num_len + 3 + start + tabs,
1693+
max_line_num_len + 3 + end + tabs,
1694+
Style::Addition,
1695+
true,
1696+
);
16891697
}
16901698
row_num += 1;
16911699
}
@@ -1723,13 +1731,6 @@ impl EmitterWriter {
17231731
assert!(underline_start >= 0 && underline_end >= 0);
17241732
let padding: usize = max_line_num_len + 3;
17251733
for p in underline_start..underline_end {
1726-
// Colorize addition/replacements with green.
1727-
buffer.set_style(
1728-
row_num - 1,
1729-
(padding as isize + p) as usize,
1730-
Style::Addition,
1731-
true,
1732-
);
17331734
if !show_diff {
17341735
// If this is a replacement, underline with `^`, if this is an addition
17351736
// underline with `+`.

0 commit comments

Comments
 (0)