Commit Graph

18574 Commits

Author SHA1 Message Date
Waffle Maybe
268ea3528d
Fix outdated comment
Co-authored-by: clubby789 <jamie@hill-daniel.co.uk>
2022-11-08 21:49:58 +04:00
Maybe Waffle
e5d01dcc78 Remove an address comparison from the parser 2022-11-08 11:51:10 +00:00
bors
57d3c58ed6 Auto merge of #104138 - Dylan-DPC:rollup-m3ojpjg, r=Dylan-DPC
Rollup of 7 pull requests

Successful merges:

 - #103446 (Specialize `iter::ArrayChunks::fold` for TrustedRandomAccess iterators)
 - #103651 (Fix `rustc_parse_format` spans following escaped utf-8 multibyte chars)
 - #103865 (Move `fallback_has_occurred` state tracking to `FnCtxt`)
 - #103955 (Update linker-plugin-lto.md to contain up to Rust 1.65)
 - #103987 (Remove `in_tail_expr` from FnCtxt)
 - #104067 (fix debuginfo for windows_gnullvm_base.rs)
 - #104094 (fully move `on_unimplemented` to `error_reporting`)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2022-11-08 06:49:52 +00:00
Dylan DPC
c23068c8c6
Rollup merge of #104094 - lcnr:on_unimplemented-move, r=wesleywiser
fully move `on_unimplemented` to `error_reporting`

the `traits` module has a few too many submodules in my opinion.
2022-11-08 11:23:53 +05:30
Dylan DPC
2b9e099a83
Rollup merge of #104067 - jeremyd2019:patch-1, r=davidtwco
fix debuginfo for windows_gnullvm_base.rs

These lines (including the FIXME comment) were added to windows_gnu_base.rs in cf2c492ef8 but windows_gnullvm_base.rs was not updated.  This resulted in an error `LLVM ERROR: dwo only supported with ELF and Wasm` attempting to build on aarch64-pc-windows-gnullvm.

See also https://github.com/msys2/MINGW-packages/pull/13921#issuecomment-1304391707

/cc ```@mati865``` ```@davidtwco```

r? ```@davidtwco```
2022-11-08 11:23:53 +05:30
Dylan DPC
58c13e095e
Rollup merge of #103987 - compiler-errors:no-in_tail_expr, r=eholk
Remove `in_tail_expr` from FnCtxt

Cleans up yet another unneeded member from `FnCtxt`. The `in_tail_expr` condition wasn't even correct -- it was set for true while typechecking the whole fn body.
2022-11-08 11:23:52 +05:30
Dylan DPC
77a44ab568
Rollup merge of #103865 - compiler-errors:fallback-has-occurred-tracking, r=eholk
Move `fallback_has_occurred` state tracking to `FnCtxt`

Removes a ton of callsites that defaulted to `false`
2022-11-08 11:23:51 +05:30
Dylan DPC
4946ee7c8f
Rollup merge of #103651 - Alexendoo:parse-format-unicode-escapes, r=wesleywiser
Fix `rustc_parse_format` spans following escaped utf-8 multibyte chars

Currently too many skips are created for char escapes that are larger than 1 byte when encoded in UTF-8, [playground:](https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=c77a9dc669b69b167271b59ed2c8d88c)

```rust
fn main() {
    format!("\u{df}{a}");
    format!("\u{211d}{a}");
    format!("\u{1f4a3}{a}");
}
```
```
error[[E0425]](https://doc.rust-lang.org/stable/error-index.html#E0425): cannot find value `a` in this scope
 --> src/main.rs:2:22
  |
2 |     format!("\u{df}{a}");
  |                      ^ not found in this scope

error[[E0425]](https://doc.rust-lang.org/stable/error-index.html#E0425): cannot find value `a` in this scope
 --> src/main.rs:3:25
  |
3 |     format!("\u{211d}{a}");
  |                         ^ not found in this scope

error[[E0425]](https://doc.rust-lang.org/stable/error-index.html#E0425): cannot find value `a` in this scope
 --> src/main.rs:4:27
  |
4 |     format!("\u{1f4a3}{a}");
  |                           ^ not found in this scope
```

This reduces the number of skips to account for that

Fixes https://github.com/rust-lang/rust-clippy/issues/9727
2022-11-08 11:23:51 +05:30
bors
6b23a7e87f Auto merge of #104023 - Nilstrieb:cleanup-query, r=cjgillot
Several query cleanups

A few cleanups, mostly about naming in `rustc_query_system`.

r? `@cjgillot`
2022-11-08 03:03:38 +00:00
Dylan DPC
81b8db2675
Rollup merge of #104090 - wanghaha-dev:master, r=Dylan-DPC
Modify comment syntax error

Modify comment syntax error
2022-11-07 18:35:26 +05:30
Dylan DPC
f0bd2cdde4
Rollup merge of #104038 - compiler-errors:super-norm-closure-sig, r=lcnr
Normalize types when deducing closure signature from supertraits

Elaborated supertraits should be normalized, since there's no guarantee they don't contain projections 😅

Fixes #104025
r? types
2022-11-07 18:35:25 +05:30
Dylan DPC
170ad4a0ab
Rollup merge of #103986 - compiler-errors:oh-no-bad-block-should-not-have-label, r=lcnr
Don't silently eat label before block in block-like expr

Fixes #103983
cc #92823 (where the regression was introduced)
2022-11-07 18:35:24 +05:30
Dylan DPC
408b8cf7c4
Rollup merge of #103757 - ffmancera:ff/clarify_E0207, r=jackh726
Mention const and lifetime parameters in error E0207

Error Index for E0207 must mention const and lifetime parameters. In addition, add code examples for these situations.

Fixes #80862
2022-11-07 18:35:23 +05:30
bors
ca08a32655 Auto merge of #103218 - CastilloDel:infer, r=jackh726
Remove #![allow(rustc::potential_query_instability)] from rustc_infer

Related to #84447

This PR probably needs to be benchmarked to check for regressions.
2022-11-07 07:38:05 +00:00
lcnr
80e4e72fcd fully move on_unimplemented to error reporting 2022-11-07 08:10:25 +01:00
wanghaha-dev
009f80b987 Modify comment syntax error 2022-11-07 14:33:33 +08:00
jeremyd2019
6994651b6c fix debuginfo for windows_gnullvm_base.rs
These lines (including the FIXME comment) were added to windows_gnu_base.rs in cf2c492ef8 but windows_gnullvm_base.rs was not updated.  This resulted in an error `LLVM ERROR: dwo only supported with ELF and Wasm` attempting to build on aarch64-pc-windows-gnullvm.

Signed-off-by: Jeremy Drake <github@jdrake.com>
2022-11-06 17:29:14 -08:00
Yuki Okushi
02a0bdee0d
Rollup merge of #104066 - TimNN:riscv-layout, r=nikic
LLVM 16: Update RISCV data layout

The RISCV data layout was changed in 974e2e690b.

This updates all `riscv64*` targets, though I don't really know what the difference between the `gc` and `imac` ones is.

Passes `x test codegen` at LLVM head and with the currently bundled LLVM version. Without this patch, some tests fail with:

> error: internal compiler error: compiler/rustc_codegen_llvm/src/context.rs:192:13: data-layout for target `riscv64gc-unknown-none-elf`, `e-m:e-p:64:64-i64:64-i128:128-n64-S128`, differs from LLVM target's `riscv64` default layout, `e-m:e-p:64:64-i64:64-i128:128-n32:64-S128
2022-11-07 09:46:28 +09:00
Yuki Okushi
d6c41a23b9
Rollup merge of #104059 - Rejyr:rustc_middle-lint-typo, r=petrochenkov
Fix typo in `rustc_middle/lint.rs`
2022-11-07 09:46:27 +09:00
Yuki Okushi
06e261aaf5
Rollup merge of #104045 - Ayush1325:type_array, r=nikic
Add type_array to BaseTypeMethods

Moved `type_array` function to `rustc_codegen_ssa::BaseTypeMethods` trait. This allows using normal `alloca` function to create arrays as suggested in https://github.com/rust-lang/rust/pull/104022.

Signed-off-by: Ayush Singh <ayushsingh1325@gmail.com>
2022-11-07 09:46:26 +09:00
Yuki Okushi
19c780ab13
Rollup merge of #103914 - nnethercote:close-42326, r=petrochenkov
Make underscore_literal_suffix a hard error.

It's been a warning for 5.5 years. Time to make it a hard error.

Closes #42326.

r? ``@pnkfelix``
2022-11-07 09:46:26 +09:00
Nicholas Nethercote
dba6fc3ef5 Make underscore_literal_suffix a hard error.
It's been a warning for 5.5 years. Time to make it a hard error.

Closes #42326.
2022-11-07 10:00:36 +11:00
Tim Neumann
f414715ebf LLVM 16: Update RISCV data layout 2022-11-06 19:03:22 +00:00
bors
7eef946fc0 Auto merge of #99943 - compiler-errors:tuple-trait, r=jackh726
Implement `std::marker::Tuple`, use it in `extern "rust-call"` and `Fn`-family traits

Implements rust-lang/compiler-team#537

I made a few opinionated decisions in this implementation, specifically:
1. Enforcing `extern "rust-call"` on fn items during wfcheck,
2. Enforcing this for all functions (not just ones that have bodies),
3. Gating this `Tuple` marker trait behind its own feature, instead of grouping it into (e.g.) `unboxed_closures`.

Still needing to be done:
1. Enforce that `extern "rust-call"` `fn`-ptrs are well-formed only if they have 1/2 args and the second one implements `Tuple`. (Doing this would fix ICE in #66696.)
2. Deny all explicit/user `impl`s of the `Tuple` trait, kinda like `Sized`.
3. Fixing `Tuple` trait built-in impl for chalk, so that chalkification tests are un-broken.

Open questions:
1. Does this need t-lang or t-libs signoff?

Fixes #99820
2022-11-06 17:48:33 +00:00
Rejyr
e15c406deb fix: typo 2022-11-06 11:22:29 -05:00
bors
1e1e5b8d98 Auto merge of #103861 - compiler-errors:codegen-select-in-vtable-slot, r=nagisa
Use `codegen_select` in `vtable_trait_upcasting_coercion_new_vptr_slot`

A super tiny clean up
2022-11-06 14:03:59 +00:00
Nilstrieb
6d26ea86da
Rename Ctxt and CTX to Tcx and Qcx
This makes it consistent and clear which context is used.
2022-11-06 13:25:06 +01:00
Nilstrieb
16558bd267
Rename tcx to qcx when it's a QueryContext 2022-11-06 13:25:06 +01:00
Nilstrieb
91971f293c
Improve tracing logging 2022-11-06 13:25:06 +01:00
Nilstrieb
3da576804a
Rename incremental_verify_ich_cold to incremental_verify_ich_failed 2022-11-06 13:10:35 +01:00
Nilstrieb
df3187260f
Remove one lifetime from QueryKeyStringBuilder 2022-11-06 13:10:35 +01:00
bors
534ddc6166 Auto merge of #103720 - crlf0710:most_translation_attr, r=compiler-errors
Lint against usages of `struct_span_lint_hir`.

r? `@compiler-errors`
2022-11-06 11:23:24 +00:00
Ayush Singh
299bc61035
Add type_array to BaseTypeMethods
Moved type_array function to rustc_codegen_ssa::BaseTypeMethods trait.
This allows using normal alloca function to create arrays as suggested in
https://github.com/rust-lang/rust/pull/104022.

Signed-off-by: Ayush Singh <ayushsingh1325@gmail.com>
2022-11-06 14:18:36 +05:30
bors
88935e0bea Auto merge of #104043 - matthiaskrgr:rollup-sttf9e8, r=matthiaskrgr
Rollup of 7 pull requests

Successful merges:

 - #103012 (Suggest use .. to fill in the rest of the fields of Struct)
 - #103851 (Fix json flag in bootstrap doc)
 - #103990 (rustdoc: clean up `.logo-container` layout CSS)
 - #104002 (fix a comment in UnsafeCell::new)
 - #104014 (Migrate test-arrow to CSS variables)
 - #104016 (Add internal descriptions to a few queries)
 - #104035 (Add 'closure match' test to weird-exprs.rs.)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2022-11-06 08:13:56 +00:00
Matthias Krüger
13e62be1e5
Rollup merge of #104016 - Nilstrieb:query-descs-more, r=compiler-errors
Add internal descriptions to a few queries

helps with #104008
2022-11-06 08:35:28 +01:00
Matthias Krüger
58f5d57b5d
Rollup merge of #103012 - chenyukang:fix-102806, r=davidtwco,compiler-errors
Suggest use .. to fill in the rest of the fields of Struct

Fixes #102806
2022-11-06 08:35:26 +01:00
bors
e30fb6a26f Auto merge of #102618 - aliemjay:simplify-closure-promote, r=compiler-errors
rework applying closure requirements in borrowck

Previously the promoted closure constraints were registered under the category `ConstraintCategory::ClosureBounds` in `type_check::prove_closure_bounds()` and then mapped back their original category in `regions_infer::best_blame_constraint` using the complicated map `closure_bounds_mapping`.

Now we're registering promoted constraints under their original category and span earlier in `type_check::prove_closure_bounds`.

See commit messages.

Fixes #99245
2022-11-06 05:26:09 +00:00
Michael Goulet
bc345d7bd0 Move fallback_has_occurred to FnCtxt 2022-11-06 02:40:25 +00:00
Michael Goulet
28d82ddfc2
Fix typo 2022-11-05 19:33:12 -07:00
bors
a4ab2e0643 Auto merge of #103975 - oli-obk:tracing, r=jackh726
Some tracing and comment cleanups

Pulled out of https://github.com/rust-lang/rust/pull/101900 to see if that is the perf impact
2022-11-06 02:21:34 +00:00
Michael Goulet
9a1043eac7 Normalize signature when deducing closure signature from supertraits 2022-11-06 02:07:34 +00:00
bors
e6fead46dc Auto merge of #104009 - Nilstrieb:query-unify-config-desc, r=jyn514
Merge `QueryDescription` into `QueryConfig`

`QueryDescription` has gone through a lot of refactoring and doesn't make sense anymore.

r? `@jyn514`
2022-11-05 23:21:01 +00:00
bors
1286ee23e4 Auto merge of #102458 - JohnTitor:stabilize-instruction-set, r=oli-obk
Stabilize the `instruction_set` feature

Closes https://github.com/rust-lang/rust/issues/74727
FCP is complete on https://github.com/rust-lang/rust/issues/74727#issuecomment-1242773253
r? `@pnkfelix` and/or `@nikomatsakis`
cc `@xd009642`

Signed-off-by: Yuki Okushi <jtitor@2k36.org>
2022-11-05 20:39:06 +00:00
Michael Goulet
29dccfe9e4 Bless chalk tests 2022-11-05 18:05:44 +00:00
Michael Goulet
2257ba92db Adjust diagnostics, bless tests 2022-11-05 18:05:44 +00:00
Michael Goulet
99b3454d37 Enforce rust-check ABI in signatures, calls 2022-11-05 18:05:25 +00:00
Matthias Krüger
cf2d88db38
Rollup merge of #103972 - oli-obk:unoptional, r=fee1-dead
Remove an option and choose a behaviour-preserving default instead.

r? ``@fee1-dead``
2022-11-05 18:06:07 +01:00
Matthias Krüger
51287f264c
Rollup merge of #103927 - fee1-dead-contrib:E0425-no-typo-when-pattern-matching, r=cjgillot
Do not make typo suggestions when suggesting pattern matching

Fixes #103909.
2022-11-05 18:06:06 +01:00
Nilstrieb
27e0f03d41
Add internal descriptions to a few queries 2022-11-05 17:54:15 +01:00
Nilstrieb
04583f29c8
Simplify code 2022-11-05 17:54:06 +01:00