about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2023-10-21Rollup merge of #117026 - rmehri01:fix_ayu_theme_link, r=notriddleMatthias Krüger-1/+1
Fix broken link to Ayu theme in the rustdoc book Fixes #116977
2023-10-21Rollup merge of #116992 - estebank:issue-69492, r=oli-obkMatthias Krüger-0/+13
Mention the syntax for `use` on `mod foo;` if `foo` doesn't exist Newcomers might get confused that `mod` is the only way of defining scopes, and that it can be used as if it were `use`. Fix #69492.
2023-10-21Rollup merge of #116981 - Dirreke:csky-unknown-linux-gunabiv2, r=bjorn3Matthias Krüger-3/+3
update the registers of csky target
2023-10-21Rollup merge of #116955 - claesgill:upd_readme_toc, r=Mark-SimulacrumMatthias Krüger-0/+14
Updated README with expandable table of content. Make it easier to navigate in the rather large README file.
2023-10-21Rollup merge of #116928 - onur-ozkan:update-triagebot, r=Mark-SimulacrumMatthias Krüger-8/+10
fix bootstrap paths in triagebot.toml ref #https://github.com/rust-lang/rust/pull/116881#issuecomment-1769730250
2023-10-21Rollup merge of #116312 - c410-f3r:try, r=Mark-SimulacrumMatthias Krüger-64/+66
Initiate the inner usage of `cfg_match` (Compiler) cc #115585 Dogfood to test the implementation and remove dependencies.
2023-10-21fix broken link to ayu theme in the rustdoc bookRyan Mehri-1/+1
2023-10-21Auto merge of #116922 - Zalathar:unused, r=cjgillotbors-150/+103
coverage: Emit mappings for unused functions without generating stubs For a while I've been annoyed by the fact that generating coverage maps for unused functions involves generating a stub function at the LLVM level. As I suspected, generating that stub function isn't actually necessary, as long as we specifically tell LLVM about the symbol names of all the functions that have coverage mappings but weren't codegenned (due to being unused). --- There is some helper code that gets moved around in the follow-up patches, so look at the first patch to see the most important functional changes. --- `@rustbot` label +A-code-coverage
2023-10-21Mention the syntax for `use` on `mod foo;` if `foo` doesn't existEsteban Küber-0/+13
Newcomers might get confused that `mod` is the only way of defining scopes, and that it can be used as if it were `use`. Fix #69492.
2023-10-21update the registers of cskydirreke-3/+3
2023-10-21Auto merge of #117021 - flip1995:clippyup, r=matthiaskrgrbors-874/+2319
Clippy subtree update r? `@Manishearth`
2023-10-21Auto merge of #117020 - matthiaskrgr:rollup-cg62m4h, r=matthiaskrgrbors-6/+50
Rollup of 3 pull requests Successful merges: - #106601 (Suggest `;` after bare `match` expression E0308) - #116975 (Move `invalid-llvm-passes` test to `invalid-compile-flags` folder) - #117019 (fix spans for removing `.await` on `for` expressions) r? `@ghost` `@rustbot` modify labels: rollup
2023-10-21Update Cargo.lock (ui_test update)Philipp Krones-29/+3
2023-10-21Merge commit '2b030eb03d9e5837440b1ee0b98c50b97c0c5889' into clippyupPhilipp Krones-845/+2316
2023-10-21Rollup merge of #117019 - lukas-code:for-await, r=compiler-errorsMatthias Krüger-2/+20
fix spans for removing `.await` on `for` expressions We need to use a span with the outer syntax context of a desugared `for` expression to join it with the `.await` span. fixes https://github.com/rust-lang/rust/issues/117014
2023-10-21Rollup merge of #116975 - ojeda:move-invalid-test, r=NilstriebMatthias Krüger-0/+0
Move `invalid-llvm-passes` test to `invalid-compile-flags` folder Nowadays there is an `invalid-compile-flags` folder, thus move this one there.
2023-10-21Rollup merge of #106601 - estebank:match-semi, r=cjgillotMatthias Krüger-4/+30
Suggest `;` after bare `match` expression E0308 Fix #72634.
2023-10-21Auto merge of #11694 - flip1995:rustup, r=flip1995bors-378/+316
Rustup r? `@ghost` changelog: none
2023-10-21Bump nightly version -> 2023-10-21Philipp Krones-1/+1
2023-10-21Merge remote-tracking branch 'upstream/master' into rustupPhilipp Krones-885/+2371
2023-10-21fix spans for removing `.await` on `for` expressionsLukas Markeffsky-2/+20
2023-10-21Auto merge of #116734 - Nadrieril:lint-per-column, r=cjgillotbors-366/+579
Lint `non_exhaustive_omitted_patterns` by columns This is a rework of the `non_exhaustive_omitted_patterns` lint to make it more consistent. The intent of the lint is to help consumers of `non_exhaustive` enums ensure they stay up-to-date with all upstream variants. This rewrite fixes two cases we didn't handle well before: First, because of details of exhaustiveness checking, the following wouldn't lint `Enum::C` as missing: ```rust match Some(x) { Some(Enum::A) => {} Some(Enum::B) => {} _ => {} } ``` Second, because of the fundamental workings of exhaustiveness checking, the following would treat the `true` and `false` cases separately and thus lint about missing variants: ```rust match (true, x) { (true, Enum::A) => {} (true, Enum::B) => {} (false, Enum::C) => {} _ => {} } ``` Moreover, it would correctly not lint in the case where the pair is flipped, because of asymmetry in how exhaustiveness checking proceeds. A drawback is that it no longer makes sense to set the lint level per-arm. This will silently break the lint for current users of it (but it's behind a feature gate so that's ok). The new approach is now independent of the exhaustiveness algorithm; it's a separate pass that looks at patterns column by column. This is another of the motivations for this: I'm glad to move it out of the algorithm, it was akward there. This PR is almost identical to https://github.com/rust-lang/rust/pull/111651. cc `@eholk` who reviewed it at the time. Compared to then, I'm more confident this is the right approach.
2023-10-21Auto merge of #11539 - taiki-e:enforced-import-renames, r=Centri3bors-1/+4
Warn missing_enforced_import_renames by default Similar to https://github.com/rust-lang/rust-clippy/pull/8261 that did the same thing to disallowed_methods & disallowed_types. This lint is also only triggered if import renames are defined in the `clippy.toml` file. changelog: Moved [`missing_enforced_import_renames`] to `style` (Now warn-by-default) [#11539](https://github.com/rust-lang/rust-clippy/pull/11539)
2023-10-21Auto merge of #117013 - matthiaskrgr:rollup-mvgp54x, r=matthiaskrgrbors-257/+682
Rollup of 8 pull requests Successful merges: - #114521 (std: freebsd build update.) - #116911 (Suggest relaxing implicit `type Assoc: Sized;` bound) - #116917 (coverage: Simplify the injection of coverage statements) - #116961 (Typo suggestion to change bindings with leading underscore) - #116964 (Add stable Instance::body() and RustcInternal trait) - #116974 (coverage: Fix inconsistent handling of function signature spans) - #116990 (Mention `into_iter` on borrow errors suggestions when appropriate) - #116995 (Point at assoc fn definition on type param divergence) r? `@ghost` `@rustbot` modify labels: rollup
2023-10-21Rollup merge of #116995 - estebank:issue-69944, r=compiler-errorsMatthias Krüger-20/+11
Point at assoc fn definition on type param divergence When the number of type parameters in the associated function of an impl and its trait differ, we now *always* point at the trait one, even if it comes from a foreign crate. When it is local, we point at the specific params, when it is foreign, we point at the whole associated item. Fix #69944.
2023-10-21Rollup merge of #116990 - estebank:issue-68445, r=cjgillotMatthias Krüger-0/+26
Mention `into_iter` on borrow errors suggestions when appropriate If we encounter a borrow error on `vec![1, 2, 3].iter()`, suggest `into_iter`. Fix #68445.
2023-10-21Rollup merge of #116974 - Zalathar:signature-spans, r=oli-obk,cjgillotMatthias Krüger-67/+233
coverage: Fix inconsistent handling of function signature spans While doing some more cleanup of `spans`, I noticed a strange inconsistency in how function signatures are handled. Normally the function signature span is treated as though it were executable as part of the start of the function, but in some cases the signature span disappears entirely from coverage, for no obvious reason. This is caused by the fact that spans created by `CoverageSpan::for_fn_sig` don't add the span to their `merged_spans` field (unlike normal statement/terminator spans). In cases where the span-processing code looks at those merged spans, it thinks the signature span is no longer visible and deletes it. Adding the signature span to `merged_spans` resolves the inconsistency. (Prior to #116409 this wouldn't have been possible, because there was no case in the old `CoverageStatement` enum representing a signature. Now that `merged_spans` is just a list of spans, that's no longer an obstacle.)
2023-10-21Rollup merge of #116964 - celinval:smir-mono-body, r=oli-obkMatthias Krüger-7/+217
Add stable Instance::body() and RustcInternal trait The `Instance::body()` returns a monomorphized body. For that, we had to implement visitor that monomorphize types and constants. We are also introducing the RustcInternal trait that will allow us to convert back from Stable to Internal. Note that this trait is not yet visible for our users as it depends on Tables. We should probably add a new trait that can be exposed. The tests here are very simple, and I'm planning on creating more exhaustive tests in the project-mir repo. But I was hoping to get some feedback here first. r? ```@oli-obk```
2023-10-21Rollup merge of #116961 - estebank:issue-60164, r=oli-obkMatthias Krüger-2/+39
Typo suggestion to change bindings with leading underscore When encountering a binding that isn't found but has a typo suggestion for a binding with a leading underscore, suggest changing the binding definition instead of the use place. Fix #60164.
2023-10-21Rollup merge of #116917 - Zalathar:injection, r=cjgillotMatthias Krüger-143/+87
coverage: Simplify the injection of coverage statements This is a follow-up to #116046 that I left out of that PR because I didn't want to make it any larger. After the various changes we've made to how coverage data is stored and transferred, the old code structure for injecting coverage statements into MIR is built around a lot of constraints that don't exist any more. We can simplify it by replacing it with a handful of loops over the BCB node/edge counters and the BCB spans. --- `@rustbot` label +A-code-coverage
2023-10-21Rollup merge of #116911 - estebank:issue-85378, r=oli-obkMatthias Krüger-0/+67
Suggest relaxing implicit `type Assoc: Sized;` bound Fix #85378.
2023-10-21Rollup merge of #114521 - devnexen:std_fbsd_13_upd, r=cuviperMatthias Krüger-18/+2
std: freebsd build update. since freebsd 11 had been removed, minimum is now 12.
2023-10-21Auto merge of #117011 - RalfJung:miri, r=RalfJungbors-182/+1512
Miri subtree update r? `@ghost`
2023-10-21update lockfileRalf Jung-0/+31
2023-10-21Auto merge of #3132 - rust-lang:rustup-2023-10-21, r=RalfJungbors-5488/+5626
Automatic Rustup
2023-10-21Merge from rustcThe Miri Conjob Bot-5487/+5625
2023-10-21Preparing for merge from rustcThe Miri Conjob Bot-1/+1
2023-10-21coverage: Simplify the injection of coverage statementsZalathar-143/+87
2023-10-21coverage: Change query `codegened_and_inlined_items` to a plain functionZalathar-40/+34
This query has a name that sounds general-purpose, but in fact it has coverage-specific semantics, and (fortunately) is only used by coverage code. Because it is only ever called once (from one designated CGU), it doesn't need to be a query, and we can change it to a regular function instead.
2023-10-21coverage: Move unused-function helpers closer to where they are usedZalathar-43/+39
2023-10-21coverage: Emit mappings for unused functions without generating stubsZalathar-74/+37
2023-10-21coverage: Simplify initial creation of coverage spansZalathar-45/+32
2023-10-21coverage: Don't create an intermediate vec for each BCB's initial spansZalathar-26/+23
2023-10-21coverage: Handle fn signature spans more consistently near `?`Zalathar-21/+23
2023-10-21coverage: Add a test showing the inconsistent handling of function signaturesZalathar-0/+180
2023-10-20changes from feedbackDavid Carlier-16/+2
2023-10-20Point at assoc fn definition on type param divergenceEsteban Küber-20/+11
When the number of type parameters in the associated function of an impl and its trait differ, we now *always* point at the trait one, even if it comes from a foreign crate. When it is local, we point at the specific params, when it is foreign, we point at the whole associated item. Fix #69944.
2023-10-20Auto merge of #116958 - oli-obk:coro, r=pnkfelixbors-3916/+3935
rename Generator to Coroutine implements https://github.com/rust-lang/compiler-team/issues/682 While I did an automated replacement, I went through all changes manually to avoid renaming things like "id generators", "code generator", ... I renamed files where that was necessary due to the contents referring to the crate name itself (mir opt, codegen or debuginfo tests), or required by tidy (feature gate docs) * [x] rename various remaining abbreviated references to generators. * [x] rename files * [x] rename folders * [x] add renamed feature: `generators`, ... r? `@ghost`
2023-10-20Replace all uses of `generator` in markdown documentation with `coroutine`Oli Scherer-52/+52
2023-10-20bless miriOli Scherer-8/+8