Commit graph

129958 commits

Author SHA1 Message Date
Matthias Krüger
956a9f55c0
Rollup merge of #98611 - GuillaumeGomez:rustdoc-json-glob-ice, r=notriddle
Fix glob import ICE in rustdoc JSON format

Fixes #98003.

r? `@notriddle`
2022-06-28 18:34:32 +02:00
Matthias Krüger
a1b06388ce
Rollup merge of #98609 - TaKO8Ki:fix-ice-for-associated-constant-generics, r=lcnr
Fix ICE for associated constant generics

Fixes #98432
2022-06-28 18:34:31 +02:00
Matthias Krüger
28d2c4bd69
Rollup merge of #98606 - lnicola:rust-analyzer-2022-06-28, r=lnicola
⬆️ rust-analyzer

r? ``@ghost``
2022-06-28 18:34:30 +02:00
Matthias Krüger
70b4e042d3
Rollup merge of #98602 - TaKO8Ki:add-regression-test-for-issue-80074, r=Mark-Simulacrum
Add regression test for #80074

closes #80074
2022-06-28 18:34:29 +02:00
Matthias Krüger
6cb46ca382
Rollup merge of #98564 - jyn514:remove-tmp-dir, r=Mark-Simulacrum
Remove references to `./tmp` in-tree

These used to be used by codegen-units tests, but were switched from manually specifying directories
to just using `// incremental` in https://github.com/rust-lang/rust/pull/89101.
Remove the old references.

Fixes https://github.com/rust-lang/rust/issues/34586.
2022-06-28 18:34:28 +02:00
Matthias Krüger
5c7a04553d
Rollup merge of #98560 - TaKO8Ki:add-regression-test-for-85907, r=Mark-Simulacrum
Add regression test for #85907

closes #85907
2022-06-28 18:34:27 +02:00
Matthias Krüger
3991e739ba
Rollup merge of #98548 - Enselic:allow-typedef-diff-for-rustdoc-json, r=GuillaumeGomez
rustdoc-json: Allow Typedef to be different in sanity assert

Closes #98547

This fix is a natural extension of #98053.

r? `@notriddle`

(Since you reviewed the other PR.)

CC `@GuillaumeGomez`

`@rustbot` labels +A-rustdoc-json +T-rustdoc
2022-06-28 18:34:26 +02:00
bors
00ebeb87ac Auto merge of #98612 - Dylan-DPC:rollup-7tasikc, r=Dylan-DPC
Rollup of 9 pull requests

Successful merges:

 - #97346 (Remove a back-compat hack on lazy TAIT)
 - #98261 (Remove `MAX_SUGGESTION_HIGHLIGHT_LINES`)
 - #98337 ([RFC 2011] Optimize non-consuming operators)
 - #98384 (Fix RSS reporting on macOS)
 - #98420 (translation: lint fix + more migration)
 - #98430 (Refactor iter adapters with less macros)
 - #98555 (Hermit: Fix initializing lazy locks)
 - #98595 (Implement `Send` and `Sync` for `ThinBox<T>`)
 - #98597 (Remove unstable CStr/CString change from 1.62 release note)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2022-06-28 13:46:43 +00:00
Dylan DPC
ec8477fea1
Rollup merge of #98337 - c410-f3r:assert-compiler, r=oli-obk
[RFC 2011] Optimize non-consuming operators

Tracking issue: https://github.com/rust-lang/rust/issues/44838
Fifth step of https://github.com/rust-lang/rust/pull/96496

The most non-invasive approach that will probably have very little to no performance impact.

## Current behaviour

Captures are handled "on-the-fly", i.e., they are performed in the same place expressions are located.

```rust
// `let a = 1; let b = 2; assert!(a > 1 && b < 100);`

if !(
  { ***try capture `a` and then return `a`*** } > 1 && { ***try capture `b` and then return `b`*** } < 100
) {
  panic!( ... );
}
```

As such, some overhead is likely to occur (Specially with very large chains of conditions).

## New behaviour for non-consuming operators

When an operator is known to not take `self`, then it is possible to capture variables **AFTER** the condition.

```rust
// `let a = 1; let b = 2; assert!(a > 1 && b < 100);`

if !( a > 1 && b < 100 ) {
  { ***try capture `a`*** }
  { ***try capture `b`*** }
  panic!( ... );
}
```

So the possible impact on the runtime execution time will be diminished.

r? ````@oli-obk````
2022-06-28 15:30:02 +05:30
Dylan DPC
9b3dbb8200
Rollup merge of #98261 - WaffleLapkin:attempt_to_remove_max_suggestion_highlight_lines, r=flip1995
Remove `MAX_SUGGESTION_HIGHLIGHT_LINES`

After #97798 the `MAX_SUGGESTION_HIGHLIGHT_LINES` constant doesn't really make sense since we always show full suggestions. This PR removes last usages of the constant and the constant itself.

r? ``@flip1995`` (this mostly does changes in clippy)
2022-06-28 15:30:01 +05:30
Dylan DPC
c703d11dcc
Rollup merge of #97346 - JohnTitor:remove-back-compat-hacks, r=oli-obk
Remove a back-compat hack on lazy TAIT

This PR's motivation is here: https://github.com/rust-lang/rust/issues/72614#issuecomment-1134595446
~~But removing a hack doesn't seem to reject the code on the issue, there're some more hacks?~~
r? ``@oli-obk``
2022-06-28 15:30:00 +05:30
bors
baf382e63c Auto merge of #98396 - cjgillot:iwfchir, r=petrochenkov
Do not access HIR to check impl wf.

r? `@ghost`
2022-06-28 09:48:18 +00:00
Guillaume Gomez
c2221eff62 Add regression test for glob import ICE in rustdoc JSON 2022-06-28 11:46:24 +02:00
Guillaume Gomez
b7e62000dd Fix glob import ICE in rustdoc JSON format 2022-06-28 11:46:03 +02:00
Takayuki Maeda
8c7d9f6092 fix ice for associated constant generics 2022-06-28 18:29:07 +09:00
Martin Nordholts
2888e76d06 test/rustdoc-json/assoc_type.rs: Maximize chance of detecting future ICEs 2022-06-28 11:02:14 +02:00
Martin Nordholts
ae4b929c00 rustdoc-json: Add assoc type ICE regression test 2022-06-28 10:10:40 +02:00
Laurențiu Nicola
396342a1fb ⬆️ rust-analyzer 2022-06-28 09:54:21 +03:00
bors
5ffa8f67b7 Auto merge of #98222 - cjgillot:single-wf, r=michaelwoerister
Only keep a single query for well-formed checking

There are currently 3 queries to perform wf checks on different item-likes.  This complexity is not required.

This PR replaces the query by:
- one query per item;
- one query to invoke it for a whole module.

This allows to remove HIR `ParItemLikeVisitor`.
2022-06-28 03:44:33 +00:00
Takayuki Maeda
05263f05bd add regression test for #80074 2022-06-28 12:28:04 +09:00
Matthias Krüger
9f667994fd
Rollup merge of #98578 - rust-lang:oli-obk-patch-1, r=eddyb
Remove eddyb from miri failure pings

r? `@eddyb`
2022-06-27 22:35:11 +02:00
Matthias Krüger
d0ae6ebe63
Rollup merge of #98577 - GuillaumeGomez:associated-items, r=notriddle
Fix "kind" for associated types in trait implementations in rustdoc JSON

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

Contrary to what is suggested in the issue, I really think we should distinguish between associated items and "normal" constants and types.

cc `@CraftSpider` `@SimonSapin`
r? `@notriddle`
2022-06-27 22:35:11 +02:00
Matthias Krüger
6391f239c8
Rollup merge of #98506 - compiler-errors:object-safety-suggestions, r=oli-obk
Fix span issues in object safety suggestions

Fixes #98500
2022-06-27 22:35:07 +02:00
Matthias Krüger
38bfa9c4f8
Rollup merge of #98331 - GuillaumeGomez:rustdoc-arg-error, r=notriddle
Fix rustdoc argument error

Fixes #88756.

It's a take over of #88831. I cherry-picked the commits, fixed the merge conflict and the failing test.

cc `@inashivb` `@jyn514`

r? `@notriddle`
2022-06-27 22:35:06 +02:00
bors
8e52fa87eb Auto merge of #98566 - matthiaskrgr:rollup-43etyls, r=matthiaskrgr
Rollup of 5 pull requests

Successful merges:

 - #97389 (Improve memory ordering diagnostics)
 - #97780 (Check ADT field is well-formed before checking it is sized)
 - #98530 (compiletest: add issue number param to `known-bug`)
 - #98556 (Fix builds on Windows (closes #98546))
 - #98561 (Fix spelling in SAFETY comment)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2022-06-27 16:28:58 +00:00
Oli Scherer
dfb592a91d
Remove eddyb from miri failure pings 2022-06-27 16:08:19 +02:00
Guillaume Gomez
9277f959dd Add test for associated items in rustdoc JSON 2022-06-27 16:01:13 +02:00
Guillaume Gomez
c1c0d25939 Fix kind for associated types in rustdoc JSON output for trait implementations 2022-06-27 16:01:13 +02:00
Yuki Okushi
c24f06354a
Remove a back-compat hack on lazy TAIT 2022-06-27 20:43:44 +09:00
Guillaume Gomez
768129d4bd Finish rustdoc error improvement 2022-06-27 10:52:53 +02:00
Shivani Bhardwaj
70ced2502b Add test for help output with -W 2022-06-27 10:43:51 +02:00
Shivani Bhardwaj
ed62a09de1 Add test for default rustdoc run 2022-06-27 10:43:51 +02:00
Shivani Bhardwaj
e1b6f16fd4 Fix rustdoc argument error 2022-06-27 10:43:51 +02:00
Matthias Krüger
31ec973b15
Rollup merge of #98556 - BlaCoiso:patch-1, r=jyn514
Fix builds on Windows (closes #98546)

closes https://github.com/rust-lang/rust/issues/98546
2022-06-27 08:06:48 +02:00
Matthias Krüger
13e4f87c4d
Rollup merge of #98530 - davidkna:known-bug-ref, r=Mark-Simulacrum
compiletest: add issue number param to `known-bug`

I was getting some errors while testing this, but I'm pretty sure that was unrelated to my changes.

Closes #98436

> Basically, instead of `// known-bug`, do `// known-bug #00000` or maybe `// known-bug chalk#00`?
>
> From: https://rust-lang.zulipchat.com/#narrow/stream/326866-t-types.2Fnominated/topic/.2398095.3A.20NLL.3A.20unsound.20verification.20of.20higher.20ranked.20outlives.E2.80.A6/near/287258738

I also added an `unknown` escape-hatch because I didn't find corresponding issues for every `// known-bug`.

The syntax also ended up being `// known-bug: `, because of `set_name_value_directive`.
2022-06-27 08:06:47 +02:00
Matthias Krüger
43dd0e2424
Rollup merge of #97780 - compiler-errors:field-wfcheck-before-sized, r=jackh726
Check ADT field is well-formed before checking it is sized

Fixes #96810.

There is one diagnostics regression, in [`src/test/ui/generic-associated-types/bugs/issue-80626.stderr`](https://github.com/rust-lang/rust/pull/97780/files#diff-53795946378e78a0af23a10277c628ff79091c18090fdc385801ee70c1ba6963). I am not super concerned about it, since it's GAT related.
We _could_ fix it, possibly by using the `FieldSized` obligation cause code instead of `BuiltinDerivedObligation`. But that would require changing `Sized` trait confirmation and the `adt_sized_constraint` query.
2022-06-27 08:06:46 +02:00
Matthias Krüger
3694e40ffa
Rollup merge of #97389 - m-ou-se:memory-ordering-diagnostics, r=estebank
Improve memory ordering diagnostics

Before:

![image](https://user-images.githubusercontent.com/783247/170234545-891cac30-eaa2-4186-847b-35cd51e00f2b.png)

After:

![image](https://user-images.githubusercontent.com/783247/170239684-645f186f-5a02-4eb9-8651-2e5fe9591352.png)

---

Before this change, the compiler suggests the failure ordering is too strong and suggests choosing a weaker ordering. After this change, it instead suggests the success ordering is not strong enough, and suggests chosing a stronger one. This is more likely to be correct.

Also, before this change, the compiler suggested downgrading an invalid AcqRel failure ordering to Relaxed, without mentioning Acquire as an option.
2022-06-27 08:06:45 +02:00
bors
bd2e51a338 Auto merge of #98285 - nikic:update-llvm-5, r=cuviper
Rebase LLVM submodule

This is a rebase of our LLVM fork onto LLVM 14.0.5, which is intended to be the last release of the 14.x series. Additionally:

 * I've dropped three patches that were needed to build on FreeBSD 11, which is no longer necessary after #97944.
 * I've dropped some cherry-picks that were later reverted.
 * I've cherry-picked caa2a829cd for https://github.com/rust-lang/rust/issues/96797 (fyi `@Amanieu)`
2022-06-27 05:36:50 +00:00
Joshua Nelson
d16187c47f Remove references to ./tmp in-tree
These used to be used by codegen-units tests, but were switched from manually specifying directories
to just using `// incremental` in https://github.com/rust-lang/rust/pull/89101.
Remove the old references.
2022-06-26 23:25:12 -05:00
bors
7702ae16a2 Auto merge of #98221 - cjgillot:single-coh, r=lcnr
Perform coherence checking per impl.

r? `@ghost`
2022-06-27 02:56:06 +00:00
Takayuki Maeda
89a23bf54f add regression test for #85907 2022-06-27 10:07:19 +09:00
BlaCoiso
15abd82d70
Fix builds on Windows (closes #98546) 2022-06-26 23:27:44 +01:00
David Knaack
93d3359d37 compiletest: add issue number param to known-bug 2022-06-26 23:15:47 +02:00
Matthias Krüger
93ea1ec153
Rollup merge of #98540 - TaKO8Ki:add-regression-test-for-87558, r=Mark-Simulacrum
Add regression test for #87558

Fixes #87558
2022-06-26 19:47:08 +02:00
Matthias Krüger
5efe7c7fc6
Rollup merge of #98538 - TaKO8Ki:add-test-for-issue-91883, r=Mark-Simulacrum
Add a ui test for issue #91883

closes #91883
2022-06-26 19:47:07 +02:00
Matthias Krüger
50b6e7db6a
Rollup merge of #98535 - GuillaumeGomez:regression-test-92859, r=lcnr
Add regression test for generic const in rustdoc

Fixes #92859.

r? ```@lcnr```
2022-06-26 19:47:06 +02:00
Matthias Krüger
0c09846e89
Rollup merge of #98528 - jyn514:bootstrap-color, r=Mark-Simulacrum
Respect --color when building rustbuild itself

Separated out from https://github.com/rust-lang/rust/pull/95503.
2022-06-26 19:47:05 +02:00
Matthias Krüger
0b3b4ef2b5
Rollup merge of #98428 - davidtwco:translation-derive-typed-identifiers, r=oli-obk
macros: use typed identifiers in diag and subdiag derive

Using typed identifiers instead of strings with the Fluent identifiers in the diagnostic and subdiagnostic derives - this enables the diagnostic derive to benefit from the compile-time validation that comes with typed identifiers, namely that use of a non-existent Fluent identifier will not compile.

r? `````@oli-obk`````
2022-06-26 19:47:04 +02:00
Matthias Krüger
df26fdf3e1
Rollup merge of #98297 - GuillaumeGomez:help-pocket-menu, r=notriddle
Transform help popup into a pocket menu

Just like we moved the settings menu into a "pocket menu", it's doing the same to the help popup.

You can test it [here](https://rustdoc.crud.net/imperio/help-pocket-menu/doc/foo/index.html) and here is a screenshot:

![Screenshot from 2022-06-20 20-58-29](https://user-images.githubusercontent.com/3050060/174663718-538e9d11-3bf9-48b2-8909-f9bfe75af135.png)

r? ``````````@jsha``````````
2022-06-26 19:47:03 +02:00
Matthias Krüger
7312a66a5c
Rollup merge of #97743 - RalfJung:const-err-future-breakage, r=estebank
make const_err show up in future breakage reports

As tracked in https://github.com/rust-lang/rust/issues/71800, const_err should become a hard error Any Day Now (TM). I'd love to move forward with that sooner rather than later; it has been deny-by-default for many years and a future incompat lint since https://github.com/rust-lang/rust/pull/80394 (landed more than a year ago). Some CTFE errors are already hard errors since https://github.com/rust-lang/rust/pull/86194. But before we truly make it a hard error in all cases, we now have one more intermediate step we can take -- to make it show up in future breakage reports.

Cc `````@rust-lang/wg-const-eval`````
2022-06-26 19:47:01 +02:00