rust/library/core/src
Michael Goulet 6ac714d526
Rollup merge of #136922 - oli-obk:pattern-types-option-ends, r=BoxyUwU
Pattern types: Avoid having to handle an Option for range ends in the type system or the HIR

Instead,

1. during hir_ty_lowering, we now generate constants for the min/max when the range doesn't have a start/end specified.
2. in a later commit we generate those constants during ast lowering, simplifying everything further by not having to handle the range end inclusivity anymore in the type system (and thus avoiding any issues of `0..5` being different from `0..=4`

I think it makes all the type system code simpler, and the cost of the extra `ConstKind::Value` processing seems negligible.

r? `@BoxyUwU`

cc `@joshtriplett` `@scottmcm`
2025-03-06 12:22:10 -05:00
..
alloc core: Apply unsafe_op_in_unsafe_fn 2025-02-14 07:36:17 -08:00
array Rollup merge of #135489 - RalfJung:TryFromSliceError, r=tgross35 2025-01-24 08:08:06 +01:00
ascii Add more precondition check tests 2024-10-09 19:34:27 -04:00
async_iter Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
cell OnceCell & OnceLock docs: Using (un)initialized consistently 2025-02-03 17:48:39 +05:30
char Rollup merge of #120580 - HTGAzureX1212:HTGAzureX1212/issue-45795, r=m-ou-se 2025-02-19 21:16:01 +01:00
clone CloneToUninit: use a private specialization trait 2024-07-29 20:44:43 +03:00
cmp Use generic NonZero everywhere in core. 2024-02-22 15:17:33 +01:00
convert rustdoc-search: let From and Into be unboxed 2024-12-13 11:05:30 -07:00
ffi Rollup merge of #136187 - hkBst:patch-27, r=workingjubilee 2025-02-26 19:03:54 +01:00
fmt Count char width at most once in Formatter::pad 2025-02-27 16:41:42 -08:00
future tidying up tidy 2025-02-15 13:34:01 +06:00
hash fmt 2025-01-08 22:11:33 +01:00
intrinsics Rollup merge of #137828 - folkertdev:simd-intrinsic-doc-fixes, r=workingjubilee 2025-03-01 16:03:19 +01:00
io Add inherent versions of MaybeUninit methods for slices 2025-01-11 23:57:00 -05:00
iter Rollup merge of #135895 - hkBst:patch-15, r=joboet 2025-03-06 12:22:09 -05:00
macros update cfg(bootstrap) 2025-02-18 09:32:44 -08:00
marker Make phantom variance markers transparent 2025-02-15 00:47:49 +00:00
mem Rollup merge of #134585 - cyrgani:uninit_array, r=Amanieu 2025-02-26 19:03:53 +01:00
net core/net: IpAddr*::as_octets() 2025-02-19 00:50:46 -05:00
num dec2flt: Refactor the fast path 2025-03-02 09:35:42 +00:00
ops fix order on shl impl 2025-03-03 09:51:51 +01:00
panic replace placeholder version 2024-11-27 12:10:21 +00:00
prelude Remove the common prelude module 2025-02-11 13:04:27 -08:00
ptr rename sub_ptr 😅 2025-02-23 23:11:00 +07:00
range Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
slice Stabilize [T]::split_off... methods 2025-02-28 14:04:54 -08:00
str Rollup merge of #136668 - WaffleLapkin:from_utf8_mut, r=Amanieu 2025-02-24 18:46:34 -05:00
sync atomic: extend compare_and_swap migration docs 2025-01-30 14:40:08 +01:00
task docs: fix broken intra-doc links that never worked 2025-02-15 12:21:38 -07:00
unicode core: add #![warn(unreachable_pub)] 2025-01-20 18:35:32 +01:00
any.rs Rollup merge of #136148 - kpreid:type-str, r=joboet 2025-02-21 19:01:12 +01:00
arch.rs core: #[allow(unreachable_pub)] on unreachable pub use 2025-01-20 18:35:32 +01:00
ascii.rs Reformat use declarations. 2024-07-29 08:26:52 +10:00
asserting.rs Reformat use declarations. 2024-07-29 08:26:52 +10:00
bool.rs Rollup merge of #133964 - joboet:select_unpredictable, r=tgross35 2025-01-04 09:54:36 +01:00
borrow.rs Suggest borrowing on fn argument that is impl AsRef 2024-05-09 23:25:31 +00:00
bstr.rs Add doc aliases for BStr and BString 2025-01-22 09:19:24 +02:00
cell.rs Rustfmt 2025-02-08 22:12:13 +00:00
clone.rs Implement CloneToUninit for ByteStr 2025-01-22 17:53:39 +02:00
cmp.rs Update some comparison tests now that they pass in LLVM20 2025-02-17 16:36:14 -08:00
contracts.rs update cfg(bootstrap) 2025-02-18 09:32:44 -08:00
default.rs update cfgs 2024-09-05 17:24:01 +01:00
error.md Mention core's PanicInfo in error.md. 2024-06-11 15:47:00 +02:00
error.rs update version placeholders 2025-02-18 08:50:21 -08:00
escape.rs core: add #![warn(unreachable_pub)] 2025-01-20 18:35:32 +01:00
hint.rs update version placeholders 2025-02-18 08:50:21 -08:00
internal_macros.rs Fix doc nits 2024-07-26 13:26:33 +01:00
lib.miri.rs add 'x.py miri', and make it work for 'library/{core,alloc,std}' 2024-04-03 20:27:20 +02:00
lib.rs update cfg(bootstrap) 2025-02-18 09:32:44 -08:00
marker.rs Simplify trait error message for CoercePointee validation 2025-02-24 19:34:54 +00:00
option.rs Less unwrap() in documentation 2024-12-21 01:26:47 +00:00
panic.rs update cfgs 2024-11-27 15:14:54 +00:00
panicking.rs update cfg(bootstrap) 2025-02-18 09:32:44 -08:00
pat.rs Remove the Option part of range ends in the HIR 2025-03-06 10:47:40 +00:00
pin.rs fix doc in library/core/src/pin.rs 2025-02-25 21:21:00 +08:00
primitive.rs Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
primitive_docs.rs Docs for f16 and f128: correct a typo and add details 2025-02-02 19:48:57 -08:00
random.rs random: add tracking issue, address other comments 2024-09-23 10:36:16 +02:00
range.rs update cfg(bootstrap) 2025-02-18 09:32:44 -08:00
result.rs Less unwrap() in documentation 2024-12-21 01:26:47 +00:00
time.rs Add #[track_caller] to Duration Div impl 2025-02-18 04:56:03 +00:00
tuple.rs update cfgs 2024-09-05 17:24:01 +01:00
ub_checks.rs Make ub_check message clear that it's not an assert 2025-02-16 00:56:09 +00:00
unit.rs Import the 2021 prelude in the core crate 2024-03-25 13:12:06 -07:00
unsafe_binder.rs Add unwrap_unsafe_binder and wrap_unsafe_binder macro operators 2024-12-12 16:29:40 +00:00