about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2024-09-19Rollup merge of #130558 - taiki-e:s390x-atomic-128, r=cuviperMatthias Krüger-2/+2
Support 128-bit atomics on s390x Since LLVM 18 (https://github.com/llvm/llvm-project/commit/c568927f3e2e7d9804ea74ecbf11c16c014ddcbc), 128-bit atomics are fully supported on s390x. And the current minimum external LLVM version is now 18 (https://github.com/rust-lang/rust/pull/130487). s390x 128-bit atomic instructions (lpq,stpq,cdsg) has been present since [the First Edition of the Principles of Operation](https://publibfp.dhe.ibm.com/epubs/pdf/dz9zr000.pdf). (LLVM's minimal supported architecture level [is z10 (the Eighth Edition of the PoP)](https://github.com/llvm/llvm-project/blob/llvmorg-19.1.0/llvm/lib/Target/SystemZ/SystemZProcessors.td#L16-L17).) cc https://github.com/rust-lang/rust/issues/99069 r? `@cuviper`
2024-09-19Rollup merge of #130556 - Urgau:link_cfg_internal, r=jieyouxuMatthias Krüger-1/+1
Mark the `link_cfg` feature as internal This PR marks the `link_cfg` feature as internal because it's a perme-unstable feature, only used by `core`/`std`and `unwind`.
2024-09-19Rollup merge of #130554 - ShE3py:unsupported-exitcode, r=NoratriebMatthias Krüger-7/+4
`pal::unsupported::process::ExitCode`: use an `u8` instead of a `bool` `ExitCode` should “represents the status code the current process can return to its parent under normal termination”, but is currently represented as a `bool` on unsupported platforms, making the `impl From<u8> for ExitCode` lossy. Fixes #130532. History: [IRLO thread](https://internals.rust-lang.org/t/mini-pre-rfc-redesigning-process-exitstatus/5426) (`ExitCode` as a `main` return), #48618 (initial impl), #93445 (`From<u8>` impl).
2024-09-19Rollup merge of #130553 - GnomedDev:remove-clippy-paths, r=compiler-errorsMatthias Krüger-163/+203
[Clippy] Get rid of most `std` `match_def_path` usage, swap to diagnostic items. Part of https://github.com/rust-lang/rust-clippy/issues/5393. This was going to remove all `std` paths, but `SeekFrom` has issues being cleanly replaced with a diagnostic item as the paths are for variants, which currently cannot be diagnostic items. This also, as a last step, categories the paths to help with future path removals.
2024-09-19Rollup merge of #128001 - Krappa322:master, r=scottmcmMatthias Krüger-26/+55
Improve documentation for <integer>::from_str_radix Two improvements to the documentation: - Document `-` as a valid character for signed integer destinations - Make the documentation even more clear that extra whitespace and non-digit characters is invalid. Many other languages, e.g. c++, are very permissive in string to integer routines and simply try to consume as much as they can, ignoring the rest. This is trying to make the transition for developers who are used to the conversion semantics in these languages a bit easier.
2024-09-19Auto merge of #130069 - GuillaumeGomez:gen-scraped-buttons, r=notriddlebors-38/+44
Generate scraped examples buttons in JS Follow-up of https://github.com/rust-lang/rust/pull/129796. To reduce the page size when there are scraped examples, we can generate their buttons in JS since they require JS to work in any case. There should be no changes in display or in functionality. You can test it [here](https://rustdoc.crud.net/imperio/gen-scraped-buttons/doc/scrape_examples/fn.test.html). cc `@willcrichton` r? `@notriddle`
2024-09-19Make `link_cfg` internal because it's in perme-unstableUrgau-1/+1
2024-09-19Auto merge of #130529 - onur-ozkan:better-ci-llvm-default, r=Kobzolbors-8/+12
change `download-ci-llvm` default from `if-unchanged` to `true` Since https://github.com/rust-lang/rust/pull/129473 and https://github.com/rust-lang/rust/pull/130202, using `download-ci-llvm=true` is now the better default and it also fixes #130515.
2024-09-19`pal::unsupported::process::ExitCode`: use an `u8` instead of a `bool`Lieselotte-7/+4
2024-09-19Categorise paths in `clippy_utils::paths`GnomedDev-13/+20
2024-09-19[Clippy] Swap `open_options` to use diagnostic items instead of pathsGnomedDev-13/+16
2024-09-19[Clippy] Swap `iter_over_hash_type` to use diagnostic items instead of pathsGnomedDev-32/+30
2024-09-19[Clippy] Swap `non_octal_unix_permissions` to use diagnostic item instead of ↵GnomedDev-4/+3
path
2024-09-19[Clippy] Swap `unnecessary_owned_empty_strings` to use diagnostic item ↵GnomedDev-3/+3
instead of path
2024-09-19[Clippy] Swap `manual_strip` to use diagnostic items instead of pathsGnomedDev-8/+11
2024-09-19[Clippy] Swap `unnecessary_to_owned` to use diagnostic item instead of pathGnomedDev-3/+4
2024-09-19[Clippy] Swap `instant_subtraction` to use diagnostic item instead of pathGnomedDev-2/+3
2024-09-19[Clippy] Swap `waker_clone_wake` to use diagnostic item instead of pathGnomedDev-3/+4
2024-09-19[Clippy] Swap `filter_map_bool_then` to use diagnostic item instead of pathGnomedDev-4/+4
2024-09-19[Clippy] Swap `manual_while_let_some` to use diagnostic items instead of pathsGnomedDev-11/+15
2024-09-19[Clippy] Swap `repeat_vec_with_capacity` to use diagnostic item instead of pathGnomedDev-7/+8
2024-09-19[Clippy] Swap `VecArgs::hir` to use diagnostic items instead of pathsGnomedDev-8/+11
2024-09-19[Clippy] Swap `single_char_add_str`/`format_push_string` to use diagnostic ↵GnomedDev-7/+9
items instead of paths
2024-09-19[Clippy] Swap `manual_main_separator_str` to use diagnostic item instead of pathGnomedDev-3/+4
2024-09-19[Clippy] Swap `redundant_clone` to use diagnostic items instead of pathsGnomedDev-5/+7
2024-09-19[Clippy] Swap `float_equality_without_abs` to use diagnostic items instead ↵GnomedDev-5/+7
of paths
2024-09-19[Clippy] Swap `option_as_ref_deref` to use diagnostic items instead of pathsGnomedDev-19/+26
2024-09-19add change-tracker for new download-ci-llvm defaultonur-ozkan-0/+5
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-09-19update `llvm.download-ci-llvm` documentationonur-ozkan-1/+1
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-09-19change download-ci-llvm default from "if-unchanged" to trueonur-ozkan-7/+6
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-09-19Support 128-bit atomics on s390xTaiki Endo-2/+2
2024-09-19Auto merge of #130406 - arttet:master, r=onur-ozkanbors-3/+12
Bump cc dependency * The [issue](https://github.com/rust-lang/rust/issues/130231) was fixed in the [PR](https://github.com/rust-lang/cc-rs/pull/1207) * The build artifacts of arm64e-apple-darwin can be found [here](https://github.com/arttet/rust-compiler-builder/actions/runs/10902308425)
2024-09-19[Clippy] Swap `lines_filter_map_ok` to use a diagnostic item instead of pathGnomedDev-3/+4
2024-09-19[Clippy] Swap `map_entry` to use diagnostic items instead of pathsGnomedDev-10/+14
2024-09-19Auto merge of #130547 - workingjubilee:rollup-tw30khz, r=workingjubileebors-9/+98
Rollup of 3 pull requests Successful merges: - #130531 (Check params for unsafety in THIR) - #130533 (Never patterns constitute a read for unsafety) - #130542 (Stabilize const `MaybeUninit::as_mut_ptr`) r? `@ghost` `@rustbot` modify labels: rollup
2024-09-18Rollup merge of #130542 - ultrabear:stabilize_const_maybeuninit_as_mut_ptr, ↵Jubilee-5/+5
r=workingjubilee Stabilize const `MaybeUninit::as_mut_ptr` This PR stabilizes the following APIs as const stable as of rust `1.83`: ```rs impl<T> MaybeUninit<T> { pub const fn as_mut_ptr(&mut self) -> *mut T; } ``` This is made possible by const_mut_refs being stabilized (yay). FCP: #75251 [(comment)](https://github.com/rust-lang/rust/issues/75251#issuecomment-2356197443)
2024-09-18Rollup merge of #130533 - compiler-errors:never-pat-unsafeck, r=NadrierilJubilee-4/+41
Never patterns constitute a read for unsafety This code is otherwise unsound if we don't emit an unsafety error here. Noticed when fixing #130528, but it's totally unrelated. r? `@Nadrieril`
2024-09-18Rollup merge of #130531 - compiler-errors:thir-unsafeck-param, r=UrgauJubilee-0/+52
Check params for unsafety in THIR Self-explanatory. I'm not surprised this was overlooked, given the way that THIR visitors work. Perhaps we should provide a better entrypoint. Fixes #130528
2024-09-19Auto merge of #130511 - bjoernager:const-char-encode-utf8, r=dtolnaybors-18/+15
Support `char::encode_utf8` in const scenarios. This PR implements [`rust-lang/rfcs#3696`](https://github.com/rust-lang/rfcs/pull/3696/). This assumes [`const_slice_from_raw_parts_mut`](https://github.com/rust-lang/rust/issues/67456/).
2024-09-18run `x.py fmt`ultrabear-1/+4
2024-09-18remove feature attributes as const_maybe_uninit_as_mut_ptr is stabilizedultrabear-3/+0
2024-09-18stabilize `const_maybe_uninit_as_mut_ptr`ultrabear-2/+2
2024-09-19Auto merge of #123877 - ShE3py:expr-in-pats-2, r=fmeasebors-412/+1813
Further improve diagnostics for expressions in pattern position Follow-up of #118625, see #121697. ```rs fn main() { match 'b' { y.0.0.1.z().f()? as u32 => {}, } } ``` Before: ``` error: expected one of `=>`, ``@`,` `if`, or `|`, found `.` --> src/main.rs:3:10 | 3 | y.0.0.1.z().f()? as u32 => {}, | ^ expected one of `=>`, ``@`,` `if`, or `|` ``` After: ``` error: expected a pattern, found an expression --> src/main.rs:3:9 | 3 | y.0.0.1.z().f()? as u32 => {}, | ^^^^^^^^^^^^^^^^^^^^^^^ arbitrary expressions are not allowed in patterns | help: consider moving the expression to a match arm guard | 3 | val if val == y.0.0.1.z().f()? as u32 => {}, | ~~~ +++++++++++++++++++++++++++++++++ help: consider extracting the expression into a `const` | 2 + const VAL: /* Type */ = y.0.0.1.z().f()? as u32; 3 ~ match 'b' { 4 ~ VAL => {}, | help: consider wrapping the expression in an inline `const` (requires `#![feature(inline_const_pat)]`) | 3 | const { y.0.0.1.z().f()? as u32 } => {}, | +++++++ + ``` --- r? fmease `@rustbot` label +A-diagnostics +A-parser +A-patterns +C-enhancement
2024-09-18Never patterns constitute a read for unsafetyMichael Goulet-4/+41
2024-09-18Mark and implement 'char::encode_utf8' as const.Gabriel Bjørnager Jensen-18/+15
2024-09-18Auto merge of #130534 - workingjubilee:rollup-furaug4, r=workingjubileebors-485/+686
Rollup of 9 pull requests Successful merges: - #97524 (Add `Thread::{into_raw, from_raw}`) - #127988 (Do not ICE with incorrect empty suggestion) - #129422 (Gate `repr(Rust)` correctly on non-ADT items) - #129934 (Win: Open dir for sync access in remove_dir_all) - #130450 (Reduce confusion about `make_indirect_byval` by renaming it) - #130476 (Implement ACP 429: add `Lazy{Cell,Lock}::get[_mut]` and `force_mut`) - #130487 (Update the minimum external LLVM to 18) - #130513 (Clarify docs for std::fs::File::write) - #130522 ([Clippy] Swap `manual_retain` to use diagnostic items instead of paths) r? `@ghost` `@rustbot` modify labels: rollup
2024-09-18Rollup merge of #130522 - GnomedDev:clippy-manual-retain-paths, ↵Jubilee-26/+35
r=compiler-errors [Clippy] Swap `manual_retain` to use diagnostic items instead of paths Part of https://github.com/rust-lang/rust-clippy/issues/5393, just a chore.
2024-09-18Rollup merge of #130513 - shekhirin:fs-write-doc-comment, r=cuviperJubilee-1/+1
Clarify docs for std::fs::File::write This PR fixes the doc comment for `std::fs::File::write` method.
2024-09-18Rollup merge of #130487 - cuviper:min-llvm-18, r=nikicJubilee-403/+89
Update the minimum external LLVM to 18 With this change, we'll have stable support for LLVM 18 and 19. For reference, the previous increase to LLVM 17 was #122649. cc `@rust-lang/wg-llvm` r? nikic
2024-09-18Rollup merge of #130476 - workingjubilee:more-lazy-methods-take-2, r=AmanieuJubilee-11/+312
Implement ACP 429: add `Lazy{Cell,Lock}::get[_mut]` and `force_mut` Tracking issue for `lazy_get`: https://github.com/rust-lang/rust/issues/129333