]> git.lizzy.rs Git - rust.git/log
rust.git
21 months agoAdd documentation for TyCtxt::visibility
Guillaume Gomez [Tue, 13 Sep 2022 15:27:56 +0000 (17:27 +0200)]
Add documentation for TyCtxt::visibility

21 months agoAuto merge of #100640 - reitermarkus:socket-display-buffer, r=thomcc
bors [Tue, 13 Sep 2022 06:41:37 +0000 (06:41 +0000)]
Auto merge of #100640 - reitermarkus:socket-display-buffer, r=thomcc

Use `DisplayBuffer` for socket addresses.

Continuation of https://github.com/rust-lang/rust/pull/100625 for socket addresses.

Renames `net::addr` to `net::addr::socket`, `net::ip` to `net::addr::ip` and `net::ip::display_buffer::IpDisplayBuffer` to `net::addr::display_buffer::DisplayBuffer`.

21 months agoAuto merge of #100101 - BelovDV:issue-99429, r=petrochenkov
bors [Tue, 13 Sep 2022 04:00:24 +0000 (04:00 +0000)]
Auto merge of #100101 - BelovDV:issue-99429, r=petrochenkov

change rlib format to distinguish native dependencies

Another one method to solve problem mentioned in #99429.

Changed .rlib format, it contains all bundled native libraries as archieves.
At link time rlib is unpacked and native dependencies linked separately.
New behavior hidden under separate_native_rlib_dependencies flag.

21 months agoAuto merge of #99556 - davidtwco:collapse-debuginfo, r=wesleywiser
bors [Tue, 13 Sep 2022 01:19:05 +0000 (01:19 +0000)]
Auto merge of #99556 - davidtwco:collapse-debuginfo, r=wesleywiser

ssa: implement `#[collapse_debuginfo]`

cc #39153 rust-lang/compiler-team#386

Debuginfo line information for macro invocations are collapsed by default - line information are replaced by the line of the outermost expansion site. Using `-Zdebug-macros` disables this behaviour.

When the `collapse_debuginfo` feature is enabled, the default behaviour is reversed so that debuginfo is not collapsed by default. In addition, the `#[collapse_debuginfo]` attribute is available and can be applied to macro definitions which will then have their line information collapsed.

r? rust-lang/wg-debugging

21 months agoAuto merge of #101736 - GuillaumeGomez:rollup-f71kjdb, r=GuillaumeGomez
bors [Mon, 12 Sep 2022 22:15:47 +0000 (22:15 +0000)]
Auto merge of #101736 - GuillaumeGomez:rollup-f71kjdb, r=GuillaumeGomez

Rollup of 8 pull requests

Successful merges:

 - #100185 (Fix `ReErased` leaking into typeck due to `typeof(...)` recovery)
 - #100291 (constify some `CStr` methods)
 - #101677 (Add test for #101211)
 - #101723 (Impove diagnostic for `.await`ing non-futures)
 - #101724 (Allow unauthenticated users to add the `const-hack` label)
 - #101731 (rustdoc: improve rustdoc HTML suggestions handling of nested generics)
 - #101732 (Feature gate the `rustdoc::missing_doc_code_examples` lint)
 - #101735 (rustdoc: fix treatment of backslash-escaped HTML)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup

21 months agoRollup merge of #101735 - notriddle:notriddle/backslash-escaped-html, r=GuillaumeGomez
Guillaume Gomez [Mon, 12 Sep 2022 20:47:18 +0000 (22:47 +0200)]
Rollup merge of #101735 - notriddle:notriddle/backslash-escaped-html, r=GuillaumeGomez

rustdoc: fix treatment of backslash-escaped HTML

Try generating HTML for this markup:

    \<a href="https://example.com">example</a>

It will produce text, not HTML, in both rustdoc's real HTML output and in the commonmark reference implementation:

https://spec.commonmark.org/dingus/?text=%5C%3Ca%20href%3D%22https%3A%2F%2Fexample.com%22%3Eexample%3C%2Fa%3E

21 months agoRollup merge of #101732 - Nemo157:gate-rustdoc-missing-examples, r=GuillaumeGomez
Guillaume Gomez [Mon, 12 Sep 2022 20:47:18 +0000 (22:47 +0200)]
Rollup merge of #101732 - Nemo157:gate-rustdoc-missing-examples, r=GuillaumeGomez

Feature gate the `rustdoc::missing_doc_code_examples` lint

Moves the lint from being implicitly active on nightly `rustdoc` to requiring a feature to activate, like other unstable lints.

Uses the new tracking issue https://github.com/rust-lang/rust/issues/101730

21 months agoRollup merge of #101731 - notriddle:notriddle/more-improved-html-check, r=GuillaumeGomez
Guillaume Gomez [Mon, 12 Sep 2022 20:47:17 +0000 (22:47 +0200)]
Rollup merge of #101731 - notriddle:notriddle/more-improved-html-check, r=GuillaumeGomez

rustdoc: improve rustdoc HTML suggestions handling of nested generics

Based on some poor suggestions produced when stablizing this lint and running it on `manformed-generics.rs` in #101720

21 months agoRollup merge of #101724 - fee1-dead-contrib:triage-const-hack, r=oli-obk
Guillaume Gomez [Mon, 12 Sep 2022 20:47:16 +0000 (22:47 +0200)]
Rollup merge of #101724 - fee1-dead-contrib:triage-const-hack, r=oli-obk

Allow unauthenticated users to add the `const-hack` label

Observed in #101401.

cc ```@oli-obk```

21 months agoRollup merge of #101723 - lukas-code:await-diag, r=compiler-errors
Guillaume Gomez [Mon, 12 Sep 2022 20:47:15 +0000 (22:47 +0200)]
Rollup merge of #101723 - lukas-code:await-diag, r=compiler-errors

Impove diagnostic for `.await`ing non-futures

Strip leading whitespace from the span and use a non-verbose suggestion.
fixes #101715

21 months agoRollup merge of #101677 - winxpqq955:issue-101211, r=fee1-dead
Guillaume Gomez [Mon, 12 Sep 2022 20:47:14 +0000 (22:47 +0200)]
Rollup merge of #101677 - winxpqq955:issue-101211, r=fee1-dead

Add test for #101211

Closes #101211

21 months agoRollup merge of #100291 - WaffleLapkin:cstr_const_methods, r=oli-obk
Guillaume Gomez [Mon, 12 Sep 2022 20:47:14 +0000 (22:47 +0200)]
Rollup merge of #100291 - WaffleLapkin:cstr_const_methods, r=oli-obk

constify some `CStr` methods

This PR marks the following public APIs as `const`:
```rust
impl CStr {
    // feature(const_cstr_from_bytes)
    pub const fn from_bytes_until_nul(bytes: &[u8]) -> Result<&CStr, FromBytesUntilNulError>;
    pub const fn from_bytes_with_nul(bytes: &[u8]) -> Result<&Self, FromBytesWithNulError>;

    // feature(const_cstr_to_bytes)
    pub const fn to_bytes(&self) -> &[u8];
    pub const fn to_bytes_with_nul(&self) -> &[u8];
    pub const fn to_str(&self) -> Result<&str, str::Utf8Error>;
}
```

r? ```@oli-obk``` (use of `const_eval_select` :P )
cc ```@mina86``` (you've asked for this <3 )

21 months agoRollup merge of #100185 - compiler-errors:issue-100183, r=wesleywiser
Guillaume Gomez [Mon, 12 Sep 2022 20:47:13 +0000 (22:47 +0200)]
Rollup merge of #100185 - compiler-errors:issue-100183, r=wesleywiser

Fix `ReErased` leaking into typeck due to `typeof(...)` recovery

Fixes #100183

21 months agorustdoc: fix treatment of backslash-escaped HTML
Michael Howell [Mon, 12 Sep 2022 19:48:22 +0000 (12:48 -0700)]
rustdoc: fix treatment of backslash-escaped HTML

Try generating HTML for this markup:

    \<a href="https://example.com">example</a>

It will produce text, not HTML, in both rustdoc's real HTML output and in
the commonmark reference implementation:

https://spec.commonmark.org/dingus/?text=%5C%3Ca%20href%3D%22https%3A%2F%2Fexample.com%22%3Eexample%3C%2Fa%3E

21 months agoAuto merge of #101729 - oli-obk:miriup, r=oli-obk
bors [Mon, 12 Sep 2022 19:34:30 +0000 (19:34 +0000)]
Auto merge of #101729 - oli-obk:miriup, r=oli-obk

Update miri submodule

r? `@ghost`

fixes #101649

21 months agoFeature gate the rustdoc::missing_doc_code_examples lint
Wim Looman [Mon, 12 Sep 2022 18:10:35 +0000 (20:10 +0200)]
Feature gate the rustdoc::missing_doc_code_examples lint

21 months agorustdoc: improve rustdoc HTML suggestions handling of nested generics
Michael Howell [Mon, 12 Sep 2022 18:11:37 +0000 (11:11 -0700)]
rustdoc: improve rustdoc HTML suggestions handling of nested generics

Based on some poor suggestions produced when stablizing this lint and running
it on `manformed-generics.rs`

21 months agoAllow tool-lints to specify a feature-gate too
Wim Looman [Mon, 12 Sep 2022 18:08:58 +0000 (20:08 +0200)]
Allow tool-lints to specify a feature-gate too

21 months agoSimplify `clippy` fix.
Markus Reiter [Mon, 12 Sep 2022 17:03:24 +0000 (19:03 +0200)]
Simplify `clippy` fix.

21 months agoUpdate miri submodule
Oli Scherer [Mon, 12 Sep 2022 17:19:31 +0000 (17:19 +0000)]
Update miri submodule

21 months agoFix clippy.
Markus Reiter [Thu, 1 Sep 2022 23:11:20 +0000 (01:11 +0200)]
Fix clippy.

21 months agoAdd `rustc_diagnostic_item` for IP addresses.
Markus Reiter [Thu, 1 Sep 2022 20:19:13 +0000 (22:19 +0200)]
Add `rustc_diagnostic_item` for IP addresses.

21 months agoFlatten `net` module again.
Markus Reiter [Wed, 24 Aug 2022 11:13:12 +0000 (13:13 +0200)]
Flatten `net` module again.

21 months agoMove `net::parser` into `net::addr` module.
Markus Reiter [Fri, 19 Aug 2022 22:24:49 +0000 (00:24 +0200)]
Move `net::parser` into `net::addr` module.

21 months agoAdd tests for `SockAddr` `Display`.
Markus Reiter [Fri, 19 Aug 2022 22:06:47 +0000 (00:06 +0200)]
Add tests for `SockAddr` `Display`.

21 months agoUse `DisplayBuffer` for socket addresses.
Markus Reiter [Tue, 16 Aug 2022 18:23:32 +0000 (20:23 +0200)]
Use `DisplayBuffer` for socket addresses.

21 months agoAuto merge of #99334 - NiklasJonsson:84447/error-privacy, r=oli-obk
bors [Mon, 12 Sep 2022 15:57:37 +0000 (15:57 +0000)]
Auto merge of #99334 - NiklasJonsson:84447/error-privacy, r=oli-obk

rustc_error, rustc_private: Switch to stable hash containers

Relates https://github.com/rust-lang/rust/issues/84447

21 months agoAllow unauthenticated users to add the `const-hack` label
fee1-dead [Mon, 12 Sep 2022 15:04:32 +0000 (23:04 +0800)]
Allow unauthenticated users to add the `const-hack` label

21 months agoImpove diagnostic for .await-ing non-futures
Lukas Markeffsky [Mon, 12 Sep 2022 14:54:25 +0000 (16:54 +0200)]
Impove diagnostic for .await-ing non-futures

21 months agochange rlib format to discern native dependencies
Daniil Belov [Wed, 24 Aug 2022 10:10:40 +0000 (13:10 +0300)]
change rlib format to discern native dependencies

21 months agoAuto merge of #101716 - Dylan-DPC:rollup-ayvh6nd, r=Dylan-DPC
bors [Mon, 12 Sep 2022 13:16:14 +0000 (13:16 +0000)]
Auto merge of #101716 - Dylan-DPC:rollup-ayvh6nd, r=Dylan-DPC

Rollup of 9 pull requests

Successful merges:

 - #100293 (Add inline-llvm option for disabling/enabling LLVM inlining)
 - #100767 (Remove manual <[u8]>::escape_ascii)
 - #101668 (Suggest pub instead of public for const type item)
 - #101671 (Fix naming format of IEEE 754 standard)
 - #101676 (Check that the types in return position `impl Trait` in traits are well-formed)
 - #101681 (Deny return-position `impl Trait` in traits for object safety)
 - #101693 (Update browser UI test 0 10)
 - #101701 (Rustdoc-Json: Add tests for trait impls.)
 - #101706 (rustdoc: remove no-op `#search`)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup

21 months agoconstify `CStr` methods
Maybe Waffle [Mon, 8 Aug 2022 23:20:15 +0000 (03:20 +0400)]
constify `CStr` methods

21 months agoRollup merge of #101706 - notriddle:notriddle/search-mobile, r=GuillaumeGomez
Dylan DPC [Mon, 12 Sep 2022 09:51:36 +0000 (15:21 +0530)]
Rollup merge of #101706 - notriddle:notriddle/search-mobile, r=GuillaumeGomez

rustdoc: remove no-op `#search`

The margin rule was added in c729e4dca7581fcd060978bcb0d7f98ea4eb6b82 to remove an unnecessary left margin that was present on desktop. This desktop-mode margin was itself removed in 135281ed1525db15edd8ebd092aa10aa40df2386.

The padding rule was added in 135281ed1525db15edd8ebd092aa10aa40df2386 when converting the rule for `#main`, but didn't do anything even then.

21 months agoRollup merge of #101701 - aDotInTheVoid:rdj-impl-tests, r=GuillaumeGomez
Dylan DPC [Mon, 12 Sep 2022 09:51:35 +0000 (15:21 +0530)]
Rollup merge of #101701 - aDotInTheVoid:rdj-impl-tests, r=GuillaumeGomez

Rustdoc-Json: Add tests for trait impls.

21 months agoRollup merge of #101693 - GuillaumeGomez:update-browser-ui-test-0-10, r=notriddle
Dylan DPC [Mon, 12 Sep 2022 09:51:34 +0000 (15:21 +0530)]
Rollup merge of #101693 - GuillaumeGomez:update-browser-ui-test-0-10, r=notriddle

Update browser UI test 0 10

The biggest change from this browser-ui-test update is the upgrade of the puppeteer version to `17.1.3` (the latest in short).

I also added the command `click-with-offset` to still allow us to click on the `[-]` part.

cc `@jsha`
r? `@notriddle`

21 months agoRollup merge of #101681 - compiler-errors:rpitit-obj-safety, r=lcnr
Dylan DPC [Mon, 12 Sep 2022 09:51:33 +0000 (15:21 +0530)]
Rollup merge of #101681 - compiler-errors:rpitit-obj-safety, r=lcnr

Deny return-position `impl Trait` in traits for object safety

Fixes #101667

21 months agoRollup merge of #101676 - compiler-errors:rpitit-wf, r=lcnr
Dylan DPC [Mon, 12 Sep 2022 09:51:33 +0000 (15:21 +0530)]
Rollup merge of #101676 - compiler-errors:rpitit-wf, r=lcnr

Check that the types in return position `impl Trait` in traits are well-formed

This effectively duplicates `check_associated_type_bounds`, but that shouldn't be for long, since we're going to remove it once we refactor RPITITs into regular associated items.

Fixes #101663

---

We don't check

```rust
trait Foo {
  fn bar() -> impl ?Sized;
}
```

currently, but that's for a different reason, which is that we don't currently check that a trait function's return type is sized (i.e. `fn bar() -> [u8]` also works in a trait).

21 months agoRollup merge of #101671 - LingMan:ieee_754, r=Dylan-DPC
Dylan DPC [Mon, 12 Sep 2022 09:51:32 +0000 (15:21 +0530)]
Rollup merge of #101671 - LingMan:ieee_754, r=Dylan-DPC

Fix naming format of IEEE 754 standard

Currently the documentation of f64::min refers to "IEEE-754 2008" while the documentation of f64::minimum refers to "IEEE 754-2019".
Note that one has the format IEEE,hyphen,number,space,year while the other is IEEE,space,number,hyphen,year. The official IEEE site [1] uses the later format and it is also the one most commonly used throughout the codebase.

Update all comments and - more importantly - documentation to consistently use the official format.

[1] https://standards.ieee.org/ieee/754/4211/

21 months agoRollup merge of #101668 - chenyukang:fix-101626, r=TaKO8Ki
Dylan DPC [Mon, 12 Sep 2022 09:51:31 +0000 (15:21 +0530)]
Rollup merge of #101668 - chenyukang:fix-101626, r=TaKO8Ki

Suggest pub instead of public for const type item

Fixes #101626

21 months agoRollup merge of #100767 - kadiwa4:escape_ascii, r=jackh726
Dylan DPC [Mon, 12 Sep 2022 09:51:30 +0000 (15:21 +0530)]
Rollup merge of #100767 - kadiwa4:escape_ascii, r=jackh726

Remove manual <[u8]>::escape_ascii

`@rustbot` label: +C-cleanup

21 months agoRollup merge of #100293 - yanchen4791:add-inline-llvm-option, r=nnethercote
Dylan DPC [Mon, 12 Sep 2022 09:51:29 +0000 (15:21 +0530)]
Rollup merge of #100293 - yanchen4791:add-inline-llvm-option, r=nnethercote

Add inline-llvm option for disabling/enabling LLVM inlining

In this PR, a new -Z option `inline-llvm` is added in order to be able to turn on/off LLVM inlining.

The capability of turning on/off inlining in LLVM backend is needed for testing performance implications of using recently enabled inlining in rustc's frontend (with -Z inline-mir=yes option, #91743). It would be interesting to see the performance effect using rustc's frontend inlining only without LLVM inlining enabled. Currently LLVM is still doing inlining no mater what value inline-mir is set to. With the option `inline-llvm` being added in this PR, user can turn off LLVM inlining by using `-Z inline-llvm=no` option (the default of inline-llvm is 'yes', LLVM inlining enabled).

21 months agoAuto merge of #101604 - compiler-errors:issue-101465, r=lcnr
bors [Mon, 12 Sep 2022 08:46:40 +0000 (08:46 +0000)]
Auto merge of #101604 - compiler-errors:issue-101465, r=lcnr

Fix ICE in opt_suggest_box_span

We were _totally_ mishandling substs and obligations in `opt_suggest_box_span`, so I reworked that function pretty heavily.

Also some drive-by changes, namely removing `ret_type_span`.

Fixes #101465

21 months agoAuto merge of #100502 - chenyukang:fix-100478, r=jackh726
bors [Mon, 12 Sep 2022 06:05:32 +0000 (06:05 +0000)]
Auto merge of #100502 - chenyukang:fix-100478, r=jackh726

Avoid infinite loop in function arguments checking

Fixes #100478
Fixes #101097

21 months agoAuto merge of #100251 - compiler-errors:tuple-trait-2, r=jackh726
bors [Mon, 12 Sep 2022 03:24:29 +0000 (03:24 +0000)]
Auto merge of #100251 - compiler-errors:tuple-trait-2, r=jackh726

Implement `std::marker::Tuple`

Split out from #99943 (https://github.com/rust-lang/rust/pull/99943#pullrequestreview-1064459183).

Implements part of rust-lang/compiler-team#537
r? `@jackh726`

21 months agoFix ICE in opt_suggest_box_span
Michael Goulet [Fri, 9 Sep 2022 05:50:25 +0000 (05:50 +0000)]
Fix ICE in opt_suggest_box_span

21 months agoNo more ret_type_span
Michael Goulet [Fri, 9 Sep 2022 03:10:06 +0000 (03:10 +0000)]
No more ret_type_span

21 months agorustdoc: remove no-op `#search`
Michael Howell [Mon, 12 Sep 2022 01:43:52 +0000 (18:43 -0700)]
rustdoc: remove no-op `#search`

The padding rule was added in 135281ed1525db15edd8ebd092aa10aa40df2386 when
converting the rule for #main, but didn't do anything even then.

21 months agorustdoc: remove no-op `#search { margin-left: 0 }`
Michael Howell [Mon, 12 Sep 2022 01:15:09 +0000 (18:15 -0700)]
rustdoc: remove no-op `#search { margin-left: 0 }`

This rule was added in c729e4dca7581fcd060978bcb0d7f98ea4eb6b82 to remove an
unnecessary left margin that was present on desktop. This desktop-mode margin
was itself removed in 135281ed1525db15edd8ebd092aa10aa40df2386.

21 months agoAuto merge of #101688 - cjgillot:verify-hir-parent, r=petrochenkov
bors [Mon, 12 Sep 2022 00:41:56 +0000 (00:41 +0000)]
Auto merge of #101688 - cjgillot:verify-hir-parent, r=petrochenkov

Assert that HIR nodes are not their own parent.

Fixes https://github.com/rust-lang/rust/issues/101505.
Replaces #101513

r? `@petrochenkov` `@nnethercote`

21 months agoAuto merge of #101442 - joboet:null_check_tcs, r=thomcc
bors [Sun, 11 Sep 2022 22:19:24 +0000 (22:19 +0000)]
Auto merge of #101442 - joboet:null_check_tcs, r=thomcc

Check if TCS is a null pointer on SGX

The `EENTER` instruction only checks if the TCS is aligned, not if it zero. Saying the address returned is a `NonNull<u8>` (for which `Tcs` is a type alias) is unsound. As well-behaved runners will not put the TCS at address zero, so the definition of `Tcs` is correct. However, `std` should check the address before casting it to a `NonNull`.

ping `@jethrogb` `@raoulstrackx`
`@rustbot` label I-unsound

21 months agoUpdate tests for new browser-ui-test version
Guillaume Gomez [Sat, 10 Sep 2022 15:36:17 +0000 (17:36 +0200)]
Update tests for new browser-ui-test version

21 months agoAuto merge of #101299 - saethlin:vecdeque-drain-drop, r=thomcc
bors [Sun, 11 Sep 2022 19:50:41 +0000 (19:50 +0000)]
Auto merge of #101299 - saethlin:vecdeque-drain-drop, r=thomcc

Remove &[T] from vec_deque::Drain

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

I don't know what the right approach is here. There were a few suggestions in the issue, and they all seem a bit thorny to implement. So I just picked one that was kind of familiar.

21 months agoRustdoc-Json: Add tests for trait impls.
Nixon Enraght-Moony [Sun, 11 Sep 2022 19:32:47 +0000 (20:32 +0100)]
Rustdoc-Json: Add tests for trait impls.

21 months agoAssert that HIR nodes are not their own parent.
Camille GILLOT [Sun, 11 Sep 2022 13:11:58 +0000 (15:11 +0200)]
Assert that HIR nodes are not their own parent.

21 months agoAuto merge of #101678 - jannic:fix-101640, r=jyn514
bors [Sun, 11 Sep 2022 16:30:59 +0000 (16:30 +0000)]
Auto merge of #101678 - jannic:fix-101640, r=jyn514

Add diagnostic arg 'current_crate'

With this fix, I get almost the same error message as on stable, again.

However, I expected to get the new error message `std is required by {$current_crate} because it does not declare #![no_std]`, but I didn't. Instead, I got a new line `help: consider building the standard library from source with cargo build -Zbuild-std`. So I obviously do not fully understand what is going on.

In any case, the bug itself seems to be fixed by this patch.

Closes #101640

21 months agoAuto merge of #101682 - compiler-errors:rpitit-encode, r=fee1-dead
bors [Sun, 11 Sep 2022 13:49:52 +0000 (13:49 +0000)]
Auto merge of #101682 - compiler-errors:rpitit-encode, r=fee1-dead

Only encode return-position `impl Trait` in trait when parent function has a default body

Semi-blocked on #101679, because I can't currently write a test for when we _should_ encode the type of the return-position `impl Trait` in trait, which is when a trait has a default function body, like so:

```rust
trait Foo {
  fn bar() -> impl Sized { }
}
```

Though this can land even without #101679, since it does prevent ICEs from occuring any time you use `#![feature(return_position_impl_trait_in_trait)]` in a library, which is kind annoying.

21 months agostd: check if TCS is a null pointer
joboet [Mon, 5 Sep 2022 09:42:46 +0000 (11:42 +0200)]
std: check if TCS is a null pointer

21 months agoOnly encode RPITIT when trait method has default body
Michael Goulet [Sun, 11 Sep 2022 09:35:43 +0000 (09:35 +0000)]
Only encode RPITIT when trait method has default body

21 months agoDeny RPITIT for object safety
Michael Goulet [Sun, 11 Sep 2022 09:13:55 +0000 (09:13 +0000)]
Deny RPITIT for object safety

21 months agoAuto merge of #101673 - crlf0710:generator_clone, r=oli-obk
bors [Sun, 11 Sep 2022 08:50:35 +0000 (08:50 +0000)]
Auto merge of #101673 - crlf0710:generator_clone, r=oli-obk

Allow generators to impl Clone/Copy

Revives #95137. It's a pity that the original pr didn't land because the implementation is almost complete! All credits goes to `@canndrew,` and i just resolved the merge conflicts and updated the feature gate version number.

r? `@oli-obk`

21 months agoAdd diagnostic arg 'current_crate'
Jan Niehusmann [Sat, 10 Sep 2022 23:01:36 +0000 (23:01 +0000)]
Add diagnostic arg 'current_crate'

21 months agoAdd test for #101211
winxpqq955 [Sun, 11 Sep 2022 07:09:39 +0000 (15:09 +0800)]
Add test for #101211

21 months agoCheck that the types in RPITITs are WF
Michael Goulet [Sun, 11 Sep 2022 06:58:11 +0000 (06:58 +0000)]
Check that the types in RPITITs are WF

21 months agoAuto merge of #101670 - obi1kenobi:patch-1, r=jyn514
bors [Sun, 11 Sep 2022 06:27:29 +0000 (06:27 +0000)]
Auto merge of #101670 - obi1kenobi:patch-1, r=jyn514

Add @obi1kenobi to the cc list for rustdoc-json-types

I'm one of the maintainers of `cargo-semver-checks`, and as mentioned [in Zulip](https://rust-lang.zulipchat.com/#narrow/stream/266220-rustdoc/topic/Long.20Term.20Rustdoc.20JSON.20Stability) it's very useful to me to know about upcoming rustdoc JSON types changes so I can be ready to publish new `cargo-semver-checks` releases compatible with the new JSON format.

21 months agoUpdate unit test outputs
Charles Lew [Sun, 11 Sep 2022 06:21:40 +0000 (14:21 +0800)]
Update unit test outputs

21 months agoUse current rustc version.
Charles Lew [Sun, 11 Sep 2022 05:57:41 +0000 (13:57 +0800)]
Use current rustc version.

21 months agofix tests after rebase
Andrew Cann [Sun, 10 Apr 2022 07:28:31 +0000 (15:28 +0800)]
fix tests after rebase

21 months agotest async diagnostics for feature(generator_clone)
Andrew Cann [Sun, 10 Apr 2022 07:04:04 +0000 (15:04 +0800)]
test async diagnostics for feature(generator_clone)

21 months agominor fixups as per PR feedback
Andrew Cann [Sun, 10 Apr 2022 06:05:31 +0000 (14:05 +0800)]
minor fixups as per PR feedback

21 months agoAdd some comments to generator clone shim code
Andrew Cann [Sun, 10 Apr 2022 06:04:44 +0000 (14:04 +0800)]
Add some comments to generator clone shim code

21 months agoAdd tracking issue number to feature(generator_clone)
Andrew Cann [Sun, 27 Mar 2022 07:50:40 +0000 (15:50 +0800)]
Add tracking issue number to feature(generator_clone)

21 months agoAdd feature gate tests for generator_clone
Andrew Cann [Mon, 21 Mar 2022 05:57:10 +0000 (13:57 +0800)]
Add feature gate tests for generator_clone

21 months agoApply formatting fixes
Andrew Cann [Mon, 21 Mar 2022 04:57:06 +0000 (12:57 +0800)]
Apply formatting fixes

21 months agomove generator_clone feature definition
Andrew Cann [Mon, 21 Mar 2022 04:56:22 +0000 (12:56 +0800)]
move generator_clone feature definition

Move it to the list of features with no tracking issue, since it has no
tracking issue.

21 months agofix GeneratorWitness: Clone check
Andrew Cann [Fri, 18 Mar 2022 06:24:54 +0000 (14:24 +0800)]
fix GeneratorWitness: Clone check

21 months agoloosen restriction on when GeneratorWitness: Clone
Andrew Cann [Mon, 14 Mar 2022 02:24:10 +0000 (10:24 +0800)]
loosen restriction on when GeneratorWitness: Clone

21 months agoadd generator_clone feature gate
Andrew Cann [Sun, 13 Mar 2022 06:41:44 +0000 (14:41 +0800)]
add generator_clone feature gate

21 months agoimplement Copy/Clone for generators
Andrew Cann [Sun, 13 Mar 2022 05:39:20 +0000 (13:39 +0800)]
implement Copy/Clone for generators

21 months agoAuto merge of #101482 - joboet:netbsd_parker, r=sanxiyn
bors [Sun, 11 Sep 2022 04:07:17 +0000 (04:07 +0000)]
Auto merge of #101482 - joboet:netbsd_parker, r=sanxiyn

Optimize thread parking on NetBSD

As the futex syscall is not present in the latest stable release, NetBSD cannot use the efficient thread parker and locks Linux uses. Currently, it therefore relies on a pthread-based parker, consisting of a mutex and semaphore which protect a state variable. NetBSD however has more efficient syscalls available: [`_lwp_park`](https://man.netbsd.org/_lwp_park.2) and [`_lwp_unpark`](https://man.netbsd.org/_lwp_unpark.2). These already provide the exact semantics of `thread::park` and `Thread::unpark`, but work with thread ids. In `std`, this ID is here stored in an atomic state variable, which is also used to optimize cases were the parking token is already available at the time `thread::park` is called.

r? `@m-ou-se`

21 months agoFix naming format of IEEE 754 standard
LingMan [Sat, 10 Sep 2022 05:30:29 +0000 (07:30 +0200)]
Fix naming format of IEEE 754 standard

Currently the documentation of f64::min refers to "IEEE-754 2008" while the documentation of
f64::minimum refers to "IEEE 754-2019".
Note that one has the format IEEE,hyphen,number,space,year while the other is
IEEE,space,number,hyphen,year. The official IEEE site [1] uses the later format and it is also the
one most commonly used throughout the codebase.

Update all comments and - more importantly - documentation to consistently use the official format.

[1] https://standards.ieee.org/ieee/754/4211/

21 months agoAdd @obi1kenobi to the cc list for rustdoc-json-types
Predrag Gruevski [Sun, 11 Sep 2022 02:04:57 +0000 (22:04 -0400)]
Add @obi1kenobi to the cc list for rustdoc-json-types

21 months agoAuto merge of #101643 - ChrisDenton:alloc-link-kernel32, r=thomcc
bors [Sun, 11 Sep 2022 01:44:09 +0000 (01:44 +0000)]
Auto merge of #101643 - ChrisDenton:alloc-link-kernel32, r=thomcc

Explicitly link kernel32.lib from alloc

21 months agofix #101626, suggest pub instead of public for const type item
yukang [Sun, 11 Sep 2022 00:29:38 +0000 (08:29 +0800)]
fix #101626, suggest pub instead of public for const type item

21 months agoAuto merge of #101613 - GuillaumeGomez:codeblock-tooltip, r=notriddle
bors [Sat, 10 Sep 2022 23:13:23 +0000 (23:13 +0000)]
Auto merge of #101613 - GuillaumeGomez:codeblock-tooltip, r=notriddle

Simplify codeblock and their associated tooltip

It is based on https://github.com/rust-lang/rust/pull/101600 so it needs to wait for this one to be merged first.

This PR does two things:

 * Remove CSS class duplication by setting CSS classes such as `compile_fail` directly on the `div` wrapping both the codeblock and the tooltip.
 * Simplify DOM: no need to wrap the tooltip into a `<div>`, it can work just as well without it.

You can test it [here](https://rustdoc.crud.net/imperio/codeblock-tooltip/std/string/struct.String.html#deref).

r? `@notriddle`

21 months agoAlternate approach; just modify Drain
Ben Kimock [Sat, 10 Sep 2022 20:24:28 +0000 (16:24 -0400)]
Alternate approach; just modify Drain

21 months agoRemove &[T] from vec_deque::Drain
Ben Kimock [Fri, 2 Sep 2022 00:29:39 +0000 (20:29 -0400)]
Remove &[T] from vec_deque::Drain

21 months agoAuto merge of #98559 - jackh726:remove-reempty, r=oli-obk
bors [Sat, 10 Sep 2022 20:54:01 +0000 (20:54 +0000)]
Auto merge of #98559 - jackh726:remove-reempty, r=oli-obk

Remove ReEmpty

r? rust-lang/types

21 months agostd: optimize thread parking on NetBSD
joboet [Tue, 6 Sep 2022 12:32:45 +0000 (14:32 +0200)]
std: optimize thread parking on NetBSD

21 months agoAuto merge of #101647 - crlf0710:test_for_99551, r=bjorn3
bors [Sat, 10 Sep 2022 17:39:16 +0000 (17:39 +0000)]
Auto merge of #101647 - crlf0710:test_for_99551, r=bjorn3

Fix LLVM IR type mismatch reported in #99551

Closes #99551 .

21 months agoUpdate browser-ui-test version to 0.10.0
Guillaume Gomez [Sat, 10 Sep 2022 15:50:40 +0000 (17:50 +0200)]
Update browser-ui-test version to 0.10.0

21 months agoFix pointer value punning.
Charles Lew [Sat, 10 Sep 2022 11:42:51 +0000 (19:42 +0800)]
Fix pointer value punning.

Seems this doesn't trigger error on LLVM 15, but let's fix it for better compatibility.

21 months agoAuto merge of #101652 - Dylan-DPC:rollup-f4atky0, r=Dylan-DPC
bors [Sat, 10 Sep 2022 14:48:34 +0000 (14:48 +0000)]
Auto merge of #101652 - Dylan-DPC:rollup-f4atky0, r=Dylan-DPC

Rollup of 6 pull requests

Successful merges:

 - #101578 (remove bound var hack in `resolve`)
 - #101606 (doc: fix minor typo)
 - #101614 (Equate fn outputs when inferring RPITIT hidden types)
 - #101631 (rustdoc: avoid cleaning modules with duplicate names)
 - #101635 (Move `Queries::new` out of the macro)
 - #101641 (Update browser-ui-test version to 0.9.8)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup

21 months agoRollup merge of #101641 - GuillaumeGomez:update-browser-ui-test, r=Dylan-DPC
Dylan DPC [Sat, 10 Sep 2022 13:26:11 +0000 (18:56 +0530)]
Rollup merge of #101641 - GuillaumeGomez:update-browser-ui-test, r=Dylan-DPC

Update browser-ui-test version to 0.9.8

This version improves the error output mostly.

r? `@Dylan-DPC`

21 months agoRollup merge of #101635 - jyn514:queries-new-derived, r=cjgillot
Dylan DPC [Sat, 10 Sep 2022 13:26:10 +0000 (18:56 +0530)]
Rollup merge of #101635 - jyn514:queries-new-derived, r=cjgillot

Move `Queries::new` out of the macro

Split out from https://github.com/rust-lang/rust/pull/101178 to make sure it's not contributing to the perf impact.

r? `@cjgillot`

21 months agoRollup merge of #101631 - rust-lang:notriddle/duplicate-module, r=GuillaumeGomez
Dylan DPC [Sat, 10 Sep 2022 13:26:09 +0000 (18:56 +0530)]
Rollup merge of #101631 - rust-lang:notriddle/duplicate-module, r=GuillaumeGomez

rustdoc: avoid cleaning modules with duplicate names

Fixes #83375

21 months agoRollup merge of #101614 - compiler-errors:rpitit-eq, r=jackh726
Dylan DPC [Sat, 10 Sep 2022 13:26:08 +0000 (18:56 +0530)]
Rollup merge of #101614 - compiler-errors:rpitit-eq, r=jackh726

Equate fn outputs when inferring RPITIT hidden types

When we are trying to infer the hidden types for RPITITs, we need to equate the output tys instead of just subtyping them. For example:

```rust
trait Foo { fn bar() -> impl Sized {} }

impl Foo for () { fn bar() -> &'static str { "" } }
```

If we just subtype the signatures `fn() -> &'static str <: fn() -> _#1t` (where `_#1t` is the variable we've used to infer `impl Sized`), we'll end up `&'static str <: _#1t`, which causes us to infer `_#1t = #'_#2r str`, where `'_#2r` is unconstrained, which gets fixed up to `ReEmpty`, and which is certainly not what we want.

I can't actually think of a way to make this fail to compile, because during borrowck we've already done the method probe, and so we just look at the `impl` method signature and see the `&'static str` any time we call `<() as Foo>::bar()`. But this _does_ cause the ICE [here](https://github.com/rust-lang/rust/pull/98559#issuecomment-1241891994) in `@jackh726's` "Remove ReEmpty" PR (#98559) to stop ICEing, because after that PR we were leaking unconstrained region variables into the typeck results.

r? types

21 months agoRollup merge of #101606 - akhi3030:patch-1, r=Dylan-DPC
Dylan DPC [Sat, 10 Sep 2022 13:26:07 +0000 (18:56 +0530)]
Rollup merge of #101606 - akhi3030:patch-1, r=Dylan-DPC

doc: fix minor typo

21 months agoRollup merge of #101578 - lcnr:resolve-hack, r=jackh726
Dylan DPC [Sat, 10 Sep 2022 13:26:07 +0000 (18:56 +0530)]
Rollup merge of #101578 - lcnr:resolve-hack, r=jackh726

remove bound var hack in `resolve`

somehow dropped that change from #98900.

r? `@jackh726`

21 months agoAuto merge of #100968 - cjgillot:mir-upvar-vec, r=wesleywiser
bors [Sat, 10 Sep 2022 12:07:29 +0000 (12:07 +0000)]
Auto merge of #100968 - cjgillot:mir-upvar-vec, r=wesleywiser

Only compute captures once when building MIR.

21 months agoExplicitly link kernel32.lib from alloc
Chris Denton [Sat, 10 Sep 2022 10:57:36 +0000 (11:57 +0100)]
Explicitly link kernel32.lib from alloc