213933 Commits

Author SHA1 Message Date
Ralf Jung
e7cad62257 do not add noalias in return position 2023-01-02 15:11:19 +01:00
Guillaume Gomez
c1567730c0 Add regression test for #96287 2023-01-02 14:49:08 +01:00
Guillaume Gomez
a167435b76 Add regression test for #105742 2023-01-02 14:49:08 +01:00
Guillaume Gomez
1a9432255e Add regression test for #105737 2023-01-02 14:29:22 +01:00
Guillaume Gomez
ed3c3d3ddd Add regression test for #105334 2023-01-02 14:29:02 +01:00
Guillaume Gomez
e8853563df Add regression test for #106226 2023-01-02 14:28:39 +01:00
bors
fb9dfa8cef Auto merge of #84762 - cjgillot:resolve-span-opt, r=petrochenkov
Encode spans relative to the enclosing item -- enable on nightly

Follow-up to #84373 with the flag `-Zincremental-relative-spans` set by default.

This PR seeks to remove one of the main shortcomings of incremental: the handling of spans.
Changing the contents of a function may require redoing part of the compilation process for another function in another file because of span information is changed.
Within one file: all the spans in HIR change, so typechecking had to be re-done.
Between files: spans of associated types/consts/functions change, so type-based resolution needs to be re-done (hygiene information is stored in the span).

The flag `-Zincremental-relative-spans` encodes local spans relative to the span of an item, stored inside the `source_span` query.

Trap: stashed diagnostics are referenced by the "raw" span, so stealing them requires to remove the span's parent.

In order to avoid too much traffic in the span interner, span encoding uses the `ctxt_or_tag` field to encode:
- the parent when the `SyntaxContext` is 0;
- the `SyntaxContext` when the parent is `None`.
Even with this, the PR creates a lot of traffic to the Span interner, when a Span has both a LocalDefId parent and a non-root SyntaxContext. They appear in lowering, when we add a parent to all spans, including those which come from macros, and during inlining when we mark inlined spans.

The last commit changes how queries of `LocalDefId` manage their cache. I can put this in a separate PR if required.

Possible future directions:
- validate that all spans are marked in HIR validation;
- mark macro-expanded spans relative to the def-site and not the use-site.
2023-01-02 13:10:16 +00:00
clubby789
537c7f4fa9 Print correct base for too-large literals
Also update tests
2023-01-02 11:43:07 +00:00
gimbles
f8755ab864 maybe 2023-01-02 16:53:43 +05:30
Guillaume Gomez
3919b71b48 Fix rustdoc ICE on bad typedef with mismatching types 2023-01-02 11:47:36 +01:00
Gimbles
32ab2d95f1
Update format.rs 2023-01-02 15:51:54 +05:30
bors
f89003eda8 Auto merge of #106301 - notriddle:notriddle/dir-entry, r=GuillaumeGomez
rustdoc: use the regular arrow indicator for dir-entry CSS

This mostly reverts 468acca108e65101b802821bded17149dc1d86c9, while still fixing the problem it fixed by using an internal list-style-position. It results in a slight change in the hover indicator, but nothing misleading.

Preview: http://notriddle.com/notriddle-rustdoc-demos/dir-entry/src/std/lib.rs.html

## Before

![image](https://user-images.githubusercontent.com/1593513/210104247-642e6df0-07d3-452a-a2ab-4c700bc22e0e.png)

## After

![image](https://user-images.githubusercontent.com/1593513/210104271-a3832784-1e4d-4516-983e-6ecb9051857b.png)
2023-01-02 10:21:53 +00:00
bors
d5a7ddd99f Auto merge of #106284 - estebank:merge-mut-errors, r=jyn514
Merge multiple mutable borrows of immutable binding errors

Fix #53466.
2023-01-02 07:30:23 +00:00
Jakob Degen
ee6503a706 Reenable limited top-down MIR inlining 2023-01-01 22:01:29 -08:00
Esteban Küber
545406528a Verbose suggestions 2023-01-01 21:33:23 -08:00
bors
c5cb156caa Auto merge of #106358 - TroyNeubauer:improve-foreign-orphan-error, r=estebank
Implement fix for #67535

Implements a fix for #67535
r? `@estebank`
2023-01-02 04:32:39 +00:00
clubby789
cafdd2f7bb Note maximum integer literal for IntLiteralTooLarge 2023-01-02 03:52:29 +00:00
Michael Howell
399fe5d0cd rustdoc: add test case for dir entry summary position 2023-01-01 19:52:30 -07:00
Troy Neubauer
4cb9030a66
Implement fix for #67535 2023-01-01 18:26:28 -08:00
bors
ee11bfd8a1 Auto merge of #106352 - kornelski:read_line-doc, r=scottmcm
Document read_line gotchas

1. The "You do not need to clear the buffer before appending" advice is ambiguous, because it depends what you use this function for. For a rather common case of reading individual lines in a loop, it _is_ necessary to clear the buffer.

2. The docs warn about a DoS risk. I've added a hint how to mitigate unbounded memory growth.
2023-01-02 01:15:25 +00:00
yukang
93e62a4bf6 resolve merge conflict 2023-01-02 09:14:18 +08:00
yukang
74cdf93307 code refactor report_method_error 2023-01-02 09:14:15 +08:00
Joshua Nelson
beefcf8854 Cleanup mingw-tidy docker job
- Avoid `/checkout/src/ci/run.sh: line 187: [: =: unary operator expected`: https://github.com/rust-lang/rust/actions/runs/3809902408/jobs/6481611301#step:26:1701
- Avoid running `x check` in the tidy test, to get faster feedback. It's
  already run on the normal `mingw-check` job.
2023-01-01 21:44:18 +00:00
bors
e11cb36c75 Auto merge of #106349 - LeSeulArtichaut:dyn-star-tracking-issue, r=jackh726
Use the correct tracking issue for `dyn_star`

`#![feature(dyn_star)]` now has its own tracking issue, #102425.
2023-01-01 21:41:35 +00:00
J Haigh
9aebb1e099
improve error message
Co-authored-by: Joshua Nelson <github@jyn.dev>
2023-01-01 14:36:51 -07:00
J Haigh
e62258ebf4
fix typo
Co-authored-by: Joshua Nelson <github@jyn.dev>
2023-01-01 14:36:11 -07:00
DebugSteven
d7cac976dc combine error branches 2023-01-01 14:34:40 -07:00
DebugSteven
e94354e363 fix formatting 2023-01-01 13:41:47 -07:00
DebugSteven
5e67ce6803 handle error case where --wrapper-version argument doesn't exist 2023-01-01 13:20:32 -07:00
Nixon Enraght-Moony
cca5d219e6 Rustdoc-Json: Report discriminant on all kinds of enum variant.
Closes #106299
2023-01-01 19:48:26 +00:00
Léo Lanteri Thauvin
6289fe2cf1 Use the correct tracking issue for dyn_star 2023-01-01 19:56:10 +01:00
LegionMammal978
ce28b4d408 Deallocate ThinBox even if the value unwinds on drop 2023-01-01 13:48:18 -05:00
bors
77429957a0 Auto merge of #106350 - GuillaumeGomez:gui-test-explanation-2, r=notriddle
Add comment explaining what docblock-table GUI test is about

r? `@notriddle`
2023-01-01 18:35:04 +00:00
Nixon Enraght-Moony
b7b252a4f4 clean: Always store enum disriminant. 2023-01-01 18:11:53 +00:00
Esteban Küber
5bfcfeee2a Merge multiple mutable borrows of immutable binding errors
Fix #53466.
2023-01-01 10:09:26 -08:00
Kornel
3a6ceeb18f Document a way to limit read_line length 2023-01-01 18:04:26 +00:00
Kornel
1a983536f3 Document read_line gotcha 2023-01-01 17:49:05 +00:00
Lukas Markeffsky
035d854947 reduce spans for unsafe impl errors 2023-01-01 18:48:57 +01:00
Guillaume Gomez
d14e63665e Add comment explaining what docblock-table GUI test is about 2023-01-01 17:21:59 +01:00
bors
bb6e76df06 Auto merge of #106312 - tgross35:update-book-target, r=JohnTitor
Added link from Targets to Platform Support in the book

If you search the web for "rust targets", the first result is the [targets page](https://doc.rust-lang.org/nightly/rustc/targets/index.html). However, usually when searching for this I'm interested in seeing the available triples with host information, so I just added a link to the correct page.

The entire `Targets` chapter could probably be combined into one page, since its three subchapters each only have a tiny section (I'll do this if requested)
2023-01-01 05:20:48 +00:00
bors
c9825f7087 Auto merge of #106336 - matthiaskrgr:rollup-4p6bgwf, r=matthiaskrgr
Rollup of 4 pull requests

Successful merges:

 - #106280 (docs: add link to `Path::join` in `PathBuf::push`)
 - #106297 (rustdoc: merge scrape-help CSS)
 - #106328 (Add comment explaining what the GUI scrape-examples-fonts test is about)
 - #106334 (Fix tidy unittest.)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2022-12-31 23:22:06 +00:00
Matthias Krüger
0b3c3c9b64
Rollup merge of #106334 - ehuss:fix-tidy-unittests, r=jyn514
Fix tidy unittest.

The tidy unittests weren't compiling due to a change made a long while ago to the `Version` type.
2022-12-31 23:51:35 +01:00
Matthias Krüger
0a08ab129d
Rollup merge of #106328 - GuillaumeGomez:gui-test-explanation, r=notriddle
Add comment explaining what the GUI scrape-examples-fonts test is about

r? `@notriddle`
2022-12-31 23:51:35 +01:00
Matthias Krüger
17263f2fa1
Rollup merge of #106297 - notriddle:notriddle/scrape-help, r=GuillaumeGomez
rustdoc: merge scrape-help CSS
2022-12-31 23:51:34 +01:00
Matthias Krüger
4bf9cae080
Rollup merge of #106280 - Ezrashaw:path-join-docs-better, r=thomcc
docs: add link to `Path::join` in `PathBuf::push`

Fixes #106219

Hopefully my wording is alright.
2022-12-31 23:51:34 +01:00
Eric Huss
59b80f598f Run cargo test on tidy itself. 2022-12-31 12:34:23 -08:00
bors
574b64a97f Auto merge of #106282 - Ezrashaw:merge-e0465, r=estebank
refactor: merge error code `E0465` into `E0464`

`E0465` is an undocumented and untested error code that is functionally identical to `E0464`. This PR merges `E0465` into `E0464`, thus documenting and testing another error code (#61137).

r? `@GuillaumeGomez` (not sure if you want to review this but it's relevant to my other PRs that you have reviewed)
2022-12-31 20:10:02 +00:00
Eric Huss
4620f82a13 Fix tidy unittest. 2022-12-31 11:52:16 -08:00
DebugSteven
f50ad6cd8c rename wrapper-version argument for x to differentiate it from the bootstrap version 2022-12-31 11:38:44 -07:00
J Haigh
430ea8d440 Update error message
Co-authored-by: Joshua Nelson <github@jyn.dev>
2022-12-31 11:38:44 -07:00