Michael Goulet
dce44faf5b
Revert "Make ClosureOutlivesRequirement not rely on an unresolved type"
...
This reverts commit a6b5f95fb0 .
2022-10-27 16:15:11 +00:00
Julien Cretin
dad28ad6d5
Add multivalue target feature to WASM target
2022-10-27 18:08:30 +02:00
Michael Goulet
2f9794b84a
remove _types from ocx method names
2022-10-27 15:43:37 +00:00
Michael Goulet
ce11ae5d0d
Address some more nits
2022-10-27 15:43:33 +00:00
Michael Goulet
d793d80cf7
(almost) Always use ObligationCtxt when dealing with canonical queries
2022-10-27 15:43:33 +00:00
Maybe Waffle
dc53c8f25f
Update tooling
2022-10-27 18:41:26 +04:00
Michael Woerister
9117ea9758
Introduce UnordMap, UnordSet, and UnordBag (see MCP 533)
...
MCP 533: https://github.com/rust-lang/compiler-team/issues/533
Also, as an example, substitute UnordMap for FxHashMap in
used_trait_imports query result.
2022-10-27 13:23:26 +00:00
Matthias Krüger
f9dfb6e32f
Rollup merge of #103544 - Nilstrieb:no-recovery-pls, r=compiler-errors
...
Add flag to forbid recovery in the parser
To start the effort of fixing #103534 , this adds a new flag to the parser, which forbids the parser from doing recovery, which it shouldn't do in macros.
This doesn't add any new checks for recoveries yet and is just here to bikeshed the names for the functions here before doing more.
r? `@compiler-errors`
2022-10-27 15:03:58 +02:00
Matthias Krüger
4a01cab4b7
Rollup merge of #103524 - petrochenkov:modchild4, r=cjgillot
...
rustc_metadata: Add struct and variant constructors to module children at encoding time
instead of decoding time.
Continuation of https://github.com/rust-lang/rust/pull/95899 .
The last time it caused some ICEs from generator use, but not everything seems ok.
2022-10-27 15:03:57 +02:00
Matthias Krüger
16e74c78a1
Rollup merge of #103255 - oli-obk:opaque_wrong_eq_relation, r=compiler-errors
...
Clean up hidden type registration
work on https://github.com/rust-lang/rust/issues/101186
Actually passing down the relation and using it instead of `eq` for the hidden type comparison has *no* effect whatsoever and allows for no further improvements at the call sites. I decided the increased complexity was not worth it and thus did not include that change in this PR.
r? `@compiler-errors`
2022-10-27 15:03:55 +02:00
Maybe Waffle
a17ccfa621
Accept TyCtxt instead of TyCtxtAt in Ty::is_* functions
...
Functions in answer:
- `Ty::is_freeze`
- `Ty::is_sized`
- `Ty::is_unpin`
- `Ty::is_copy_modulo_regions`
2022-10-27 15:06:08 +04:00
bors
0da281b606
Auto merge of #103623 - matthiaskrgr:rollup-318yc1t, r=matthiaskrgr
...
Rollup of 9 pull requests
Successful merges:
- #103035 (Even nicer errors from assert_unsafe_precondition)
- #103106 (Try to say that memory outside the AM is always exposed)
- #103475 (Make param index generation a bit more robust)
- #103525 (Move a wf-check into the site where the value is instantiated)
- #103564 (library: allow some unused things in Miri)
- #103586 (Process registered region obligation in `resolve_regions_with_wf_tys`)
- #103592 (rustdoc: remove redundant CSS selector `.notable-traits .notable`)
- #103593 (Remove an unused parser function (`Expr::returns`))
- #103611 (Add test for issue 103574)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
2022-10-27 10:05:16 +00:00
Matthias Krüger
0f0c044228
Rollup merge of #103593 - compiler-errors:nit-remove-returns, r=fee1-dead
...
Remove an unused parser function (`Expr::returns`)
I removed the only usage in #97474
2022-10-27 09:25:12 +02:00
Matthias Krüger
bf53e712c0
Rollup merge of #103586 - compiler-errors:issue-103573, r=jackh726
...
Process registered region obligation in `resolve_regions_with_wf_tys`
Fixes #103573
2022-10-27 09:25:11 +02:00
Matthias Krüger
2bd49c34e5
Rollup merge of #103525 - oli-obk:const_impl_on_non_const_trait, r=lcnr
...
Move a wf-check into the site where the value is instantiated
r? ``@lcnr``
2022-10-27 09:25:10 +02:00
Matthias Krüger
d7ad6ad9ad
Rollup merge of #103475 - oli-obk:generic_param_indices, r=lcnr
...
Make param index generation a bit more robust
r? ````@lcnr````
While not really necessary for closure and anon const ids, it's strictly more correct
2022-10-27 09:25:09 +02:00
bors
9dd3d29ec8
Auto merge of #103601 - compiler-errors:no-opaque-probe-in-nll-relate, r=oli-obk
...
Remove `commit_if_ok` probe from NLL type relation
It was not really necessary to add the `commit_if_ok` in #100092 -- I added it to protect us against weird inference error messages due to recursive RPIT calls, but we are always on the error path when this happens anyways, and I can't come up with an example that makes this manifest.
Fixes #103599
r? `@oli-obk` since you reviewed #100092 , feel free to re-roll.
🅱️ 📢 beta-nominating this since it's on beta (which forks in ~a week~ two days 😨 ) -- worst case we could revert the original PR on beta and land this on nightly, to give it some extra soak time...
2022-10-27 07:24:39 +00:00
Jakob Degen
c4c4c566d0
Replace mir_map.0 dump with built phase change dump
2022-10-27 00:21:57 -07:00
Byron Zhong
20a8427a11
Remove redundant braces
2022-10-27 01:41:24 -05:00
Byron Zhong
c0472a5450
Fix E0433 diagnostics ignoring typo suggestions and outputing wrong message
2022-10-27 00:49:39 -05:00
Wesley Wiser
7c6345d175
Allow use of -Clto=thin with -Ccodegen-units=1 in general
...
The current logic to ignore ThinLTO when `-Ccodegen-units=1` makes sense
for local ThinLTO but even in this scenario, a user may still want
(non-local) ThinLTO for the purpose of optimizing dependencies into the
final crate which is being compiled with 1 CGU.
The previous behavior was even more confusing because if you were
generating a binary (`--emit=link`), then you would get ThinLTO but if
you asked for LLVM IR or bytecode, then it would silently change to
using regular LTO.
With this change, we only override the defaults for local ThinLTO if you
ask for a single output such as LLVM IR or bytecode and in all other
cases honor the requested LTO setting.
2022-10-26 21:03:28 -04:00
Michael Goulet
b1cc95da23
Remap early bound lifetimes too
2022-10-27 00:28:54 +00:00
Yuki Okushi
132883e455
Rollup merge of #103598 - tshepang:token-kind-docs, r=jackh726
...
rustc_lexer::TokenKind improve docs
2022-10-27 08:30:59 +09:00
Yuki Okushi
6e1de0e9aa
Rollup merge of #103549 - maurer:llvm-main, r=cuviper
...
llvm-16: Don't initialize removed legacy passes
LLVM removed initialization for legacy passes:
https://reviews.llvm.org/D136615
2022-10-27 08:30:56 +09:00
Michael Goulet
901649eeb7
No need to probe when relating opaques in nll_relate
2022-10-26 22:10:12 +00:00
Tshepang Mbambo
b66f92197a
rustc_lexer::TokenKind improve docs
2022-10-26 23:32:14 +02:00
nils
da407ed38f
Fix typo
...
Co-authored-by: Esteban Kuber <estebank@users.noreply.github.com >
2022-10-26 22:06:35 +02:00
Michael Goulet
d380d0387d
remove unused parser fn
2022-10-26 19:19:44 +00:00
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