bors
91931ec2fc
Auto merge of #98354 - camsteffen:is-some-and-by-value, r=m-ou-se
...
Change `is_some_and` to take by value
Consistent with other function-accepting `Option` methods.
Tracking issue: #93050
r? `@m-ou-se`
2022-10-02 12:48:15 +00:00
Lukas Markeffsky
69cafc0699
always panic for invalid integer logarithm
2022-10-02 14:24:56 +02:00
bors
756e7be5eb
Auto merge of #102548 - nikic:inline-cell-replace, r=scottmcm
...
Mark Cell::replace() as #[inline]
Giving this a try based on https://github.com/rust-lang/rust/issues/102539#issuecomment-1264398807 .
2022-10-02 09:53:07 +00:00
Eduardo Sánchez Muñoz
9c7c232a50
Improve FromStr example
...
The `from_str` implementation from the example had an `unwrap` that would make it panic on invalid input strings. Instead of panicking, it nows returns an error to better reflect the intented behavior of the `FromStr` trait.
2022-10-02 11:32:56 +02:00
bors
c2590e6e89
Auto merge of #102535 - scottmcm:optimize-split-at-partition-point, r=thomcc
...
Tell LLVM that `partition_point` returns a valid fencepost
This was already done for a successful `binary_search`, but this way `partition_point` can get similar optimizations.
Demonstration that nightly can't do this optimization today, and leaves in the panicking path: <https://play.rust-lang.org/?version=nightly&mode=release&edition=2021&gist=e1074cd2faf5f68e49cffd728ded243a >
r? `@thomcc`
2022-10-02 07:11:15 +00:00
Matthias Krüger
baba8391c3
Rollup merge of #102405 - hkBst:patch-3, r=Mark-Simulacrum
...
Remove a FIXME whose code got moved away in #62883 .
Remove a FIXME whose code got moved away in https://github.com/rust-lang/rust/pull/62883 .
2022-10-02 03:16:39 +02:00
Cameron Steffen
4f12de0660
Change feature name to is_some_and
2022-10-01 11:45:52 -05:00
Cameron Steffen
2f83134e37
Change is_some_and to take by value
2022-10-01 11:45:52 -05:00
Nikita Popov
49eaa0f6ac
Mark Cell::replace() as #[inline]
2022-10-01 17:30:54 +02:00
Scott McMurray
c7af338e6f
Tell LLVM that partition_point returns a valid fencepost
...
This was already done for a successful `binary_search`, but this way `partition_point` can get similar optimizations.
2022-09-30 23:39:15 -07:00
bors
877877a19a
Auto merge of #102520 - matthiaskrgr:rollup-7nreat0, r=matthiaskrgr
...
Rollup of 6 pull requests
Successful merges:
- #102276 (Added more const_closure functionality)
- #102382 (Manually order `DefId` on 64-bit big-endian)
- #102421 (remove the unused :: between trait and type to give user correct diag…)
- #102495 (Reinstate `hir-stats.rs` test for stage 1.)
- #102505 (rustdoc: remove no-op CSS `h3.variant, .sub-variant h4 { border-bottom: none }`)
- #102506 (Specify `DynKind::Dyn`)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
2022-09-30 17:47:57 +00:00
onestacked
10739d475e
Add back ConstFnMutClosure::new, fix formatting
2022-09-30 17:41:01 +02:00
onestacked
9a641a533c
Fixed Documentation for wrap_mut_2_imp
2022-09-30 17:16:59 +02:00
onestacked
b73241aa5b
Added more const_closure functionality.
2022-09-30 17:16:59 +02:00
beetrees
e409ce2159
Fix integer overflow in format!("{:.0?}", Duration::MAX)
2022-09-29 23:06:22 +01:00
Dylan DPC
34f02c3e8d
Rollup merge of #102452 - granolocks:grammar-tweak, r=thomcc
...
fix minor ungrammatical sentence
This fixes an innocuous ungrammatical sentence in example code in the `TryFrom` documentation.
2022-09-29 18:13:21 +05:30
Dylan DPC
b6d1c15076
Rollup merge of #102435 - GuillaumeGomez:improve-iterator-reduce-example, r=thomcc,vacuus
...
Improve example of Iterator::reduce
Fixes #81819 .
I took your example `@bstrie` from https://github.com/rust-lang/rust/issues/81819 and applied it here.
r? `@thomcc`
2022-09-29 18:13:20 +05:30
Dylan DPC
609152aa8a
Rollup merge of #102342 - jmillikin:nonzero-negation, r=scottmcm
...
Add negation methods for signed non-zero integers.
Performing negation with defined wrapping semantics (such as `wrapping_neg()`) on a non-zero integer currently requires unpacking to a primitive and re-wrapping. Since negation of non-zero signed integers always produces a non-zero result, it is safe to implement the various `*_neg()` methods for `NonZeroI{N}`.
I'm not sure what to do about the `#[unstable(..., issue = "none")]` here -- should I file a tracking issue, or is that handled by the Rust dev team?
ACP: https://github.com/rust-lang/libs-team/issues/105
2022-09-29 18:13:19 +05:30
est31
176c44c08e
Stabilize const_char_convert
2022-09-29 14:26:56 +02:00
est31
12c15a2bfe
Split out from_u32_unchecked from const_char_convert
...
It relies on the Option::unwrap function which is not const-stable (yet).
2022-09-29 14:26:24 +02:00
Gabe Koss
06624e8c5a
fix minor ungrammatical sentence
2022-09-29 00:20:05 -04:00
Yuki Okushi
8e4869e862
Rollup merge of #102368 - beetrees:nano-niche, r=joshtriplett
...
Add a niche to `Duration`, unix `SystemTime`, and non-apple `Instant`
As the nanoseconds fields is always between `0` and `(NANOS_PER_SEC - 1)` inclusive, use the `rustc_layout_scalar_valid_range` attributes to create a niche in the nanosecond field of `Duration` and `Timespec` (which is used to implement unix `SystemTime` and non-apple unix `Instant`; windows `Instant` is implemented with `Duration` and therefore will also benefit). This change has the benefit of making `Option<T>` the same size as `T` for the previously mentioned types. Also shrinks the nanoseconds field of `Timespec` to a `u32` as nanoseconds do not need the extra range of an `i64`, shrinking `Timespec` by 4 bytes on 32-bit platforms.
r? ```@joshtriplett```
2022-09-29 11:42:05 +09:00
John Millikin
9d5e3a1f45
Add is_empty() method to core::ffi::CStr.
2022-09-29 07:55:12 +09:00
Guillaume Gomez
49b25d3412
Improve example of Iterator::reduce
2022-09-29 00:44:53 +02:00
John Millikin
ceb53a3c4f
nonzero_negation_ops: inline(always) -> inline.
2022-09-29 07:33:26 +09:00
John Millikin
cdae82c5fc
nonzero_negation_ops: Set issue = "102443".
2022-09-29 07:32:15 +09:00
bors
ce7f0f1aa0
Auto merge of #100719 - CohenArthur:rust-safe-intrinsic-attribute, r=wesleywiser
...
Add `#[rustc_safe_intrinsic]`
This PR adds the `#[rustc_safe_intrinsic]` attribute as mentionned on Zulip. The goal of this attribute is to avoid keeping a list of symbols as the source for stable intrinsics, and instead rely on an attribute. This is similar to `#[rustc_const_stable]` and `#[rustc_const_unstable]`, which among other things, are used to mark the constness of intrinsic functions.
2022-09-28 19:07:50 +00:00
beetrees
a913277829
Add a niche to Duration, unix SystemTime, and non-apple Instant
2022-09-28 18:15:10 +01:00
Marijn Schouten
ac310e6643
Update result.rs
...
Remove a FIXME whose code got moved away in https://github.com/rust-lang/rust/pull/62883 .
2022-09-28 14:52:59 +02:00
Yuki Okushi
9436ffc226
Rollup merge of #102288 - mejrs:inner, r=compiler-errors
...
Suggest unwrapping `???<T>` if a method cannot be found on it but is present on `T`.
This suggests various ways to get inside wrapper types if the method cannot be found on the wrapper type, but is present on the wrappee.
For this PR, those wrapper types include `Localkey`, `MaybeUninit`, `RefCell`, `RwLock` and `Mutex`.
2022-09-28 13:07:17 +09:00
Yuki Okushi
07bb2e6527
Rollup merge of #102232 - Urgau:stabilize-bench_black_box, r=TaKO8Ki
...
Stabilize bench_black_box
This PR stabilize `feature(bench_black_box)`.
```rust
pub fn black_box<T>(dummy: T) -> T;
```
The FCP was completed in https://github.com/rust-lang/rust/issues/64102 .
`@rustbot` label +T-libs-api -T-libs
2022-09-28 13:07:17 +09:00
Matthias Krüger
ad57d5f27c
Rollup merge of #101555 - jhpratt:stabilize-mixed_integer_ops, r=joshtriplett
...
Stabilize `#![feature(mixed_integer_ops)]`
Tracked and FCP completed in #87840 .
````@rustbot```` label +T-libs-api +S-waiting-on-review +relnotes
r? rust-lang/t-libs-api
2022-09-27 21:42:21 +02:00
mejrs
f3ac328d58
Address feedback
2022-09-27 21:42:09 +02:00
mejrs
c4c9415132
Wrapper suggestions
2022-09-27 21:42:09 +02:00
Urgau
9ad2f00f6a
Stabilize bench_black_box
2022-09-27 17:38:51 +02:00
Trevor Spiteri
33421da030
doc: rewrite doc for uint::{carrying_add,borrowing_sub}
2022-09-27 17:31:31 +02:00
Arthur Cohen
99d57ee23d
core: Mark all safe intrinsics with #[rustc_safe_intrinsic]
2022-09-27 15:55:42 +02:00
Akshay
591c1f25b2
introduce {char, u8}::is_ascii_octdigit
2022-09-27 11:55:13 +05:30
John Millikin
259bbfbc3d
Add negation methods for signed non-zero integers.
2022-09-27 13:15:55 +09:00
bors
f3a6fbf2f2
Auto merge of #102283 - GuillaumeGomez:option-code-example-unwrap-or-default, r=thomcc
...
Improve code example for Option::unwrap_or_default
Fixes #100054 .
Follow-up of #102259 .
r? `@thomcc`
2022-09-26 23:17:52 +00:00
Michael Howell
7381d7d8b2
Rollup merge of #102326 - yancyribbens:splin-mut-doc-change, r=thomcc
...
rustdoc: Update doc comment for splitn_mut to include mutable in the …
The doc comment for [splitn](https://github.com/rust-lang/rust/blob/master/library/core/src/slice/mod.rs#L2051:L2056 ) is the exact same as the comment for [splitn_mut](https://github.com/rust-lang/rust/blob/master/library/core/src/slice/mod.rs#L2079:L2084 ). The doc comment for `splitn_mut` should instead say it's working on a mutable subslice.
2022-09-26 15:40:55 -07:00
Michael Howell
66bab6b781
Rollup merge of #102322 - sigaloid:master, r=GuillaumeGomez
...
Document that Display automatically implements ToString
Closes #92941
r? rust-lang/docs
2022-09-26 15:40:54 -07:00
Michael Howell
2668a6839a
Rollup merge of #102283 - GuillaumeGomez:option-code-example-unwrap-or-default, r=thomcc
...
Improve code example for Option::unwrap_or_default
Fixes #100054 .
Follow-up of #102259 .
r? ``@thomcc``
2022-09-26 15:40:52 -07:00
Scott McMurray
55492de545
Use a macro to not have to copy-paste ConstFnMutClosure::new(&mut fold, NeverShortCircuit::wrap_mut_2_imp)).0 everywhere
...
Also use that macro to replace a bunch of places that had custom closure-wrappers.
2022-09-26 11:38:18 -07:00
yancy
40f404468a
rustdoc: Update doc comment for splitn_mut to include mutable in the description
2022-09-26 20:20:13 +02:00
Matthew Esposito
4fad063cba
Document that Display entails ToString
2022-09-26 13:03:59 -04:00
Guillaume Gomez
475aeab79e
Improve code example for Option::unwrap_or_default
2022-09-26 12:37:41 +02:00
Pietro Albini
3975d55d98
remove cfg(bootstrap)
2022-09-26 10:14:45 +02:00
Pietro Albini
d0305b3d00
replace stabilization placeholders
2022-09-26 10:13:44 +02:00
fee1-dead
beb224084d
Rollup merge of #102263 - GuillaumeGomez:iterator-rposition-example, r=thomcc
...
Clarify Iterator::rposition code example
Fixes #101095 .
r? `@thomcc`
2022-09-26 09:27:37 +08:00