-
Notifications
You must be signed in to change notification settings - Fork 12.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rollup of 12 pull requests #132317
Rollup of 12 pull requests #132317
Conversation
Clarified what method does when `truncate` parameter is set to `true`.
Co-authored-by: nora <48135649+Noratrieb@users.noreply.github.com>
It was useful at one time, but now it just causes notification noise.
+ some minor style changes
After moving some `Box` internals to a different module, the path in the diagnostic changed.
It's conditioned on `only-x86_64` because it doesn't reliably fail on other platforms, it's optimization dependent and failed to ICE post-PGO in <rust-lang#132300 (comment)>. Remove this test for now without prejudice against relanding the test in a more reliable form.
compiler: apply clippy::clone_on_ref_ptr for CI Apply lint https://rust-lang.github.io/rust-clippy/master/index.html#/clone_on_ref_ptr for compiler, also see rust-lang#131225 (comment). Some Arc's can be misplaced with Lrc's, sorry. https://rust-lang.zulipchat.com/#narrow/channel/131828-t-compiler/topic/enable.20more.20clippy.20lints.20for.20compiler.20.28and.5Cor.20std.29
Mark `str::is_char_boundary` and `str::split_at*` unstably `const`. Tracking issues: rust-lang#131516, rust-lang#131518 First commit implements `const_is_char_boundary`, second commit implements `const_str_split_at` (which depends on `const_is_char_boundary`) ~~I used `const_eval_select` for `is_char_boundary` since there is a comment about optimizations that would theoretically not happen with the simple `const`-compatible version (since `slice::get` is not `const`ifiable) cc rust-lang#84751. I have not checked if this code difference is still required for the optimization, so it might not be worth the code complication, but 🤷.~~ This changes `str::split_at_checked` to use a new private helper function `split_at_unchecked` (copied from `split_at_mut_unchecked`) that does pointer stuff instead of `get_unchecked`, since that is not currently `const`ifiable due to using the `SliceIndex` trait.
…, r=lcnr Hack out effects support for old solver Opening this for vibes ✨ Turns out that a basic, somewhat incomplete implementation of host effects is achievable in the old trait solver pretty easily. This should be sufficient for us to use in the standard library itself. Regarding incompleteness, maybe we should always treat host predicates as ambiguous in intercrate mode (at least in the old solver) to avoid any worries about accidental impl overlap or something. r? ```@lcnr``` cc ```@fee1-dead```
…=spastorino Collect item bounds for RPITITs from trait where clauses just like associated types We collect item bounds from trait where clauses for *associated types*, i.e. this: ```rust trait Foo where Self::Assoc: Send { type Assoc; } ``` Becomes this: ```rust trait Foo { type Assoc: Send; } ``` Today, with RPITITs/AFIT and return-type notation, we don't do that, i.e.: ```rust trait Foo where Self::method(..): Send { fn method() -> impl Sized; } fn is_send(_: impl Send) {} fn test<T: Foo>() { is_send(T::method()); } ``` ...which fails on nightly today. Turns out it's super easy to fix this, and we just need to use the `associated_type_bounds` lowering function in `explicit_item_bounds_with_filter`, which has that logic baked in.
correct LLVMRustCreateThinLTOData arg types `LLVMRustCreateThinLTOData` defined in rust as ```rust pub fn LLVMRustCreateThinLTOData( Modules: *const ThinLTOModule, NumModules: c_uint, PreservedSymbols: *const *const c_char, PreservedSymbolsLen: c_uint, ) -> Option<&'static mut ThinLTOData>; ``` but in cpp as ```cpp extern "C" LLVMRustThinLTOData * LLVMRustCreateThinLTOData(LLVMRustThinLTOModule *modules, int num_modules, const char **preserved_symbols, int num_symbols) { ``` (note `c_unit` vs `int` types). Let it be actually `size_t`. Also fixes return type of `LLVMRustDIBuilderCreateOpLLVMFragment` to uint64_t as other similar functions around, which should be correct, i assume.
…orkingjubilee Split `boxed.rs` into a few modules I wanted to add an impl for `Box<_>`, but was quickly discouraged by the 3K file. This splits off a couple bits, making it at least a bit more manageable. r? ````@workingjubilee```` (I think you are not bothered by refactorings like this?)
…a-kruppe,beetrees,workingjubilee riscv-soft-abi-with-float-features.rs: adapt for LLVM 20 Adapts a test for LLVM 20. No functional changes intended.
…oratrieb clarified doc for `std::fs::OpenOptions.truncate()` Clarified what method does when `std::fs::OpenOptions.truncate()` parameter is set to `true`.
Remove my ping for rustdoc/clean/types.rs It was useful at one time, but now it just causes notification noise.
…t, r=lqd Remove myself from mentions inside `tests/ui/check-cfg` directory This PR removes myself from mentions inside `tests/ui/check-cfg` directory. I'm not sure this particular mention has ever been useful to me, and lately it's been too annoying for me to ignore it. So remove my-self from it.
…atthiaskrgr Delete `tests/crashes/23707.rs` because it's flaky It's conditioned on `only-x86_64` because it doesn't reliably fail on other platforms, it's optimization dependent and failed to ICE post-PGO in <rust-lang#132300 (comment)>. Remove this test for now without prejudice against relanding the test in a more reliable form. I removed the `S-bug-has-test` label from rust-lang#23707. r? compiler
compiletest: Rename `command-list.rs` to `directive-list.rs` Because I forget the name of this file literally every single time I need to find and edit it. r? jieyouxu
@bors r+ rollup=never p=12 |
☀️ Test successful - checks-actions |
📌 Perf builds for each rolled up PR:
previous master: c8a8c82035 In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
Finished benchmarking commit (2dece5b): comparison URL. Overall result: ❌✅ regressions and improvements - please read the text belowOur benchmarks found a performance regression caused by this PR. Next Steps:
@rustbot label: +perf-regression Instruction countThis is the most reliable metric that we have; it was used to determine the overall result at the top of this comment. However, even this metric can sometimes exhibit noise.
Max RSS (memory usage)Results (primary 1.7%, secondary 2.1%)This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
CyclesResults (primary -2.5%, secondary 2.1%)This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
Binary sizeResults (primary 0.0%, secondary -0.1%)This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
Bootstrap: 783.219s -> 784.701s (0.19%) |
…kingjubilee Rollup of 12 pull requests Successful merges: - rust-lang#131375 (compiler: apply clippy::clone_on_ref_ptr for CI) - rust-lang#131520 (Mark `str::is_char_boundary` and `str::split_at*` unstably `const`.) - rust-lang#132119 (Hack out effects support for old solver) - rust-lang#132194 (Collect item bounds for RPITITs from trait where clauses just like associated types) - rust-lang#132216 (correct LLVMRustCreateThinLTOData arg types) - rust-lang#132233 (Split `boxed.rs` into a few modules) - rust-lang#132266 (riscv-soft-abi-with-float-features.rs: adapt for LLVM 20) - rust-lang#132270 (clarified doc for `std::fs::OpenOptions.truncate()`) - rust-lang#132284 (Remove my ping for rustdoc/clean/types.rs) - rust-lang#132293 (Remove myself from mentions inside `tests/ui/check-cfg` directory) - rust-lang#132312 (Delete `tests/crashes/23707.rs` because it's flaky) - rust-lang#132313 (compiletest: Rename `command-list.rs` to `directive-list.rs`) r? `@ghost` `@rustbot` modify labels: rollup
Looks like a bit more time spent in LLVM? Might have been caused by a few PRs in this rollup, but the total result is a wash, so I don't think it's needed to dig deeper into this. @rustbot label: +perf-regression-triaged |
Successful merges:
str::is_char_boundary
andstr::split_at*
unstablyconst
. #131520 (Markstr::is_char_boundary
andstr::split_at*
unstablyconst
.)boxed.rs
into a few modules #132233 (Splitboxed.rs
into a few modules)std::fs::OpenOptions.truncate()
#132270 (clarified doc forstd::fs::OpenOptions.truncate()
)tests/ui/check-cfg
directory #132293 (Remove myself from mentions insidetests/ui/check-cfg
directory)tests/crashes/23707.rs
because it's flaky #132312 (Deletetests/crashes/23707.rs
because it's flaky)command-list.rs
todirective-list.rs
#132313 (compiletest: Renamecommand-list.rs
todirective-list.rs
)r? @ghost
@rustbot modify labels: rollup
Create a similar rollup