Skip to content
Closed
Changes from 2 commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
011d95b
Neon fast path for str::contains
JamieCunliffe Jan 27, 2026
d05eb78
std: move `exit` out of PAL
joboet Feb 15, 2026
b0050c2
move `must_use` lint to a separate file
WaffleLapkin Feb 23, 2026
c6ae0a9
make `is_ty_must_use` public
WaffleLapkin Feb 23, 2026
696a105
`must_use`: internal doc improvements
WaffleLapkin Feb 23, 2026
b2cc4d5
`must_use`: make the check for trivial types cleaner
WaffleLapkin Feb 23, 2026
ae1e2c6
`must_use`: drive-by-cleanup
WaffleLapkin Feb 23, 2026
1b97e9b
add a flag to `is_ty_must_use` to simplify `Result<T, Uninhabited>` a…
WaffleLapkin Feb 23, 2026
a67baaa
Update books
rustbot Feb 23, 2026
8ac769f
Remove `rustc_feedable_queries` and `define_feedable` macros.
nnethercote Feb 23, 2026
092d4fb
Fix attribute parser and kind names.
nnethercote Feb 24, 2026
bf0f511
Clarify how "ensure" queries check whether they can skip execution
Zalathar Feb 24, 2026
16fbd29
Streamline `QueryVTableUnerased` into `GetQueryVTable`
Zalathar Feb 23, 2026
f8b5f9c
Port `#[register_tool]` to the new attribute parsers
JonathanBrouwer Feb 22, 2026
07bf6ae
Use the new parser throughout the compiler
JonathanBrouwer Feb 22, 2026
a7fb617
Rollup merge of #152176 - JamieCunliffe:neon-str-contains, r=Mark-Sim…
JonathanBrouwer Feb 24, 2026
f62e143
Rollup merge of #152657 - joboet:move_pal_exit, r=jhpratt
JonathanBrouwer Feb 24, 2026
4a5dd7d
Rollup merge of #152841 - Zalathar:unerased, r=nnethercote
JonathanBrouwer Feb 24, 2026
535d041
Rollup merge of #153009 - nnethercote:rm-define_feedable, r=oli-obk
JonathanBrouwer Feb 24, 2026
4288d87
Rollup merge of #152988 - JonathanBrouwer:register-tool, r=jdonszelmann
JonathanBrouwer Feb 24, 2026
a2e2b0e
Rollup merge of #153018 - WaffleLapkin:must_use_improvements, r=jdons…
JonathanBrouwer Feb 24, 2026
542729a
Rollup merge of #153023 - rustbot:docs-update, r=ehuss
JonathanBrouwer Feb 24, 2026
98a0c51
Rollup merge of #153032 - nnethercote:fix-attribute-names, r=Jonathan…
JonathanBrouwer Feb 24, 2026
38000b1
Rollup merge of #153033 - Zalathar:ensure, r=nnethercote
JonathanBrouwer Feb 24, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions library/core/src/str/pattern.rs
Original file line number Diff line number Diff line change
Expand Up @@ -997,7 +997,8 @@ impl<'b> Pattern for &'b str {

#[cfg(any(
all(target_arch = "x86_64", target_feature = "sse2"),
all(target_arch = "loongarch64", target_feature = "lsx")
all(target_arch = "loongarch64", target_feature = "lsx"),
all(target_arch = "aarch64", target_feature = "neon")
))]
if self.len() <= 32 {
if let Some(result) = simd_contains(self, haystack) {
Expand Down Expand Up @@ -1782,7 +1783,8 @@ impl TwoWayStrategy for RejectAndMatch {
/// [0]: http://0x80.pl/articles/simd-strfind.html#sse-avx2
#[cfg(any(
all(target_arch = "x86_64", target_feature = "sse2"),
all(target_arch = "loongarch64", target_feature = "lsx")
all(target_arch = "loongarch64", target_feature = "lsx"),
all(target_arch = "aarch64", target_feature = "neon")
))]
#[inline]
fn simd_contains(needle: &str, haystack: &str) -> Option<bool> {
Expand Down Expand Up @@ -1917,7 +1919,8 @@ fn simd_contains(needle: &str, haystack: &str) -> Option<bool> {
/// Both slices must have the same length.
#[cfg(any(
all(target_arch = "x86_64", target_feature = "sse2"),
all(target_arch = "loongarch64", target_feature = "lsx")
all(target_arch = "loongarch64", target_feature = "lsx"),
all(target_arch = "aarch64", target_feature = "neon")
))]
#[inline]
unsafe fn small_slice_eq(x: &[u8], y: &[u8]) -> bool {
Expand Down