impl Step for IP addresses by clarfonthey · Pull Request #113748 · rust-lang/rust (original) (raw)
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters
[ Show hidden characters]({{ revealButtonHref }})
Note: since this is insta-stable, it requires an FCP.
Separating out from the bit operations PR since it feels logically disjoint, and so their FCPs can be separate.
r? @m-ou-se
(rustbot has picked a reviewer for you, use r? to override)
rustbot added S-waiting-on-review
Status: Awaiting review from the assignee but also interested parties.
Relevant to the library team, which will review and decide on the PR/issue.
labels
This comment has been minimized.
This comment has been minimized.
the8472 added T-libs-api
Relevant to the library API team, which will review and decide on the PR/issue.
This change is insta-stable, so needs a completed FCP to proceed.
and removed T-libs
Relevant to the library team, which will review and decide on the PR/issue.
labels
@rfcbot merge
Even though the attributes say #[unstable]
and the Step
trait is still unstable, this trait impl results in changes on stable because we have stable APIs that use : Step
as a bound. For example, after merging this PR, Range<Ipv4Addr>
will implement Iterator
, which means that for ip in ip1..ip2
will work.
Team member @m-ou-se has proposed to merge this. The next step is review by the rest of the tagged team members:
No concerns currently listed.
Once a majority of reviewers approve (and at most 2 approvals are outstanding), this will enter its final comment period. If you spot a major issue that hasn't been raised at any point in this process, please speak up!
See this document for info about what commands tagged team members can give me.
rfcbot added the final-comment-period
In the final comment period and will be merged soon unless new substantive objections are raised.
label
🔔 This is now entering its final comment period, as per the review above. 🔔
This comment was marked as outdated.
The final comment period, with a disposition to merge, as per the review above, is now complete.
As the automated representative of the governance process, I would like to thank the author for their work and everyone else who contributed.
This will be merged soon.
Gentle reminder to @m-ou-se to merge when you have the chance, since the FCP has ended.
📌 Commit 8184c9c has been approved by dtolnay
It is now in the queue for this repository.
bors added S-waiting-on-bors
Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
and removed S-waiting-on-author
Status: This is awaiting some action (such as code changes or more information) from the author.
labels
bors added a commit to rust-lang-ci/rust that referenced this pull request
impl Step for IP addresses
Note: since this is insta-stable, it requires an FCP.
Separating out from the bit operations PR since it feels logically disjoint, and so their FCPs can be separate.
👀 Test was successful, but fast-forwarding failed: 422 Update is not a fast forward
Finished benchmarking commit (c8b5754): comparison URL.
Overall result: ❌ regressions - no action needed
@rustbot label: -perf-regression
Instruction count
This is a highly reliable metric that was used to determine the overall result at the top of this comment.
mean | range | count | |
---|---|---|---|
Regressions ❌ (primary) | - | - | 0 |
Regressions ❌ (secondary) | 0.4% | [0.3%, 0.4%] | 3 |
Improvements ✅ (primary) | - | - | 0 |
Improvements ✅ (secondary) | - | - | 0 |
All ❌✅ (primary) | - | - | 0 |
Max RSS (memory usage)
Results
This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
mean | range | count | |
---|---|---|---|
Regressions ❌ (primary) | - | - | 0 |
Regressions ❌ (secondary) | 2.4% | [2.4%, 2.4%] | 1 |
Improvements ✅ (primary) | - | - | 0 |
Improvements ✅ (secondary) | -0.9% | [-0.9%, -0.9%] | 1 |
All ❌✅ (primary) | - | - | 0 |
Cycles
This benchmark run did not return any relevant results for this metric.
Binary size
This benchmark run did not return any relevant results for this metric.
Bootstrap: 632.183s -> 633.627s (0.23%)
Artifact size: 318.14 MiB -> 318.18 MiB (0.01%)
💡 This pull request was already approved, no need to approve it again.
- This pull request previously failed. You should add more commits to fix the bug, or use
retry
to trigger a build again. - There's another pull request that is currently being tested, blocking this pull request: Add implementation for thread::sleep_until #113753
📌 Commit 8184c9c has been approved by dtolnay
It is now in the queue for this repository.
Finished benchmarking commit (3ecc563): comparison URL.
Overall result: no relevant changes - no action needed
@rustbot label: -perf-regression
Instruction count
This benchmark run did not return any relevant results for this metric.
Max RSS (memory usage)
Results
This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
mean | range | count | |
---|---|---|---|
Regressions ❌ (primary) | - | - | 0 |
Regressions ❌ (secondary) | 0.8% | [0.8%, 0.8%] | 1 |
Improvements ✅ (primary) | - | - | 0 |
Improvements ✅ (secondary) | - | - | 0 |
All ❌✅ (primary) | - | - | 0 |
Cycles
This benchmark run did not return any relevant results for this metric.
Binary size
This benchmark run did not return any relevant results for this metric.
Bootstrap: 635.86s -> 635.641s (-0.03%)
Artifact size: 318.46 MiB -> 318.45 MiB (-0.00%)
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request
Pkgsrc changes:
- Remove NetBSD-8 support (embedded LLVm requires newer C++ than what is in -8; it's conceivable that this could still build with an external LLVM)
- undo powerpc 9.0 file naming tweak, since we no longer support -8.
- Remove patch to LLVM for powerpc now included by upstream.
- Minor adjustments, checksum changes etc.
Upstream changes:
Version 1.74.1 (2023-12-07)
- [Resolved spurious STATUS_ACCESS_VIOLATIONs in LLVM] (rust-lang/rust#118464)
- [Clarify guarantees for std::mem::discriminant] (rust-lang/rust#118006)
- [Fix some subtyping-related regressions] (rust-lang/rust#116415)
Version 1.74.0 (2023-11-16)
Language
- [Codify that
std::mem::Discriminant<T>
does not depend on any lifetimes in T] (rust-lang/rust#104299) - [Replace
private_in_public
lint withprivate_interfaces
andprivate_bounds
per RFC 2145] (rust-lang/rust#113126) Read more in RFC 2145. - [Allow explicit
#[repr(Rust)]
] (rust-lang/rust#114201) - [closure field capturing: don't depend on alignment of packed fields] (rust-lang/rust#115315)
- [Enable MIR-based drop-tracking for
async
blocks] (rust-lang/rust#107421)
Compiler
- [stabilize combining +bundle and +whole-archive link modifiers] (rust-lang/rust#113301)
- [Stabilize
PATH
option for--print KIND=PATH
] (rust-lang/rust#114183) - [Enable ASAN/LSAN/TSAN for
*-apple-ios-macabi
] (rust-lang/rust#115644) - [Promote loongarch64-unknown-none* to Tier 2] (rust-lang/rust#115368)
- [Add
i686-pc-windows-gnullvm
as a tier 3 target] (rust-lang/rust#115687)
Libraries
- [Implement
From<OwnedFd/Handle>
for ChildStdin/out/err] (rust-lang/rust#98704) - [Implement
From<{&,&mut} [T; N]>
forVec<T>
whereT: Clone
] (rust-lang/rust#111278) - [impl Step for IP addresses] (rust-lang/rust#113748)
- [Implement
From<[T; N]>
forRc<[T]>
andArc<[T]>
] (rust-lang/rust#114041) - [
impl TryFrom<char> for u16
] (rust-lang/rust#114065) - [Stabilize
io_error_other
feature] (rust-lang/rust#115453) - [Stabilize the
Saturating
type] (rust-lang/rust#115477) - [Stabilize const_transmute_copy] (rust-lang/rust#115520)
Stabilized APIs
- [
core::num::Saturating
] (https://doc.rust-lang.org/stable/std/num/struct.Saturating.html) - [
impl From<io::Stdout> for std::process::Stdio
] (https://doc.rust-lang.org/stable/std/process/struct.Stdio.html#impl-From%3CStdout%3E-for-Stdio) - [
impl From<io::Stderr> for std::process::Stdio
] (https://doc.rust-lang.org/stable/std/process/struct.Stdio.html#impl-From%3CStderr%3E-for-Stdio) - [
impl From<OwnedHandle> for std::process::Child{Stdin, Stdout, Stderr}
] (https://doc.rust-lang.org/stable/std/process/struct.Stdio.html#impl-From%3CStderr%3E-for-Stdio) - [
impl From<OwnedFd> for std::process::Child{Stdin, Stdout, Stderr}
] (https://doc.rust-lang.org/stable/std/process/struct.Stdio.html#impl-From%3CStderr%3E-for-Stdio) - [
std::ffi::OsString::from_encoded_bytes_unchecked
] (https://doc.rust-lang.org/stable/std/ffi/struct.OsString.html#method.from_encoded_bytes_unchecked) - [
std::ffi::OsString::into_encoded_bytes
] (https://doc.rust-lang.org/stable/std/ffi/struct.OsString.html#method.into_encoded_bytes) - [
std::ffi::OsStr::from_encoded_bytes_unchecked
] (https://doc.rust-lang.org/stable/std/ffi/struct.OsStr.html#method.from_encoded_bytes_unchecked) - [
std::ffi::OsStr::as_encoded_bytes
] (https://doc.rust-lang.org/stable/std/ffi/struct.OsStr.html#method.as_encoded_bytes) - [
std::io::Error::other
] (https://doc.rust-lang.org/stable/std/io/struct.Error.html#method.other) - [
impl TryFrom<char> for u16
] (https://doc.rust-lang.org/stable/std/primitive.u16.html#impl-TryFrom%3Cchar%3E-for-u16) - [
impl<T: Clone, const N: usize> From<&[T; N]> for Vec<T>
] (https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#impl-From%3C%26%5BT;+N%5D%3E-for-Vec%3CT,+Global%3E) - [
impl<T: Clone, const N: usize> From<&mut [T; N]> for Vec<T>
] (https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#impl-From%3C%26mut+%5BT;+N%5D%3E-for-Vec%3CT,+Global%3E) - [
impl<T, const N: usize> From<[T; N]> for Arc<[T]>
] (https://doc.rust-lang.org/stable/std/sync/struct.Arc.html#impl-From%3C%5BT;+N%5D%3E-for-Arc%3C%5BT%5D,+Global%3E) - [
impl<T, const N: usize> From<[T; N]> for Rc<[T]>
] (https://doc.rust-lang.org/stable/std/rc/struct.Rc.html#impl-From%3C%5BT;+N%5D%3E-for-Rc%3C%5BT%5D,+Global%3E)
These APIs are now stable in const contexts:
- [
core::mem::transmute_copy
] (https://doc.rust-lang.org/beta/std/mem/fn.transmute_copy.html) - [
str::is_ascii
] (https://doc.rust-lang.org/beta/std/primitive.str.html#method.is_ascii) - [
[u8]::is_ascii
] (https://doc.rust-lang.org/beta/std/primitive.slice.html#method.is_ascii)
Cargo
- [fix: Set MSRV for internal packages] (rust-lang/cargo#12381)
- [config: merge lists in precedence order] (rust-lang/cargo#12515)
- [fix(update): Clarify meaning of --aggressive as --recursive] (rust-lang/cargo#12544)
- [fix(update): Make
-p
more convenient by being positional] (rust-lang/cargo#12545) - [feat(help): Add styling to help output ] (rust-lang/cargo#12578)
- [feat(pkgid): Allow incomplete versions when unambigious] (rust-lang/cargo#12614)
- [feat: stabilize credential-process and registry-auth] (rust-lang/cargo#12649)
- [feat(cli): Add '-n' to dry-run] (rust-lang/cargo#12660)
- [Add support for
target.'cfg(..)'.linker
] (rust-lang/cargo#12535) - [Stabilize
--keep-going
] (rust-lang/cargo#12568) - [feat: Stabilize lints] (rust-lang/cargo#12648)
Rustdoc
- [Add warning block support in rustdoc] (rust-lang/rust#106561)
- [Accept additional user-defined syntax classes in fenced code blocks] (rust-lang/rust#110800)
- [rustdoc-search: add support for type parameters] (rust-lang/rust#112725)
- [rustdoc: show inner enum and struct in type definition for concrete type] (rust-lang/rust#114855)
Compatibility Notes
- [Raise minimum supported Apple OS versions] (rust-lang/rust#104385)
- [make Cell::swap panic if the Cells partially overlap] (rust-lang/rust#114795)
- [Reject invalid crate names in
--extern
] (rust-lang/rust#116001) - [Don't resolve generic impls that may be shadowed by dyn built-in impls] (rust-lang/rust#114941)
Internal Changes
These changes do not affect any public interfaces of Rust, but they represent significant improvements to the performance or internals of rustc and related tools.
None this cycle.
Labels
This issue / PR is in PFCP or FCP with a disposition to merge it.
The final comment period is finished for this PR / Issue.
This PR was explicitly merged by bors.
This change is insta-stable, so needs a completed FCP to proceed.
Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Status: PR is in FCP and is awaiting for FCP to complete.
Relevant to the library API team, which will review and decide on the PR/issue.