about summary refs log tree commit diff
path: root/library
AgeCommit message (Collapse)AuthorLines
2024-06-29Rollup merge of #127122 - TDecking:div_ceil, r=NilstriebMatthias Krüger-1/+1
Remove uneccessary condition in `div_ceil` Previously, `div_ceil` for unsigned integers had a `rhs > 0` for rounding. That condition however is always fulfilled, since `rhs == 0` would mean a division by zero earlier.
2024-06-29Auto merge of #120639 - fee1-dead-contrib:new-effects-desugaring, r=oli-obkbors-0/+47
Implement new effects desugaring cc `@rust-lang/project-const-traits.` Will write down notes once I have finished. * [x] See if we want `T: Tr` to desugar into `T: Tr, T::Effects: Compat<true>` * [x] Fix ICEs on `type Assoc: ~const Tr` and `type Assoc<T: ~const Tr>` * [ ] add types and traits to minicore test * [ ] update rustc-dev-guide Fixes #119717 Fixes #123664 Fixes #124857 Fixes #126148
2024-06-29Stabilize `duration_abs_diff`Ole Bertram-3/+3
2024-06-29Remove `has_cpuid`Jubilee Young-93/+2
2024-06-29Fixing CIsayantn-35/+19
Fixed x86_64-apple-darwin freezing. Bump all docker to Ubuntu-24.04 (except for emulated and armv7)
2024-06-29Some fixes as asked by @Amanieusayantn-20/+14
2024-06-29Fixed `_mm512_kunpackb`, reduce-max and reduce-minsayantn-28/+32
`_mm512_kunpackb` was implemented wrong, and `simd_reduce_max` uses `maxnum` for comparison, which adheres to IEEE754, but Intel specifically says that they do NOT adhere to IEEE754 for NaNs, which can give wrong results
2024-06-29Update CI to accommodate for windows-gnu targetssayantn-3/+4
2024-06-29Add the missing BMI1, SSE2, SSE4.1 and AVX2 intrinsicssayantn-45/+232
2024-06-29Fixed some more intrinsicssayantn-368/+333
Added some tests, Fixed incorrect target-features, and verification code for target-features. Removed all MMX support from verification.
2024-06-29Fixed many intrinsicssayantn-300/+335
fixed reduce-add and reduce-mul. and load/store of mask32 and mask64. added preserves-flags to mov asm. fixed the missing list. fixed `_mm_loadu_si64`. Added `assert_instr`
2024-06-29Upgraded disassembly to include `windows-gnu` targetssayantn-109/+80
2024-06-29Update Intrinsics listsayantn-147291/+179620
Updated the intrinsics list from version 3.4 to 3.6.8. Added a missing-x86.md file to track progress.
2024-06-29small correction to fmt::Pointer implSky-2/+1
the `expose_provenance` method does not require `T: Sized`
2024-06-29Remove uneccessary condition in `div_ceil`Tobias Decking-1/+1
2024-06-29Updated docs on `#[panic_handler]` in `library/core/src/lib.rs`Askar Safin-5/+2
2024-06-29Rollup merge of #127073 - Sky9x:unnecessary-seqcst, r=NilstriebGuillaume Gomez-1/+1
Remove unnecessary SeqCst in `impl fmt::Pointer for AtomicPtr` Unnecessarily strict ordering.
2024-06-29Rollup merge of #127072 - Sky9x:docs-includes-vs-does-include, r=scottmcmGuillaume Gomez-4/+4
docs: say "includes" instead of "does include" Provides more visual difference between the negative ("does not include") and the positive ("includes"). Both phrases have the same meaning.
2024-06-29Rollup merge of #126953 - joboet:lazy_key, r=jhprattMatthias Krüger-128/+115
std: separate TLS key creation from TLS access Currently, `std` performs an atomic load to get the OS key on every access to `StaticKey` even when the key is already known. This PR thus replaces `StaticKey` with the platform-specific `get` and `set` function and a new `LazyKey` type that acts as a `LazyLock<Key>`, allowing the reuse of the retreived key for multiple accesses. Related to #110897.
2024-06-28Rollup merge of #127071 - Sky9x:remove-ptr-to-from-bits, r=scottmcmMatthias Krüger-131/+0
Remove (deprecated & unstable) {to,from}_bits pointer methods These unstable methods have been deprecated for more than a year (since #95583). Remove them. See https://github.com/rust-lang/rust/issues/91126#issuecomment-1835796457 and https://github.com/rust-lang/rust/pull/110441/files#r1169574509. Closes #91126. r? `@scottmcm`
2024-06-28Rollup merge of #127070 - Sky9x:unit-const-param-ty, r=BoxyUwUMatthias Krüger-4/+1
add () to the marker_impls macro for ConstParamTy Seems to have escaped bootstrap
2024-06-28Rollup merge of #127055 - shepmaster:hash-finish-must-use, r=dtolnayMatthias Krüger-0/+1
Mark Hasher::finish as #[must_use]
2024-06-28address review commentsDeadbeef-3/+8
2024-06-28general fixups and turn `TODO`s into `FIXME`sDeadbeef-1/+3
2024-06-28Implement `Min` trait in new solverDeadbeef-4/+5
2024-06-28implement new effects desugaringDeadbeef-0/+39
2024-06-28std: add safety commentsjoboet-4/+16
2024-06-28Rollup merge of #126970 - DaniPopes:simplify-str-clone_into, r=cuviperMatthias Krüger-3/+4
Simplify `str::clone_into` Removes an `unsafe` in favor of just using `String` methods.
2024-06-28Rollup merge of #126956 - joboet:fmt_no_extern_ty, r=RalfJungMatthias Krüger-21/+31
core: avoid `extern type`s in formatting infrastructure ```@RalfJung``` [said](https://rust-lang.zulipchat.com/#narrow/stream/219381-t-libs/topic/Use.20of.20.60extern.20type.60.20in.20formatting.20machinery/near/446552837): >How attached are y'all to using `extern type` in the formatting machinery? Seems like this was introduced a [long time ago](https://github.com/rust-lang/rust/commit/34ef8f5441d5335c4177abd622383ed34a6e9315). However, it's also [not really compatible with Stacked Borrows](https://github.com/rust-lang/unsafe-code-guidelines/issues/256), and only works currently because we effectively treat references-to-extern-type almost like raw pointers in Stacked Borrows -- which of course is unsound, it's not how LLVM works. I was planning to make Miri emit a warning when this happens to avoid cases like [this](https://github.com/rust-lang/rust/issues/126814#issuecomment-2183816373) where people use extern type specifically to silence Miri without realizing what happens. but with the formatting machinery using extern type, this warning would just show up everywhere... > > The "proper" way to do this in Stacked Borrows is to use raw pointers (or `NonNull`). This PR does just that. r? ```@RalfJung```
2024-06-28Remove unnecessary SeqCst in `impl fmt::Pointer for AtomicPtr`Sky-1/+1
2024-06-28docs: say "includes" instead of "does include"Sky-4/+4
2024-06-27Remove (deprecated & unstable) {to,from}_bits pointer methodsSky-131/+0
2024-06-27add () to the marker_impls macro for ConstParamTySky-4/+1
seems to have escaped bootstrap
2024-06-27Mark `Hasher::finish` as #[must_use]Jake Goulding-0/+1
2024-06-27fix least significant digits of f128 associated constantsTrevor Spiteri-3/+3
While the numbers are parsed to the correct value, the decimal numbers in the source were rounded to zero instead of to the nearest, making the literals different from the values shown in the documentation.
2024-06-27Fix documentation of arguments of function `core::arch::x86::_mm_blendv_epi8`Mathilda-2/+2
2024-06-27Fix _mm256_bsrli_epi128 producing invalid lower lane when IMM8 = 15Jayesskay-1/+1
2024-06-27Assign Rust v1.81.0daxpedda-29/+29
2024-06-27Add unsigned aliasesdaxpedda-0/+40
2024-06-27Stabilize Wasm relaxed SIMDdaxpedda-31/+31
2024-06-27core: improve commentjoboet-2/+2
Co-authored-by: Ralf Jung <post@ralfj.de>
2024-06-27Cleanup bootstrap check-cfgUrgau-6/+0
2024-06-27Rollup merge of #126980 - Borgerr:fix-extendfromslice-check, r=workingjubileeJacob Pratt-1/+25
set self.is_known_utf8 to false in extend_from_slice try-job: x86_64-msvc closes #126977 Related to #126885, #126333, and [this conversation](<https://github.com/rust-lang/rust/commit/aa46a3368eb017eba41bfab956c7787d46c09935#r143539097>)
2024-06-27Rollup merge of #126929 - nnethercote:rm-__rust_force_expr, r=oli-obkJacob Pratt-14/+4
Remove `__rust_force_expr`. This was added (with a different name) to improve an error message. It is no longer needed -- removing it changes the error message, but overall I think the new message is no worse: - the mention of `#` in the first line is a little worse, - but the extra context makes it very clear what the problem is, perhaps even clearer than the old message, - and the removal of the note about the `expr` fragment (an internal detail of `__rust_force_expr`) is an improvement. Overall I think the error is quite clear and still far better than the old message that prompted #61933, which didn't even mention patterns. The motivation for this is #124141, which will cause pasted metavariables to be tokenized and reparsed instead of the AST node being cached. This change in behaviour occasionally has a non-zero perf cost, and `__rust_force_expr` causes the tokenize/reparse step to occur twice. Removing `__rust_force_expr` greatly reduces the extra overhead for the `deep-vector` benchmark. r? ```@oli-obk```
2024-06-26Auto merge of #126608 - tgross35:f16-f128-library, r=Mark-Simulacrumbors-148/+2638
Add more constants, functions, and tests for `f16` and `f128` This adds everything that was in some way blocked on const eval, since https://github.com/rust-lang/rust/pull/126429 landed. There is a lot of `cfg(bootstrap)` since that is a fairly recent change. `f128` tests are disabled on everything except x86_64 and Linux aarch64, which are two platforms I know have "good" support for these types - meaning basic math symbols are available and LLVM doesn't hit selection crashes. `f16` tests are enabled on almost everything except for known LLVM crashes. Doctests are only enabled on x86_64. Tracking issue: https://github.com/rust-lang/rust/issues/116909
2024-06-25std: test a variety of ways to extend a Wtf8BufJubilee Young-0/+24
2024-06-25set self.is_known_utf8 to false in extend_from_sliceash-1/+1
2024-06-26Rollup merge of #126879 - the8472:next-chunk-filter-drop, r=cuviperMatthias Krüger-45/+58
fix Drop items getting leaked in Filter::next_chunk The optimization only makes sense for non-drop elements anyway. Use the default implementation for items that are Drop instead. It also simplifies the implementation. fixes #126872 tracking issue #98326
2024-06-26core: avoid `extern` types in formatting infrastructurejoboet-21/+25
2024-06-25Enable `f128 -> f16` tests on LinuxTrevor Gross-5/+2
Since updating the docker images in <https://github.com/rust-lang/compiler-builtins/pull/625>, it looks like `__extendhftf2` and `__trunctfhf2` are available on all 64-bit Linux platforms.