Commit Graph

19735 Commits

Author SHA1 Message Date
Nilstrieb
796114a5b0 Add documentation 2022-10-26 21:09:28 +02:00
Michael Goulet
db3b01d2bf Process registered region obligation in resolve_regions_with_wf_tys 2022-10-26 16:06:54 +00:00
bors
0a6b941df3 Auto merge of #103572 - Dylan-DPC:rollup-a8bnxrw, r=Dylan-DPC
Rollup of 6 pull requests

Successful merges:

 - #95710 (Stabilize arbitrary_enum_discriminant, take 2)
 - #102706 (Support excluding the generation of the standalone docs)
 - #103428 (Removed verbose printing from the `PrettyPrinter` when printing constants)
 - #103543 (Update books)
 - #103546 (interpret: a bit of cast cleanup)
 - #103554 (rustdoc: add visible focus outline to rustdoc-toggle)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2022-10-26 14:12:16 +00:00
Xiretza
2eeb7802b3 Remove #[suggestion_*] attributes 2022-10-26 15:04:09 +02:00
Xiretza
cd621be782 Convert all #[suggestion_*] attributes to #[suggestion(style = "...")]
Using the following command:

find compiler/ -type f -name '*.rs' -exec perl -i -gpe \
    's/(#\[\w*suggestion)_(short|verbose|hidden)\(\s*(\S+,)?/\1(\3style = "\2",/g' \
    '{}' +
2022-10-26 15:04:09 +02:00
Xiretza
20f2958b8a Add "tool-only" suggestion style 2022-10-26 15:04:09 +02:00
Xiretza
368c4a35b9 Add style= parameter to suggestion attributes 2022-10-26 15:04:09 +02:00
Oli Scherer
de5517c3ae Remove unneeded sub-comparison 2022-10-26 12:47:04 +00:00
Vadim Petrochenkov
34eb73c72d privacy: Rename "accessibility levels" to "effective visibilities"
And a couple of other naming tweaks

Related to https://github.com/rust-lang/rust/issues/48054
2022-10-26 16:34:53 +04:00
Dylan DPC
709462bfe1 Rollup merge of #103546 - RalfJung:cast, r=oli-obk
interpret: a bit of cast cleanup

r? `@oli-obk`
2022-10-26 17:32:55 +05:30
Dylan DPC
ffde0f722e Rollup merge of #103428 - SarthakSingh31:issue-94187, r=compiler-errors
Removed verbose printing from the `PrettyPrinter` when printing constants

Partially solves #94187 by completing the first step described in [this comment](https://github.com/rust-lang/rust/issues/94187#issuecomment-1282339909).
2022-10-26 17:32:54 +05:30
Dylan DPC
5b6455318a Rollup merge of #95710 - fee1-dead-contrib:stabilize_arbitrary_enum_discriminant, r=joshtriplett
Stabilize arbitrary_enum_discriminant, take 2

Documentation has been updated in https://github.com/rust-lang/reference/pull/1055. cc #86860 for previous stabilization report.

Not yet marks https://github.com/rust-lang/rust/issues/60553 as done: need documentation in the rust reference.
2022-10-26 17:32:53 +05:30
mejrs
fae0be5d50 fix tracking hash test 2022-10-26 13:42:41 +02:00
bors
43dd3d514b Auto merge of #103284 - compiler-errors:const-sad, r=oli-obk
Revert "Unify tcx.constness and param env constness checks"

Too much of a perf regression https://github.com/rust-lang/rust/pull/102975#issuecomment-1282702513, and an attempt in #103263 didn't fix it except for just a tiny bit.

This change isn't really needed (see https://github.com/rust-lang/rust/pull/102830#issuecomment-1272514096), so this should be an easy revert.
2022-10-26 11:29:15 +00:00
bors
629a414d7b Auto merge of #103562 - Dylan-DPC:rollup-sheepp5, r=Dylan-DPC
Rollup of 10 pull requests

Successful merges:

 - #102951 (suggest type annotation for local statement initialed by ref expression)
 - #103209 (Diagnostic derives: allow specifying multiple alternative suggestions)
 - #103287 (Use a faster allocation size check in slice::from_raw_parts)
 - #103416 (Name the `impl Trait` in region bound suggestions)
 - #103430 (Workaround unstable stmt_expr_attributes for method receiver expressions)
 - #103444 (Remove extra type error after missing semicolon error)
 - #103520 (rustc_middle: Rearrange resolver outputs structures slightly)
 - #103533 (Use &self instead of &mut self for cast methods)
 - #103536 (Remove `rustc_driver::set_sigpipe_handler()`)
 - #103542 (Pinning tests for some `macro_rules!` errors discussed in the lang meeting)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2022-10-26 07:58:28 +00:00
Dylan DPC
d159124dbd Rollup merge of #103536 - Enselic:remove-set_sigpipe_handler, r=tmiasko
Remove `rustc_driver::set_sigpipe_handler()`

Its usage was removed in https://github.com/rust-lang/rust/pull/102587 and https://github.com/rust-lang/rust/pull/103495, so we do not need to keep it around any longer. According to [preliminary input](https://rust-lang.zulipchat.com/#narrow/stream/182449-t-compiler.2Fhelp/topic/Find.20.60rustc_driver.60.20dependent.20projects.3F/near/304490764), we do not need to worry about any deprecation cycle for this explicitly unstable API, and can just straight up remove it.

PR that added `set_sigpipe_handler`: https://github.com/rust-lang/rust/pull/49606

Tracking issue for `unix_sigpipe`: #97889

Migration instructions for any remaining clients
---

Change from

```rust
#![feature(rustc_private)]

extern crate rustc_driver;

fn main() {
    rustc_driver::set_sigpipe_handler();
    // ...
```

to

```rust
#![feature(unix_sigpipe)]

#[unix_sigpipe = "sig_dfl"]
fn main() {
    // ...
```

``@rustbot`` labels +T-compiler
2022-10-26 11:29:57 +05:30
Dylan DPC
39e0e2cc24 Rollup merge of #103533 - jachris:cast-without-mut, r=oli-obk
Use &self instead of &mut self for cast methods

r? ``@oli-obk``
2022-10-26 11:29:56 +05:30
Dylan DPC
c956351f97 Rollup merge of #103520 - petrochenkov:resout, r=cjgillot
rustc_middle: Rearrange resolver outputs structures slightly

Addresses https://github.com/rust-lang/rust/pull/98106#discussion_r898427061.
I also haven't seen the motivation for moving `cstore` from its old place, so I moved it back in this PR.
r? ```@cjgillot```
2022-10-26 11:29:56 +05:30
Dylan DPC
742741f9c1 Rollup merge of #103444 - chenyukang:yukang/fix-103425-extra-diag, r=davidtwco
Remove extra type error after missing semicolon error

Fixes #103425
2022-10-26 11:29:55 +05:30
Dylan DPC
c9a04cddc0 Rollup merge of #103430 - cjgillot:receiver-attrs, r=petrochenkov
Workaround unstable stmt_expr_attributes for method receiver expressions

Fixes https://github.com/rust-lang/rust/issues/103244

cc ``@Mark-Simulacrum`` ``@ehuss``
2022-10-26 11:29:55 +05:30
Dylan DPC
785828744c Rollup merge of #103416 - compiler-errors:rpit-named, r=cjgillot
Name the `impl Trait` in region bound suggestions

Slightly more descriptive message
2022-10-26 11:29:54 +05:30
Dylan DPC
f2c2e582bd Rollup merge of #103209 - Xiretza:multiple-suggestions, r=davidtwco
Diagnostic derives: allow specifying multiple alternative suggestions

This allows porting `span_suggestions()` to diagnostic structs.

Doesn't work for `multipart_suggestions()` because the rank would be reversed - the struct would specify multiple spans, each of which has multiple possible replacements, while `multipart_suggestions()` creates multiple possible replacements, each with multiple spans.
2022-10-26 11:29:53 +05:30
Dylan DPC
bf6bfcddf6 Rollup merge of #102951 - SparrowLii:type_annotation, r=estebank
suggest type annotation for local statement initialed by ref expression

In a local statement with a type declaration, if a ref expression is used on the right side and not used on the left side, in addition to removing the `&` and `&mut` on the right side, we can add them on the left side alternatively
Fixes #102892
2022-10-26 11:29:53 +05:30
bors
d49e7e7fa1 Auto merge of #103279 - compiler-errors:normalize-hack-back, r=lcnr
Add eval hack in `super_relate_consts` back

Partially reverts 01adb7e98d.

This extra eval call *still* needs to happen, for example, in `normalize_param_env_or_error` when a param-env predicate has an unnormalized constant, since the param-env candidates never get normalized during candidate assembly (everywhere else we can assume that they are normalized fully).

r? `@lcnr,` though I feel like I've assigned quite a few PRs to you in the last few days, so feel free to reassign to someone else familiar with this code if you're busy!

cc #103243 (fixes the issue, but don't want to auto-close that until a backport is performed).
2022-10-26 05:17:46 +00:00
Byron Zhong
775328c290 Modify check to output 'you might have meant' for indirect reference 2022-10-25 22:08:41 -05:00
Byron Zhong
0b936d2da7 Add check to only output 'you might have meant' when the candidate name is in the same crate 2022-10-25 22:08:41 -05:00
Byron Zhong
be61f0237b Add Span in TypoSuggestion and TypoCandidate 2022-10-25 22:08:41 -05:00
bors
a5406feb1c Auto merge of #103158 - Bryanskiy:resolve_perf, r=petrochenkov
Perf improvements for effective visibility calculating

related to https://github.com/rust-lang/rust/pull/102026
r? `@petrochenkov`
2022-10-26 02:30:18 +00:00
bors
6365e5ad9f Auto merge of #102903 - compiler-errors:region-var-leak, r=jackh726
Assert if inference vars are leaking from `InferCtxt::fully_resolve`

`InferCtxt::fully_resolve` shouldn't return unresolved inference vars without us at least being aware of it, so make it an assertion now. This should only happen in cases where we used to be returning `ReEmpty`...

cc `@jackh726`
2022-10-25 23:24:36 +00:00
Matthew Maurer
6ea75aea56 llvm-16: Don't initialize removed legacy passes
LLVM removed initialization for legacy passes:
https://reviews.llvm.org/D136615
2022-10-25 15:03:21 -07:00
Michael Howell
b205a5a67c diagnostics: do not suggest static candidates as traits to import
If it's a static candidate, then it's already implemented. Do not suggest
it a second time for implementing.
2022-10-25 14:47:13 -07:00
Ralf Jung
52fda858dd interpret: a bit of cast cleanup 2022-10-25 22:09:35 +02:00
Nilstrieb
ed14202864 Add flag to forbid recovery in the parser 2022-10-25 22:06:53 +02:00
Oli Scherer
1c26a278f3 Split diagnostic details out into a separate function and fluent files 2022-10-25 18:28:04 +00:00
Martin Nordholts
43e17454e2 Remove rustc_driver::set_sigpipe_handler()
Its usage was removed in 5e624bf4ba and 093b075d32, so we do not need to
keep it around any longer. According to [preliminary
input](https://rust-lang.zulipchat.com/#narrow/stream/182449-t-compiler.2Fhelp/topic/Find.20.60rustc_driver.60.20dependent.20projects.3F/near/304490764),
we do not need to worry about any deprecation cycle for this API and can
just straight up remove it.

Migration instructions for remaining clients
--------------------------------------------

Change from

```rust

extern crate rustc_driver;

fn main() {
    rustc_driver::set_sigpipe_handler();
    // ...
```

to

```rust

fn main() {
    // ...
```
2022-10-25 19:13:23 +02:00
yukang
32a2f0dddb suggest calling the method of the same name when method not found 2022-10-26 00:45:29 +08:00
Michael Goulet
726bf18d2d Name impl trait in region bound suggestion 2022-10-25 16:37:11 +00:00
Jannis Christopher Köhl
5378c82d80 Use &self instead of &mut self for cast methods 2022-10-25 18:31:11 +02:00
bors
bed4ad65bf Auto merge of #102340 - JakobDegen:pass-manager-simplification, r=oli-obk
Split phase change from `MirPass`

The main goal here is to simplify the pass manager logic. `MirPass` no longer contains the `phase_change` method, and `run_passes` instead accepts an `Option<PhaseChange>`. The hope is that this addresses the comments (and maybe perf regression) from #99102 .

r? `@oli-obk` cc `@RalfJung`
2022-10-25 15:55:39 +00:00
Oli Scherer
8286ea5a49 Move a wf-check into the site where the value is instantiated 2022-10-25 14:47:24 +00:00
Vadim Petrochenkov
2283a5e65b rustc_metadata: Add constructors to module children at encoding time
instead of decoding time.
2022-10-25 18:11:50 +04:00
Maybe Waffle
e93982a78f adopt to compiler changes 2022-10-25 13:47:43 +00:00
Oli Scherer
f3bd222ad9 Bubble the opaque type ordering int opaque type handling 2022-10-25 13:27:58 +00:00
Oli Scherer
196a429a67 Use the general type API instead of directly accessing register_hidden_type 2022-10-25 13:27:06 +00:00
Oli Scherer
14caf7396d Pull opaque type handling out of the type relating delegate 2022-10-25 13:27:04 +00:00
Maybe Waffle
cc752f5665 Feature gate impl_trait_in_fn_trait_return 2022-10-25 13:25:52 +00:00
Maybe Waffle
8b494f427c Allow impl Fn() -> impl Trait in return position
This allows writing the following function signatures:
```rust
fn f0() -> impl Fn() -> impl Trait;
fn f3() -> &'static dyn Fn() -> impl Trait;
```

These signatures were already allowed for common traits and associated
types, there is no reason why `Fn*` traits should be special in this
regard.
2022-10-25 13:25:51 +00:00
yukang
6d455296fd Fix #103451, find_width_of_character_at_span return width with 1 when reaching end 2022-10-25 21:16:12 +08:00
Bryanskiy
a9447bb9d0 Perf improvements for effective visibility calculating 2022-10-25 15:15:18 +03:00
Vadim Petrochenkov
919673ea03 rustc_middle: Rearrange resolver outputs structures slightly 2022-10-25 15:42:29 +04:00