Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
7672b83
Upgrade and deduplicate dependencies
cuviper Aug 4, 2026
c234ba3
Update run-make/wasm tests
cuviper Aug 9, 2026
377ef9f
Build newer binutils before building gcc
GuillaumeGomez Aug 12, 2026
46eb4fd
clippy::needless_borrow
ChrisDenton Aug 12, 2026
ddd8fa0
clippy::op_ref
ChrisDenton Aug 12, 2026
fafcb2b
clippy::borrow_deref_ref
ChrisDenton Aug 13, 2026
d9d6acf
clippy::explicit_auto_deref
ChrisDenton Aug 13, 2026
5653e8f
Library: enforce clippy deref lints in CI
ChrisDenton Aug 13, 2026
7f74e59
Ignore clippy lint in backtrace submodule
ChrisDenton Aug 13, 2026
b20f425
port stdarch-gen checks into bootstrap
xonx4l May 17, 2026
34cf67c
use helpers::git
xonx4l May 18, 2026
55e715d
fix: set CARGO_TARGET_DIR for read-only CI
xonx4l May 18, 2026
22e2b15
fix: redirect generator output to a writable dir
xonx4l May 26, 2026
7bbe5d6
Add regression test for static lifetime of borrowed array of Drop typ…
zakrad Aug 12, 2026
748a319
Add extra checks to ensure GCC and binutils have needed support for t…
GuillaumeGomez Aug 13, 2026
487e0e0
Display generated asm in case it failed
GuillaumeGomez Aug 13, 2026
59674c1
check stdarch-gen output via stdarch-gen-common
xonx4l Aug 13, 2026
4c097cf
Use `--prefix` to generate binaries in the right location
GuillaumeGomez Aug 13, 2026
3c395a9
Add regression test for path printing with infinitely many visible names
zakrad Aug 13, 2026
88cfd22
Use `--with-as` and `--with-ld` options for `gcc` configure
GuillaumeGomez Aug 13, 2026
bcc35a8
More settings targetting binutils
GuillaumeGomez Aug 14, 2026
5b93f54
Add regression test for unstable def_ident_span fingerprint with incr…
zakrad Aug 14, 2026
9291af1
add requested changes
xonx4l Aug 14, 2026
8e2b1c4
pin stage0 rustc
xonx4l Aug 14, 2026
6cab463
fix tidy
xonx4l Aug 14, 2026
80cc60a
Correctly test the custom GCC built in CI
GuillaumeGomez Aug 14, 2026
942fe31
Fix tidy error
GuillaumeGomez Aug 14, 2026
f08d8c4
pass explicit output dir
xonx4l Aug 15, 2026
581ac1c
Add documentation for BPF targets
vadorovsky Aug 15, 2026
0958d0c
Switch to c8a EC2 runner for auto merges
Mark-Simulacrum Aug 15, 2026
d061443
Update `browser-ui-test` version to `0.25.1`
GuillaumeGomez Aug 15, 2026
3183856
Fix typo in search.js
GuillaumeGomez Aug 15, 2026
7748068
Add back flaky rustdoc-gui test with some small tweaks
GuillaumeGomez Aug 15, 2026
f955803
Move `LLVM_TOOLS` and `LLD_FILE_NAMES` into `build_steps::dist`
Zalathar Aug 16, 2026
73960bf
Move `EXTRA_CHECK_CFGS` into `crate::core::builder::cargo`
Zalathar Aug 16, 2026
43620bc
Describe Linux kernel version reqirements
vadorovsky Aug 16, 2026
7e27076
Mention the plan of using GNU flabor of linker
vadorovsky Aug 16, 2026
3da3659
Fix the link to the BPF ABI convention
vadorovsky Aug 16, 2026
ea31c35
Remove the "no-op" word from panic handler description
vadorovsky Aug 16, 2026
5e54aa2
Pin all kernel links to the v6.13
vadorovsky Aug 16, 2026
7322485
add crashtests
cyrgani Aug 15, 2026
9612357
Move `Compiler` to its own module `crate::core::compiler`
Zalathar Aug 16, 2026
38c260e
Move `CodegenBackendKind` to its own module `crate::core::backend`
Zalathar Aug 16, 2026
9ff48b2
Move `TestTarget` into `build_steps::test`
Zalathar Aug 16, 2026
57033a0
Move `Crate` into `crate::core::metadata`
Zalathar Aug 16, 2026
af768f6
Move `envify` into `crate::utils::helpers` and add a test
Zalathar Aug 16, 2026
d5a8464
Move/rename/adjust `prepare_behaviour_dump_dir`
Zalathar Aug 16, 2026
d7bd2df
Add code comment explaining why we need this binutils version
GuillaumeGomez Aug 16, 2026
b2e0185
add comment
xonx4l Aug 16, 2026
1bc07e7
Rollup merge of #160529 - cuviper:deps, r=Mark-Simulacrum
GuillaumeGomez Aug 16, 2026
41606b1
Rollup merge of #161017 - ChrisDenton:clippy2, r=nia-e
GuillaumeGomez Aug 16, 2026
1686ff6
Rollup merge of #156674 - xonx4l:port-stdarch-gen, r=Kobzol
GuillaumeGomez Aug 16, 2026
7b68c1d
Rollup merge of #161006 - GuillaumeGomez:gcc-binutils, r=Kobzol
GuillaumeGomez Aug 16, 2026
28a649c
Rollup merge of #161141 - vadorovsky:vad/docs-platform-bpf, r=nagisa,…
GuillaumeGomez Aug 16, 2026
6f557f6
Rollup merge of #161157 - Zalathar:bootstrap-root, r=Kobzol
GuillaumeGomez Aug 16, 2026
3d97d24
Rollup merge of #161053 - zakrad:regr-test-86672, r=mejrs
GuillaumeGomez Aug 16, 2026
df85fee
Rollup merge of #161073 - zakrad:regr-test-57500, r=mejrs
GuillaumeGomez Aug 16, 2026
9422276
Rollup merge of #161099 - zakrad:regr-test-95945, r=folkertdev
GuillaumeGomez Aug 16, 2026
7cc5be6
Rollup merge of #161146 - Mark-Simulacrum:ec2-auto, r=Kobzol
GuillaumeGomez Aug 16, 2026
ea614f6
Rollup merge of #161148 - GuillaumeGomez:put-back-gui-test, r=Urgau
GuillaumeGomez Aug 16, 2026
50a5135
Rollup merge of #161150 - cyrgani:tests-4, r=folkertdev
GuillaumeGomez Aug 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
297 changes: 47 additions & 250 deletions Cargo.lock

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions compiler/rustc_codegen_gcc/Cargo.lock
Original file line number Diff line number Diff line change
Expand Up @@ -145,9 +145,9 @@ dependencies = [

[[package]]
name = "object"
version = "0.37.1"
version = "0.39.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "03fd943161069e1768b4b3d050890ba48730e590f57e56d4aa04e7e090e61b4a"
checksum = "2e5a6c098c7a3b6547378093f5cc30bc54fd361ce711e05293a5cc589562739b"
dependencies = [
"memchr",
]
Expand Down
2 changes: 1 addition & 1 deletion compiler/rustc_codegen_gcc/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ master = ["gccjit/master"]
default = ["master"]

[dependencies]
object = { version = "0.37.0", default-features = false, features = ["std", "read"] }
object = { version = "0.39.0", default-features = false, features = ["std", "read"] }
tempfile = "3.20"
gccjit = { version = "3.3.0", features = ["dlopen"] }
#gccjit = { git = "https://github.com/rust-lang/gccjit.rs", branch = "error-dlopen", features = ["dlopen"] }
Expand Down
4 changes: 2 additions & 2 deletions compiler/rustc_codegen_llvm/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,12 @@ test = false
bitflags = "2.4.1"
# To avoid duplicate dependencies, this should match the version of gimli used
# by `rustc_codegen_ssa` via its `thorin-dwp` dependency.
gimli = "0.33"
gimli = "0.34"
itertools = "0.15"
libc = "0.2"
libloading = { version = "0.9.0" }
measureme = "12.0.1"
object = { version = "0.38.1", default-features = false, features = ["std", "read"] }
object = { version = "0.39.1", default-features = false, features = ["std", "read"] }
rustc-demangle = "0.1.28"
rustc_abi = { path = "../rustc_abi" }
rustc_ast = { path = "../rustc_ast" }
Expand Down
6 changes: 3 additions & 3 deletions compiler/rustc_codegen_ssa/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,9 @@ rustc_trait_selection = { path = "../rustc_trait_selection" }
serde_json = "1.0.59"
smallvec = { version = "1.8.1", features = ["union", "may_dangle"] }
tempfile = "3.2"
thorin-dwp = "0.10"
thorin-dwp = "0.11"
tracing = "0.1"
wasm-encoder = "0.219"
wasm-encoder = "0.247"
# tidy-alphabetical-end

[target.'cfg(unix)'.dependencies]
Expand All @@ -49,7 +49,7 @@ libc = "0.2.50"
# tidy-alphabetical-end

[dependencies.object]
version = "0.38.1"
version = "0.39.1"
default-features = false
features = ["read_core", "elf", "macho", "pe", "xcoff", "unaligned", "archive", "write", "wasm"]

Expand Down
6 changes: 3 additions & 3 deletions compiler/rustc_codegen_ssa/src/back/link/raw_dylib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -477,13 +477,13 @@ fn create_elf_raw_dylib_stub(sess: &Session, soname: &str, symbols: &[DllImport]
// the DT_SONAME will be used by the linker to populate DT_NEEDED
// which the loader uses to find the library.
stub.write_align_dynamic();
stub.write_dynamic_string(elf::DT_SONAME, soname);
stub.write_dynamic_string(elf::DT_SONAME, soname).unwrap();
// LSB section "2.7. Symbol Versioning" requires `DT_VERDEFNUM` to be reliable.
if verdef_count > 1 {
stub.write_dynamic(elf::DT_VERDEFNUM, verdef_count as u64);
stub.write_dynamic(elf::DT_VERDEFNUM, verdef_count as u64).unwrap();
}
// DT_NULL terminates the .dynamic table.
stub.write_dynamic(elf::DT_NULL, 0);
stub.write_dynamic(elf::DT_NULL, 0).unwrap();

stub_buf
}
2 changes: 1 addition & 1 deletion compiler/rustc_metadata/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ edition = "2024"
[dependencies]
# tidy-alphabetical-start
bitflags = "2.4.1"
libloading = "0.8.0"
libloading = "0.9.0"
odht = { version = "0.3.1", features = ["nightly"] }
rustc_abi = { path = "../rustc_abi" }
rustc_ast = { path = "../rustc_ast" }
Expand Down
2 changes: 1 addition & 1 deletion compiler/rustc_metadata/src/host_dylib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ fn attempt_load_dylib(path: &Path) -> Result<libloading::Library, libloading::Er
.map(|lib| lib.into());
}

unsafe { libloading::Library::new(&path) }
unsafe { libloading::Library::new(path) }
}

// On Windows the compiler would sometimes intermittently fail to open the
Expand Down
2 changes: 1 addition & 1 deletion compiler/rustc_target/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ edition = "2024"
# tidy-alphabetical-start
arrayvec = { version = "0.7", default-features = false }
bitflags = "2.4.1"
object = { version = "0.38.1", default-features = false, features = ["elf", "macho"] }
object = { version = "0.39.1", default-features = false, features = ["elf", "macho"] }
rustc_abi = { path = "../rustc_abi" }
rustc_data_structures = { path = "../rustc_data_structures" }
rustc_error_messages = { path = "../rustc_error_messages" }
Expand Down
2 changes: 1 addition & 1 deletion library/alloc/src/borrow.rs
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@ impl<'a, B: ?Sized + ToOwned> Borrow<B> for Cow<'a, B>
// B::Owned: [const] Borrow<B>,
{
fn borrow(&self) -> &B {
&**self
self
}
}

Expand Down
14 changes: 7 additions & 7 deletions library/alloc/src/boxed.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2144,7 +2144,7 @@ impl<T: Clone, A: Allocator + Clone> Clone for Box<[T], A> {
/// ```
fn clone_from(&mut self, source: &Self) {
if self.len() == source.len() {
self.clone_from_slice(&source);
self.clone_from_slice(source);
} else {
*self = source.clone();
}
Expand Down Expand Up @@ -2295,14 +2295,14 @@ impl<T: ?Sized, A: Allocator> Deref for Box<T, A> {
type Target = T;

fn deref(&self) -> &T {
&**self
self
}
}

#[stable(feature = "rust1", since = "1.0.0")]
impl<T: ?Sized, A: Allocator> DerefMut for Box<T, A> {
fn deref_mut(&mut self) -> &mut T {
&mut **self
self
}
}

Expand Down Expand Up @@ -2398,28 +2398,28 @@ impl<T: ?Sized + Unsize<U>, U: ?Sized> DispatchFromDyn<Box<U>> for Box<T, Global
#[stable(feature = "box_borrow", since = "1.1.0")]
impl<T: ?Sized, A: Allocator> Borrow<T> for Box<T, A> {
fn borrow(&self) -> &T {
&**self
self
}
}

#[stable(feature = "box_borrow", since = "1.1.0")]
impl<T: ?Sized, A: Allocator> BorrowMut<T> for Box<T, A> {
fn borrow_mut(&mut self) -> &mut T {
&mut **self
self
}
}

#[stable(since = "1.5.0", feature = "smart_ptr_as_ref")]
impl<T: ?Sized, A: Allocator> AsRef<T> for Box<T, A> {
fn as_ref(&self) -> &T {
&**self
self
}
}

#[stable(since = "1.5.0", feature = "smart_ptr_as_ref")]
impl<T: ?Sized, A: Allocator> AsMut<T> for Box<T, A> {
fn as_mut(&mut self) -> &mut T {
&mut **self
self
}
}

Expand Down
6 changes: 3 additions & 3 deletions library/alloc/src/collections/btree/map.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1572,7 +1572,7 @@ impl<K, V, A: Allocator + Clone> BTreeMap<K, V, A> {

let right_root = left_root.split_off(key, (*self.alloc).clone());

let (new_left_len, right_len) = Root::calc_split_length(total_num, &left_root, &right_root);
let (new_left_len, right_len) = Root::calc_split_length(total_num, left_root, &right_root);
self.length = new_left_len;

BTreeMap {
Expand Down Expand Up @@ -2208,8 +2208,8 @@ impl<'a, K, V, R> ExtractIfInner<'a, K, V, R> {
// On creation, we navigated directly to the left bound, so we need only check the
// right bound here to decide whether to stop.
match self.range.end_bound() {
Bound::Included(ref end) if (*k).le(end) => (),
Bound::Excluded(ref end) if (*k).lt(end) => (),
Bound::Included(end) if (*k).le(end) => (),
Bound::Excluded(end) if (*k).lt(end) => (),
Bound::Unbounded => (),
_ => return None,
}
Expand Down
2 changes: 1 addition & 1 deletion library/alloc/src/collections/btree/node.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1430,7 +1430,7 @@ impl<'a, K: 'a, V: 'a> BalancingContext<'a, K, V> {
left_node.val_area_mut(old_left_len + 1..new_left_len),
);

slice_remove(&mut parent_node.edge_area_mut(..old_parent_len + 1), parent_idx + 1);
slice_remove(parent_node.edge_area_mut(..old_parent_len + 1), parent_idx + 1);
parent_node.correct_childrens_parent_links(parent_idx + 1..old_parent_len);
*parent_node.len_mut() -= 1;

Expand Down
4 changes: 2 additions & 2 deletions library/alloc/src/collections/btree/set.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1971,7 +1971,7 @@ impl<'a, T: Ord, A: Allocator + Clone> Iterator for Difference<'a, T, A> {
}
DifferenceInner::Search { self_iter, other_set } => loop {
let self_next = self_iter.next()?;
if !other_set.contains(&self_next) {
if !other_set.contains(self_next) {
return Some(self_next);
}
},
Expand Down Expand Up @@ -2068,7 +2068,7 @@ impl<'a, T: Ord, A: Allocator + Clone> Iterator for Intersection<'a, T, A> {
}
IntersectionInner::Search { small_iter, large_set } => loop {
let small_next = small_iter.next()?;
if large_set.contains(&small_next) {
if large_set.contains(small_next) {
return Some(small_next);
}
},
Expand Down
8 changes: 4 additions & 4 deletions library/alloc/src/io/impls.rs
Original file line number Diff line number Diff line change
Expand Up @@ -327,7 +327,7 @@ impl Read for &[u8] {
fn read_buf_exact(&mut self, mut cursor: BorrowedCursor<'_, u8>) -> io::Result<()> {
if cursor.capacity() > self.len() {
// Append everything we can to the cursor.
cursor.append(*self);
cursor.append(self);
*self = &self[self.len()..];
return Err(io::Error::READ_EXACT_EOF);
}
Expand All @@ -349,7 +349,7 @@ impl Read for &[u8] {
buf.try_extend_from_slice_of_bytes(*self)?;
}
_ => {
buf.extend_from_slice(*self);
buf.extend_from_slice(self);
}
}

Expand Down Expand Up @@ -625,7 +625,7 @@ where

#[inline]
fn is_read_vectored(&self) -> bool {
(&**self).is_read_vectored()
(**self).is_read_vectored()
}

#[inline]
Expand Down Expand Up @@ -667,7 +667,7 @@ where

#[inline]
fn is_write_vectored(&self) -> bool {
(&**self).is_write_vectored()
(**self).is_write_vectored()
}

#[inline]
Expand Down
12 changes: 6 additions & 6 deletions library/alloc/src/rc.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3858,14 +3858,14 @@ impl<'a> RcInnerPtr for WeakInner<'a> {
#[stable(feature = "rust1", since = "1.0.0")]
impl<T: ?Sized, A: Allocator> borrow::Borrow<T> for Rc<T, A> {
fn borrow(&self) -> &T {
&**self
self
}
}

#[stable(since = "1.5.0", feature = "smart_ptr_as_ref")]
impl<T: ?Sized, A: Allocator> AsRef<T> for Rc<T, A> {
fn as_ref(&self) -> &T {
&**self
self
}
}

Expand Down Expand Up @@ -3990,28 +3990,28 @@ impl<T: ?Sized, A: Allocator> fmt::Pointer for UniqueRc<T, A> {
#[unstable(feature = "unique_rc_arc", issue = "112566")]
impl<T: ?Sized, A: Allocator> borrow::Borrow<T> for UniqueRc<T, A> {
fn borrow(&self) -> &T {
&**self
self
}
}

#[unstable(feature = "unique_rc_arc", issue = "112566")]
impl<T: ?Sized, A: Allocator> borrow::BorrowMut<T> for UniqueRc<T, A> {
fn borrow_mut(&mut self) -> &mut T {
&mut **self
self
}
}

#[unstable(feature = "unique_rc_arc", issue = "112566")]
impl<T: ?Sized, A: Allocator> AsRef<T> for UniqueRc<T, A> {
fn as_ref(&self) -> &T {
&**self
self
}
}

#[unstable(feature = "unique_rc_arc", issue = "112566")]
impl<T: ?Sized, A: Allocator> AsMut<T> for UniqueRc<T, A> {
fn as_mut(&mut self) -> &mut T {
&mut **self
self
}
}

Expand Down
14 changes: 7 additions & 7 deletions library/alloc/src/sync.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3836,7 +3836,7 @@ impl Default for Arc<str> {
#[inline]
fn default() -> Self {
let arc: Arc<[u8]> = Default::default();
debug_assert!(core::str::from_utf8(&*arc).is_ok());
debug_assert!(core::str::from_utf8(&arc).is_ok());
let (ptr, alloc) = Arc::into_inner_with_allocator(arc);
unsafe { Arc::from_ptr_in(ptr.as_ptr() as *mut ArcInner<str>, alloc) }
}
Expand Down Expand Up @@ -4246,14 +4246,14 @@ impl<T, I: iter::TrustedLen<Item = T>> ToArcSlice<T> for I {
#[stable(feature = "rust1", since = "1.0.0")]
impl<T: ?Sized, A: Allocator> borrow::Borrow<T> for Arc<T, A> {
fn borrow(&self) -> &T {
&**self
self
}
}

#[stable(since = "1.5.0", feature = "smart_ptr_as_ref")]
impl<T: ?Sized, A: Allocator> AsRef<T> for Arc<T, A> {
fn as_ref(&self) -> &T {
&**self
self
}
}

Expand Down Expand Up @@ -4463,28 +4463,28 @@ impl<T: ?Sized, A: Allocator> fmt::Pointer for UniqueArc<T, A> {
#[unstable(feature = "unique_rc_arc", issue = "112566")]
impl<T: ?Sized, A: Allocator> borrow::Borrow<T> for UniqueArc<T, A> {
fn borrow(&self) -> &T {
&**self
self
}
}

#[unstable(feature = "unique_rc_arc", issue = "112566")]
impl<T: ?Sized, A: Allocator> borrow::BorrowMut<T> for UniqueArc<T, A> {
fn borrow_mut(&mut self) -> &mut T {
&mut **self
self
}
}

#[unstable(feature = "unique_rc_arc", issue = "112566")]
impl<T: ?Sized, A: Allocator> AsRef<T> for UniqueArc<T, A> {
fn as_ref(&self) -> &T {
&**self
self
}
}

#[unstable(feature = "unique_rc_arc", issue = "112566")]
impl<T: ?Sized, A: Allocator> AsMut<T> for UniqueArc<T, A> {
fn as_mut(&mut self) -> &mut T {
&mut **self
self
}
}

Expand Down
2 changes: 1 addition & 1 deletion library/alloc/src/vec/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3878,7 +3878,7 @@ impl<T: Clone, A: Allocator + Clone> Clone for Vec<T, A> {
/// capacity of the original.
fn clone(&self) -> Self {
let alloc = self.allocator().clone();
<[T]>::to_vec_in(&**self, alloc)
<[T]>::to_vec_in(self, alloc)
}

/// Overwrites the contents of `self` with a clone of the contents of `source`.
Expand Down
2 changes: 1 addition & 1 deletion library/alloc/src/vec/splice.rs
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ impl<I: Iterator, A: Allocator> Drop for Splice<'_, I, A> {
// Which means we can replace the slice::Iter with pointers that won't point to deallocated
// memory, so that Drain::drop is still allowed to call iter.len(), otherwise it would break
// the ptr.offset_from_unsigned contract.
self.drain.iter = (&[]).iter();
self.drain.iter = [].iter();

unsafe {
if self.drain.tail_len == 0 {
Expand Down
4 changes: 2 additions & 2 deletions library/alloc/src/wtf8/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -284,7 +284,7 @@ impl Wtf8Buf {
/// like concatenating ill-formed UTF-16 strings effectively would.
#[inline]
pub fn push_wtf8(&mut self, other: &Wtf8) {
match ((&*self).final_lead_surrogate(), other.initial_trail_surrogate()) {
match ((*self).final_lead_surrogate(), other.initial_trail_surrogate()) {
// Replace newly paired surrogates by a supplementary code point.
(Some(lead), Some(trail)) => {
let len_without_lead_surrogate = self.len() - 3;
Expand Down Expand Up @@ -322,7 +322,7 @@ impl Wtf8Buf {
#[inline]
pub fn push(&mut self, code_point: CodePoint) {
if let Some(trail) = code_point.to_trail_surrogate() {
if let Some(lead) = (&*self).final_lead_surrogate() {
if let Some(lead) = (*self).final_lead_surrogate() {
let len_without_lead_surrogate = self.len() - 3;
self.bytes.truncate(len_without_lead_surrogate);
self.push_char(decode_surrogate_pair(lead, trail));
Expand Down
Loading
Loading