Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit d73f2f6

Browse files
Use super let
1 parent 3f98c4d commit d73f2f6

File tree

2 files changed

+9
-8
lines changed

2 files changed

+9
-8
lines changed

‎library/std/src/io/mod.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1636,6 +1636,7 @@ pub(crate) macro limit_slices($bufs:expr, $n:expr) {
16361636
'slices: {
16371637
let bufs: &[IoSlice<'_>] = $bufs;
16381638
let n: usize = $n;
1639+
super let empty = &[IoSlice::new(&[])];
16391640
// if bufs.len() > n || bufs.is_empty()
16401641
if core::intrinsics::unlikely(bufs.len().wrapping_sub(1) >= n) {
16411642
for (i, buf) in bufs.iter().enumerate() {
@@ -1644,10 +1645,9 @@ pub(crate) macro limit_slices($bufs:expr, $n:expr) {
16441645
break 'slices &bufs[i..i + len];
16451646
}
16461647
}
1647-
// All buffers are empty. Since POSIX requires at least one buffer
1648-
// for [writev], but possibly bufs.is_empty(), return an empty write.
1649-
// [writev]: https://pubs.opengroup.org/onlinepubs/9799919799/functions/writev.html
1650-
return Ok(0);
1648+
// POSIX requires at least one buffer for writev.
1649+
// https://pubs.opengroup.org/onlinepubs/9799919799/functions/writev.html
1650+
break 'slices empty;
16511651
}
16521652
bufs
16531653
}
@@ -1663,6 +1663,7 @@ pub(crate) macro limit_slices_mut($bufs:expr, $n:expr) {
16631663
'slices: {
16641664
let bufs: &mut [IoSliceMut<'_>] = $bufs;
16651665
let n: usize = $n;
1666+
super let empty = &mut [IoSliceMut::new(&mut [])];
16661667
// if bufs.len() > n || bufs.is_empty()
16671668
if core::intrinsics::unlikely(bufs.len().wrapping_sub(1) >= n) {
16681669
for (i, buf) in bufs.iter().enumerate() {
@@ -1671,10 +1672,9 @@ pub(crate) macro limit_slices_mut($bufs:expr, $n:expr) {
16711672
break 'slices &mut bufs[i..i + len];
16721673
}
16731674
}
1674-
// All buffers are empty. Since POSIX requires at least one buffer
1675-
// for [readv], but possibly bufs.is_empty(), return an empty read.
1676-
// [readv]: https://pubs.opengroup.org/onlinepubs/9799919799/functions/readv.html
1677-
return Ok(0);
1675+
// POSIX requires at least one buffer for readv.
1676+
// https://pubs.opengroup.org/onlinepubs/9799919799/functions/readv.html
1677+
break 'slices empty;
16781678
}
16791679
bufs
16801680
}

‎library/std/src/lib.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -315,6 +315,7 @@
315315
#![feature(staged_api)]
316316
#![feature(stmt_expr_attributes)]
317317
#![feature(strict_provenance_lints)]
318+
#![feature(super_let)]
318319
#![feature(thread_local)]
319320
#![feature(try_blocks)]
320321
#![feature(try_trait_v2)]

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /