about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2025-09-19fixes for numerous clippy warningsMarijn Schouten-39/+33
2025-09-19Allow running `x <cmd> <path>` from a different directoryJakub Beránek-5/+17
2025-09-19Merge pull request #20697 from Oblarg/fix-negative-const-generic-literalsShoyu Vanilla (Flint)-1/+47
fix negative const generic integer literals
2025-09-19address review feedbackOblarg-0/+23
2025-09-19Merge pull request #20703 from ShoyuVanilla/remove-chalk-solveLaurențiu Nicola-88/+16
minor: Get rid of unused deps `chalk-solve` and `chalk-recursive`
2025-09-19minor: Get rid of unused deps `chalk-solve` and `chalk-recursive`Shoyu Vanilla-88/+16
2025-09-19Rollup merge of #146740 - RalfJung:miri, r=RalfJungStuart Cook-1749/+7466
miri subtree update Subtree update of `miri` to https://github.com/rust-lang/miri/commit/5a142000d23c75684315e63cad0fb4e2fbcd8bc2. Created using https://github.com/rust-lang/josh-sync. r? ``@ghost``
2025-09-19Rollup merge of #146738 - beepster4096:widnows, r=jieyouxuStuart Cook-1/+1
Fix tidy spellchecking on Windows Tidy should now check for executable with the right extension for the platform when installing tools
2025-09-19Rollup merge of #146709 - a4lg:stdarch-sync-20250917, r=KobzolStuart Cook-10367/+1891
stdarch subtree update Subtree update of `stdarch` to [rust-lang/stdarch@9f12c1a](https://github.com/rust-lang/stdarch/commit/9f12c1af60d390b7ed7024113184cf2a8073fc54). Created using https://github.com/rust-lang/josh-sync. r? ```@Kobzol```
2025-09-19Rollup merge of #146691 - alexcrichton:wasip1-remove-dir-all-buffer, r=juntyrStuart Cook-1/+8
std: Fix WASI implementation of `remove_dir_all` This commit is a change to the WASI-specific implementation of the `std::fs::remove_dir_all` function. Specifically it changes how directory entries are read of a directory-being-deleted to specifically buffer them all into a `Vec` before actually proceeding to delete anything. This is necessary to fix an interaction with how the WASIp1 `fd_readdir` API works to have everything work out in the face of mutations while reading a directory. The basic problem is that `fd_readdir`, the WASIp1 API for reading directories, is not a stateful read of a directory but instead a "seekable" read of a directory. Its `cookie` argument enables seeking anywhere within the directory at any time to read further entries. Native host implementations do not have this ability, however, which means that this seeking property must be achieved by re-reading the directory. The problem with this is that WASIp1 has under-specified semantics around what should happen if a directory is mutated between two calls to `fd_readdir`. In essence there's not really any possible implementation in hosts except to read the entire directory and support seeking through the already-read list. This implementation is not possible in the WASIp1-to-WASIp2 adapter that is primarily used to create components for the `wasm32-wasip2` target where it has constrained memory requirements and can't buffer up arbitrarily sized directories. There's some more detailed discussion at https://github.com/bytecodealliance/wasmtime/issues/11701#issuecomment-3299957213 as well. The WASIp1 API definitions are effectively "dead" now at the standards level meaning that `fd_readdir` won't be changing nor will a replacement be coming. For the `wasm32-wasip2` target this will get fixed once filesystem APIs are updated to use WASIp2 directly instead of WASIp1, making this buffering unnecessary. In essence while this is a hack it's sort of the least invasive thing that works everywhere for now. I don't think this is viable to fix in hosts so guests compiled to wasm are going to have to work around it by not relying on any guarantees about what happens to a directory if it's mutated between reads.
2025-09-19Rollup merge of #146663 - erickt:win, r=wesleywiserStuart Cook-2/+22
Allow windows resource compiler to be overridden In rust-lang/rust#146018, it is now required to provide a resource compiler on windows when compiling rust. This allows toolchain builders to explicitly provide a path to an alternative, such as llvm-rc, instead of the one that's provided by the Windows SDK. cc ```@lambdageek```
2025-09-19Rollup merge of #146638 - lcnr:canonical-separate-module, r=BoxyUwUStuart Cook-556/+576
`rustc_next_trait_solver`: canonical out of `EvalCtxt` we need to canonicalize outside of the trait solver as well, so it's just a lot nicer if canonicalization is more easily accessible if you review it commit by commit the move is properly shown
2025-09-19Rollup merge of #146615 - a4lg:codegen-llvm-feature-conversion-tidying, ↵Stuart Cook-22/+20
r=workingjubilee rustc_codegen_llvm: Feature Conversion Tidying The author thinks we can improve `to_llvm_features`, a function to convert a Rust target feature name into an LLVM feature (or nothing, to ignore features unsupported by LLVM) for better maintainability. 1. We can simplify some clauses and some expressions. 2. There are some readability issues. This PR attempts to resolve some of them by tidying many cases.
2025-09-19Rollup merge of #146541 - joboet:simplify-lookup-host, r=tgross35Stuart Cook-212/+51
std: simplify host lookup The logic for splitting up a string into a hostname and port is currently duplicated across (nearly) all of the networking implementations in `sys`. Since it does not actually rely on any system internals, this PR moves it to the `ToSocketAddr` implementation for `&str`, making it easier to discover and maintain. On the other hand, the `ToSocketAddr` implementation (or rather the `resolve_socket_addr` function) contained logic to overwrite the port on the socket addresses returned by `LookupHost`, even though `LookupHost` is already aware of the port and sets the port already on Xous. This PR thus removes this logic by moving the responsibility of setting the port to the system-specific `LookupHost` implementation. As a consequence of these changes, there remains only one way of creating `LookupHost`, hence I've removed the `TryFrom` implementations in favour of a `lookup_host` function, mirroring other, public iterator-based features. And finally, I've simplified the parsing logic responsible for recognising IP addresses passed to `<(&str, u16)>::to_socket_addrs()` by using the `FromStr` impl of `IpAddr` rather than duplicating the parsing for both IP versions.
2025-09-19Rollup merge of #146484 - notriddle:stringdex-js-opt, r=GuillaumeGomezStuart Cook-140/+290
rustdoc-search: JavaScript optimization based on Firefox Profiler output Part of https://github.com/rust-lang/rust/issues/146048 Preview: https://notriddle.com/rustdoc-html-demo-12/stringdex-js-opt/std/index.html These commits are based on some profiler readings, and should reduce CPU usage for name-based searching. - The first commit improves warm searches by allocating less garbage when data is already loaded: Before: https://profiler.firefox.com/public/wvzd88m8r70p8frvz1z628tv3htwna0b9c0ef10/calltree/?globalTrackOrder=0w2&implementation=js&thread=3&v=11 After: https://profiler.firefox.com/public/yfe9aq6ep3kacw3zmr7jqn6gv7ckfq86rg89568/calltree/?globalTrackOrder=0w2&implementation=js&thread=3&v=11 - The second commit improves cold searches by delaying load for special type names until type-based search runs Before: 5.86s (throttled to "Good 2G" in Dev Tools) <https://doc.rust-lang.org/nightly/std/index.html?search=> <img width="2524" height="919" alt="image" src="https://github.com/user-attachments/assets/8dbbbd46-b7ab-4e3c-9e8c-f1e41cfaa968" /> After: 5.77s (throttled to "Good 2G" in Dev Tools) <https://notriddle.com/rustdoc-html-demo-12/stringdex-js-opt/std/index.html?search=> <img width="2524" height="912" alt="image" src="https://github.com/user-attachments/assets/6976a584-24f4-4d47-8118-7a81b22d411e" /> For comparison's sake, the same test takes 12.17s on stable <https://doc.rust-lang.org/1.89.0/std/index.html?search=> <img width="2525" height="916" alt="image" src="https://github.com/user-attachments/assets/eb6df2e8-6632-4bef-a6d0-5179c6288fd0" />
2025-09-19Rollup merge of #146229 - Hayden602:issue-142796-fix, r=ZuseZ4Stuart Cook-6/+12
Automatically switch to lto-fat when flag RUSTFLAGS="- Zautodiff=Enable" is set …t" is automatically set. closes: [#142796](https://github.com/rust-lang/rust/issues/142796)
2025-09-19Auto merge of #145737 - cjgillot:gvn-valueset, r=saethlinbors-44/+180
GVN: stop hashing opaque values GVN generates values that are not meant to be unified with any other. For instance `Opaque` (aka we don't know anything), non-deterministic constants and borrows. The current algorithm generates a unique index, so the generated `Value` will be different from all the existing. This is wasteful, as we should not hash that `Value` at all. This PR proposes to do this. This involves partially reimplementing a `FxIndexSet`, but yields a small but consistent perf improvement (https://github.com/rust-lang/rust/pull/145737#issuecomment-3276951054).
2025-09-19Fix `else` completion before else keywordA4-Tacks-3/+133
Example --- ```rust fn foo() { let x = if true { 1 } el$0 else { 2 }; } ``` **Before this PR**: ```text else~ k [LS] else if~ k [LS] ``` **After this PR**: ```text else if~ k [LS] ```
2025-09-19Fix test suite in iOS/tvOS/watchOS/visionOS simulatorMads Marquart-32/+179
2025-09-19Document how to test with iOS/tvOS/watchOS/visionOS simulatorMads Marquart-41/+51
2025-09-19Remove some unnecessary `as u64` castsZalathar-4/+4
In each of these casts, the LHS is already `u64`.
2025-09-19Use `LLVMDIBuilderCreate(Auto|Parameter)Variable`Zalathar-62/+57
2025-09-19std: simplify host lookupjoboet-212/+51
2025-09-19Merge pull request #4594 from RalfJung/clippyRalf Jung-2/+2
fix clippy warning: use if let
2025-09-19Allow running remote-test-server on Apple simulatorsMads Marquart-4/+15
2025-09-19fix clippy warningRalf Jung-2/+2
2025-09-19Use `LLVMDIBuilder(CreateExpression|InsertDeclareRecordAtEnd)`Zalathar-28/+26
2025-09-19fix miri bootstrap buildRalf Jung-2/+16
2025-09-19autodiff: typetree recursive depth query from enzyme with fallbackKaran Janthe-20/+24
Signed-off-by: Karan Janthe <karanjanthe@gmail.com>
2025-09-19Add `#[track_caller]` for check_assist_by_labelA4-Tacks-0/+1
2025-09-19Fix extract_variable on LetExprA4-Tacks-1/+28
Example --- ```rust fn main() { if $0let$0 Some(x) = Some(2+2) {} } ``` **Before this PR**: ```rust fn main() { let $0var_name = let Some(x) = Some(2+2); if var_name {} } ``` **After this PR**: ```rust fn main() { let $0var_name = Some(2+2); if let Some(x) = var_name {} } ```
2025-09-19Merge pull request #2580 from rust-lang/tshepang-patch-2许杰友 Jieyou Xu (Joe)-0/+4
point to Compiler team docs on Forge
2025-09-19Merge pull request #20699 from lnicola/ena-fingerprintLaurențiu Nicola-0/+6
minor: Set `WithCachedTypeInfo::stable_hash` when in-tree
2025-09-19Set WithCachedTypeInfo::stable_hash when in-treeLaurențiu Nicola-0/+6
2025-09-19Use `LLVMDIBuilderGetOrCreateArray`Zalathar-16/+7
2025-09-19Use `LLVMDIBuilderGetOrCreateSubrange`Zalathar-15/+8
2025-09-19autodiff: recurion added for typetreeKaran Janthe-20/+191
2025-09-19autodiff: fixed test to be more precise for type tree checkingKaran Janthe-87/+120
2025-09-19autodiff: struct support in typetreeKaran Janthe-0/+67
2025-09-19autodiff: tuple support in typetreeKaran Janthe-0/+64
2025-09-19autodiff: slice support in typetreeKaran Janthe-0/+36
2025-09-19autodiff: add TypeTree support for arraysKaran Janthe-1/+69
2025-09-19autodiff: f128 support added for typetreeKaran Janthe-2/+2
2025-09-19enzyme submodule updatedKaran Janthe-0/+0
2025-09-19typo: allow EnzymeTypeTreeShiftIndiciesEqKaran Janthe-0/+1
2025-09-19added typetree support for memcpyKaran Janthe-34/+135
2025-09-19Add TypeTree tests for scalar typesKaran Janthe-0/+154
- Add specific tests for f32, f64, i32, f16, f128 TypeTree generation - Verify correct enzyme_type metadata for each scalar type - Ensure TypeTree metadata matches expected Enzyme format Signed-off-by: Karan Janthe <karanjanthe@gmail.com>
2025-09-19Update TypeTree tests to verify metadata attachmentKaran Janthe-28/+29
- Fix nott-flag test to emit LLVM IR and check enzyme_type attributes - Replace TODO comments with actual TypeTree metadata verification - Test that NoTT flag properly disables TypeTree generation - Test that TypeTree enabled generates proper enzyme_type attributes Signed-off-by: Karan Janthe <karanjanthe@gmail.com>
2025-09-19Add TypeTree metadata attachment for autodiffKaran Janthe-14/+343
- Add F128 support to TypeTree Kind enum - Implement TypeTree FFI bindings and conversion functions - Add typetree.rs module for metadata attachment to LLVM functions - Integrate TypeTree generation with autodiff intrinsic pipeline - Support scalar types: f32, f64, integers, f16, f128 - Attach enzyme_type attributes as LLVM string metadata for Enzyme Signed-off-by: Karan Janthe <karanjanthe@gmail.com>
2025-09-19autodiff: Add basic TypeTree with NoTT flagKaran Janthe-5/+212
Signed-off-by: Karan Janthe <karanjanthe@gmail.com>