about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2025-08-17Switch TraitRef in hir::TraitRef to next solverjackh726-41/+288
2025-08-17Replace layout_of_ty with layout_of_ty_nsjackh726-73/+75
2025-08-17Remove all_super_traits in dyn_compatibilityjackh726-7/+33
2025-08-17Switch generics_require_sized_self to next solverjackh726-25/+17
2025-08-17Convert more of dyn_compatibility to next-solverjackh726-153/+130
2025-08-17Switch associated_type_shorthand_candidates to lower_nextsolverjackh726-159/+197
2025-08-17Cleanup assoc_type_shorthand_candidatesjackh726-14/+13
2025-08-17Change direct_super_traits to use generic_predicates_for_param_nsjackh726-25/+50
2025-08-17Convert some of mir/eval to next-solver typesjackh726-132/+258
2025-08-17Deduplicate layout_of_adtjackh726-47/+19
2025-08-17impl HirDisplay for next_solver::Tyjackh726-392/+584
2025-08-17Convert more of dyn_compatibility to next-solverjackh726-130/+123
2025-08-17Convert some of dyn_compatibility to next-solver and remove ↵jackh726-53/+79
generic_predicates_without_parent_query
2025-08-17clean-up `collapsible_if` a bit (#15503)llogiq-16/+6
changelog: none
2025-08-17Add `-Zindirect-branch-cs-prefix` optionMiguel Ojeda-5/+88
This is intended to be used for Linux kernel RETPOLINE builds. Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
2025-08-17Add -Zindirect-branch-cs-prefix (from draft PR)Alice Ryhl-0/+30
2025-08-17resolve: debug for block modulebohan-1/+4
2025-08-17Add `//@ ignore-stage1` to query_stability.rs testSamuel Moelius-10/+11
2025-08-17Add runtime detection for APX-F and AVX10sayantn-25/+47
2025-08-17Merge pull request #20475 from ShoyuVanilla/analysis-std-panicChayim Refael Friedman-68/+166
fix: Make lang items query properly filter out overwritten/excluded sysroots
2025-08-17fix: Make lang items query properly filter out overwritten/excluded sysrootsShoyu Vanilla-68/+166
2025-08-17fix: python formatting errornilptr-4/+4
2025-08-17feat(lldb debug info): deref pointer types for more accurate rust type ↵nilptr-0/+3
classification
2025-08-17feat(lldb debug info): improve enum value formatting in lldbnilptr-21/+20
2025-08-17Misc `clippy_dev` changes (#14896)Jason Newcomb-183/+160
changelog: none
2025-08-17Auto merge of #145284 - nnethercote:type_name-print-regions, r=lcnrbors-57/+78
Print regions in `type_name`. Currently they are skipped, which is a bit weird, and it sometimes causes malformed output like `Foo<>` and `dyn Bar<, A = u32>`. Most regions are erased by the time `type_name` does its work. So all regions are now printed as `'_` in non-optional places. Not perfect, but better than the status quo. `c_name` is updated to trim lifetimes from MIR pass names, so that the `PASS_NAMES` sanity check still works. It is also renamed as `simplify_pass_type_name` and made non-const, because it doesn't need to be const and the non-const implementation is much shorter. The commit also renames `should_print_region` as `should_print_optional_region`, which makes it clearer that it only applies to some regions. Fixes rust-lang/rust#145168. r? `@lcnr`
2025-08-17stdlib: Replace typedef -> type alias in doc commentVarun Gandhi-1/+1
2025-08-17Rust build fails on OpenBSD after using file_lock featureSebastien Marie-0/+10
PR 130999 added the file_lock feature, but doesn't included OpenBSD in the supported targets (Tier 3 platform), leading to a compilation error ("try_lock() not supported").
2025-08-17Auto merge of #144081 - RalfJung:const-ptr-fragments, r=oli-obkbors-358/+542
const-eval: full support for pointer fragments This fixes https://github.com/rust-lang/const-eval/issues/72 and makes `swap_nonoverlapping` fully work in const-eval by enhancing per-byte provenance tracking with tracking of *which* of the bytes of the pointer this one is. Later, if we see all the same bytes in the exact same order, we can treat it like a whole pointer again without ever risking a leak of the data bytes (that encode the offset into the allocation). This lifts the limitation that was discussed quite a bit in https://github.com/rust-lang/rust/pull/137280. For a concrete piece of code that used to fail and now works properly consider this example doing a byte-for-byte memcpy in const without using intrinsics: ```rust use std::{mem::{self, MaybeUninit}, ptr}; type Byte = MaybeUninit<u8>; const unsafe fn memcpy(dst: *mut Byte, src: *const Byte, n: usize) { let mut i = 0; while i < n { *dst.add(i) = *src.add(i); i += 1; } } const _MEMCPY: () = unsafe { let ptr = &42; let mut ptr2 = ptr::null::<i32>(); // Copy from ptr to ptr2. memcpy(&mut ptr2 as *mut _ as *mut _, &ptr as *const _ as *const _, mem::size_of::<&i32>()); assert!(*ptr2 == 42); }; ``` What makes this code tricky is that pointers are "opaque blobs" in const-eval, we cannot just let people look at the individual bytes since *we don't know what those bytes look like* -- that depends on the absolute address the pointed-to object will be placed at. The code above "breaks apart" a pointer into individual bytes, and then puts them back together in the same order elsewhere. This PR implements the logic to properly track how those individual bytes relate to the original pointer, and to recognize when they are in the right order again. We still reject constants where the final value contains a not-fully-put-together pointer: I have no idea how one could construct an LLVM global where one byte is defined as "the 3rd byte of a pointer to that other global over there" -- and even if LLVM supports this somehow, we can leave implementing that to a future PR. It seems unlikely to me anyone would even want this, but who knows.^^ This also changes the behavior of Miri, by tracking the order of bytes with provenance and only considering a pointer to have valid provenance if all bytes are in the original order again. This is related to https://github.com/rust-lang/unsafe-code-guidelines/issues/558. It means one cannot implement XOR linked lists with strict provenance any more, which is however only of theoretical interest. Practically I am curious if anyone will show up with any code that Miri now complains about - that would be interesting data. Cc `@rust-lang/opsem`
2025-08-17Optimize `char::encode_utf8`Karl Meakin-21/+26
Save a few instructions in `encode_utf8_raw_unchecked` by performing manual CSE.
2025-08-16Indent some code inside `cfg_select!`Josh Triplett-174/+178
The previous code inside `cfg_if!` wasn't indented, so the conversion to `cfg_select!` left it not indented. Indent it.
2025-08-16std: fix more typosbinarycat-2/+2
2025-08-16typos: allow moresobinarycat-0/+1
2025-08-16tidy: add better error reporting for if typos can't be runbinarycat-1/+0
2025-08-16tidy: run typos check in src root, not current dirbinarycat-4/+17
2025-08-16tidy now installs typos-cli as-needed via cargobinarycat-32/+80
2025-08-16Visit and print async_fut local for async drop.Camille Gillot-2/+12
2025-08-16Only unpack span data once.Camille Gillot-7/+7
2025-08-17refactor return type of `suggest_ampmut` into an enumDeadbeef-171/+178
2025-08-16`similar_names` stop linting for 3-char names (#15100)Alejandra González-3/+12
fixes rust-lang/rust-clippy#14869 Added a simple check if both chars are of length 3 If they are, we skip the check for that pair. This won't handle the 4 v 3 case. Not sure if this was the intent of the issue. Also saw we have some hardcoded exemptions for `set, get` and `lhs, rhs` Tried removing them thinking they would be handled by the new condition. But we have to keep because they allow for `bla_lhs` v `bla_rhs` to be skipped changelog:[`similar_names`]: Stop triggering for 3-character names
2025-08-16similar_names stop linting for 3-char names ↵Abderahmane Bouziane-3/+12
2025-08-16fmt::DisplayInt abstraction obsolete with better macroPascal S. de Kloe-94/+72
2025-08-16Only scan each definition once.Camille GILLOT-13/+16
2025-08-16Simplify span_data_to_lines_and_cols.Camille Gillot-16/+14
2025-08-16Simplify decode_span.Camille Gillot-28/+23
2025-08-16run spellcheck as a tidy extra check in cibinarycat-6/+6
2025-08-16overhaul `&mut` suggestions in borrowck errorsDeadbeef-332/+475
2025-08-16Clean up parsers related to generic boundsLeón Orell Valerian Liehr-103/+85
2025-08-16shorten `expr_block`Ada Alakbarova-9/+4
2025-08-16inline `ctxt`; use `eq_ctxt`Ada Alakbarova-2/+1