about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2023-11-04add `fn visit_capture_by` to MutVisitor and fix pprust-expr-roundtrip.rsDinu Blanovschi-1/+14
2023-11-04De-indent closing bracketGeorge Bateman-1/+1
Co-authored-by: Camille Gillot <gillot.camille@gmail.com>
2023-11-04fixes for rustfmt + ast visitorDinu Blanovschi-3/+7
2023-11-04Stabilize `const_mem_zeroed`Trevor Gross-10/+10
Make `core::mem::zeroed` const stable. Newly stable API: // core::mem pub const unsafe fn zeroed<T>() -> T; This is stabilized with `const_maybe_uninit_zeroed` since it is a simple wrapper. In order to make this possible, intrinsics `assert_zero_valid` was made const stable under `const_assert_type2`. `assert_mem_uninitialized_valid` was also made const stable since it is under the same gate.
2023-11-04Stabilize `const_maybe_uninit_zeroed`Trevor Gross-7/+32
Make `MaybeUninit::zeroed` const stable. Newly stable API: // core::mem impl<T> MaybeUninit<T> { pub const fn zeroed() -> MaybeUninit<T>; } Use of `const_mut_refs` should be acceptable since we do not leak the mutability. Tracking issue: #91850
2023-11-04Auto merge of #113343 - saethlin:looser-alignment, r=RalfJungbors-58/+142
Update the alignment checks to match rust-lang/reference#1387 Previously, we had a special case to not check `Rvalue::AddressOf` in this pass because we weren't quite sure if pointers needed to be aligned in the Place passed to it: https://github.com/rust-lang/rust/pull/112026 Since https://github.com/rust-lang/reference/pull/1387 merged, this PR updates this pass to match. The behavior of the check is nearly unchanged, except we also avoid inserting a check for creating references. Most of the changes in this PR are cleanup and new tests.
2023-11-04fmtDinu Blanovschi-4/+4
2023-11-04Fix remaining uses of `CaptureBy::Value`Dinu Blanovschi-9/+9
2023-11-04feat(hir): Store the `Span` of the `move` keywordDinu Blanovschi-2/+8
2023-11-04Draft fleshed-out deref docsjmaargh-41/+125
Re-draft Deref docs Make general advice more explicit and note the difference between generic and specific implementations. Re-draft DerefMut docs in-line with Deref Fix Deref docs typos Fix broken links Clarify advice for specific-over-generic impls Add comment addressing Issue #73682 x fmt Copy faillibility warning to DerefMut
2023-11-04No lifetime on PlaceholderConstMichael Goulet-9/+9
2023-11-04Auto merge of #117579 - RalfJung:miri, r=RalfJungbors-255/+574
Miri subtree update r? `@ghost`
2023-11-04Bump compiler_builtins to 0.1.103Nicholas Bishop-3/+3
2023-11-04Check alignment of pointers only when read/written throughBen Kimock-58/+142
2023-11-04Derive TyEncodable/TyDecodable implementations that are parameterized over ↵Michael Goulet-486/+31
interner
2023-11-04detect EOF earlierThe 8472-5/+7
The initial probe-for-empty-source by stack_buffer_copy only detected EOF if the source was empty but not when it was merely small which lead to additional calls to read() after Ok(0) had already been returned in the stack copy routine
2023-11-04avoid excessive initialization when copying to a VecThe 8472-17/+47
It now keeps track of initialized bytes to avoid reinitialization. It also keeps track of read sizes to avoid initializing more bytes than the reader needs. This is important when passing a huge vector to a Read that only has a few bytes to offer and doesn't implement read_buf().
2023-11-04Auto merge of #117094 - Nadrieril:warn-lint-on-arm, r=cjgillotbors-25/+233
Warn users who set `non_exhaustive_omitted_patterns` lint level on a match arm Before https://github.com/rust-lang/rust/pull/116734, the recommended usage of the [`non_exhaustive_omitted_patterns` lint](https://github.com/rust-lang/rust/issues/89554) was: ```rust match Bar::A { Bar::A => {}, #[warn(non_exhaustive_omitted_patterns)] _ => {}, } ``` After https://github.com/rust-lang/rust/pull/116734 this no longer makes sense, and recommended usage is now: ```rust #[warn(non_exhaustive_omitted_patterns)] match Bar::A { Bar::A => {}, _ => {}, } ``` As you can guess, this silently breaks all uses of the lint that used the previous form. This is a problem in particular because `syn` recommends usage of this lint to its users in the old way. This PR emits a warning when the previous form is used so users can update. r? `@cjgillot`
2023-11-04fallback for `construct_generic_bound_failure`bohan-8/+37
2023-11-04Auto merge of #3145 - RalfJung:data-race-error, r=RalfJungbors-166/+233
give some more help for the unusual data races Fixes https://github.com/rust-lang/miri/issues/3142
2023-11-04Don't disable inline asm usage in compiler-builtins when the cranelift ↵bjorn3-5/+0
backend is enabled This was a leftover from when inline asm wasn't universally supported by the cranelift backend yet. It would cause the optimized inline asm intrinsics to be avoided for the standard library distributed with rustup now that we build the cranelift backend by default on nightly for several tier 1 targets.
2023-11-04Suggest to set lint level on whole matchNadrieril-47/+79
2023-11-04Warn when lint level is set on a match armNadrieril-27/+107
2023-11-04Add testsNadrieril-0/+96
2023-11-04ensure doc directory is not emptyonur-ozkan-1/+2
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-11-04handle dry runs in `dist::CodegenBackend`Rémy Rakic-0/+4
self.number_of_times_dry_runs_have_caused_issues += 1;
2023-11-04Ensure the rustc-codegen-cranelift-preview component is never emptybjorn3-0/+7
Either generate it with the actual codegen backend dylib or omit it entirely when the cranelift backend is disabled for this build.
2023-11-04pass `CODEGEN_BACKENDS` to dockerRémy Rakic-0/+1
2023-11-04add sanity check for compiler crate docsonur-ozkan-0/+8
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-11-04Ensure compiler crate paths are generated before linkingonur-ozkan-11/+12
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-11-04avoid acronyms when we don't really need themRalf Jung-12/+11
2023-11-04Auto merge of #3154 - rust-lang:rustup-2023-11-04, r=RalfJungbors-6532/+7325
Automatic Rustup
2023-11-04Auto merge of #117566 - weihanglo:update-cargo, r=weihanglobors-1/+0
Update cargo 8 commits in b4d18d4bd3db6d872892f6c87c51a02999b80802..65e297d1ec0dee1a74800efe600b8dc163bcf5db 2023-10-31 18:19:10 +0000 to 2023-11-03 20:56:31 +0000 - fix(cli): Clarify --test is for targets, not test functions (rust-lang/cargo#12915) - Updating "features" documentation to add a note about the new limit on number of features (rust-lang/cargo#12913) - fix: merge `trim-paths` from different profiles (rust-lang/cargo#12908) - Add regression test for issue 6915: features and transitive dev deps (rust-lang/cargo#12907) - chore(deps): update rust crate gix to 0.55.2 (rust-lang/cargo#12906) - chore(deps): update compatible (rust-lang/cargo#12905) - docs(ref): Fix open-semver-range issue link (rust-lang/cargo#12904) - docs(ref): Highlight commands to answer dep resolution questions (rust-lang/cargo#12903) r? ghost
2023-11-04fmtThe Miri Conjob Bot-7/+3
2023-11-04Merge from rustcThe Miri Conjob Bot-6526/+7323
2023-11-04Preparing for merge from rustcThe Miri Conjob Bot-1/+1
2023-11-04Auto merge of #117564 - TaKO8Ki:rollup-lkqhpqc, r=TaKO8Kibors-644/+756
Rollup of 3 pull requests Successful merges: - #117343 (Cleanup `rustc_mir_build/../check_match.rs`) - #117550 (Use `filter_map` in `try_par_for_each_in`) - #117554 (consts: remove dead code around `i1` constant values) r? `@ghost` `@rustbot` modify labels: rollup
2023-11-04Update cargoWeihang Lo-1/+0
Remove license exception of `byteyarn` as it is no longer used
2023-11-04Rollup merge of #117554 - durin42:llvm-delete-dead-zext-code, r=nikicTakayuki Maeda-10/+1
consts: remove dead code around `i1` constant values `LLVMConstZext` recently got deleted, and it turns out (thanks to `@nikic` for knowing!) that this is dead code. Tests all pass for me without this logic, and per nikic: > We always generate constants in "relocatable bag of bytes" > representation, so you're never going to get a plain bool. So this should be a safe thing to do. r? `@nikic` `@rustbot` label: +llvm-main
2023-11-04Rollup merge of #117550 - cuviper:try_par_for_each_in, r=est31Takayuki Maeda-7/+6
Use `filter_map` in `try_par_for_each_in` This simplifies the expression, especially for the rayon part, and also lets us drop the `E: Copy` constraint.
2023-11-04Rollup merge of #117343 - Nadrieril:cleanup_check_match, r=davidtwcoTakayuki Maeda-627/+749
Cleanup `rustc_mir_build/../check_match.rs` The file had become pretty unwieldy, with a fair amount of duplication. As a bonus, I discovered that we weren't running some pattern checks in if-let chains. I recommend looking commit-by-commit. The last commit is a whim, I think it makes more sense that way but I don't hold this opinion strongly.
2023-11-03triagebot no-merges: exclude different casePeter Jaszkowiak-1/+1
"Subtree update" as well
2023-11-04Auto merge of #115274 - bjorn3:tidy_improvements, r=davidtwcobors-82/+275
Run tidy license checker on more workspaces The license checker didn't run on several workspaces before this PR. The same applied to the "external package sources" check. There were also two missing lockfiles which I have added now.
2023-11-04add test for issue 117146Rémy Rakic-0/+100
2023-11-04traverse region graph instead of SCCs to compute polonius loan scopesRémy Rakic-13/+14
By using SCC for better performance, we also have to take into account SCCs whose representative is an existential region but also contains a placeholder. By only checking the representative, we may miss that the loan escapes the function. This can be fixed by picking a better representative, or removing placeholders from the main path. This is the simplest fix: forgo efficiency and traverse the region graph instead of the SCCs.
2023-11-04Auto merge of #117540 - ↵bors-82/+76
matthiaskrgr:baby_dont_clone_me_dont_clone_me_no_more, r=est31 clone less
2023-11-03Auto merge of #116412 - nnethercote:rm-plugin-support, r=bjorn3bors-1712/+57
Remove support for compiler plugins. They've been deprecated for four years. This commit includes the following changes. - It eliminates the `rustc_plugin_impl` crate. - It changes the language used for lints in `compiler/rustc_driver_impl/src/lib.rs` and `compiler/rustc_lint/src/context.rs`. External lints are now called "loaded" lints, rather than "plugins" to avoid confusion with the old plugins. This only has a tiny effect on the output of `-W help`. - E0457 and E0498 are no longer used. - E0463 is narrowed, now only relating to unfound crates, not plugins. - The `plugin` feature was moved from "active" to "removed". - It removes the entire plugins chapter from the unstable book. - It removes quite a few tests, mostly all of those in `tests/ui-fulldeps/plugin/`. Closes #29597. r? `@ghost`
2023-11-04Remove support for compiler plugins.Nicholas Nethercote-1712/+57
They've been deprecated for four years. This commit includes the following changes. - It eliminates the `rustc_plugin_impl` crate. - It changes the language used for lints in `compiler/rustc_driver_impl/src/lib.rs` and `compiler/rustc_lint/src/context.rs`. External lints are now called "loaded" lints, rather than "plugins" to avoid confusion with the old plugins. This only has a tiny effect on the output of `-W help`. - E0457 and E0498 are no longer used. - E0463 is narrowed, now only relating to unfound crates, not plugins. - The `plugin` feature was moved from "active" to "removed". - It removes the entire plugins chapter from the unstable book. - It removes quite a few tests, mostly all of those in `tests/ui-fulldeps/plugin/`. Closes #29597.
2023-11-04Update rust-lang/book.Nicholas Nethercote-0/+0
To 5b6c1ceaa62ecbd6caef08df39b33b3938e99deb, for this commit: - Prepare for removal of compiler plugin support. (rust-lang/book#3764)
2023-11-03Auto merge of #115333 - joshlf:patch-5, r=RalfJungbors-9/+15
Guarantee representation of None in NPO This allows users to soundly transmute zeroes into `Option` types subject to the null pointer optimization (NPO). It unblocks https://github.com/google/zerocopy/issues/293.