Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rollup of 7 pull requests #102960

Closed
wants to merge 30 commits into from
Closed

Conversation

Dylan-DPC
Copy link
Member

Successful merges:

Failed merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

nnethercote and others added 30 commits October 7, 2022 18:19
rustc's startup has several layers, including:
- `interface::run_compiler` passes a closure, `f`, to
  `run_in_thread_pool_with_globals`, which creates a thread pool, sets
  up session globals, and passes `f` to `create_compiler_and_run`.
- `create_compiler_and_run` creates a `Session`, a `Compiler`, sets the
  source map, and calls `f`.

rustdoc is a bit different.
- `main_args` calls `main_options` via
  `run_in_thread_pool_with_globals`, which (again) creates a thread pool
  (hardcoded to a single thread!) and sets up session globals.
- `main_options` has four different paths.
  - The second one calls `interface::run_compiler`, which redoes the
    `run_in_thread_pool_with_globals`! This is bad.
  - The fourth one calls `interface::create_compiler_and_run`, which is
    reasonable.
  - The first and third ones don't do anything of note involving the
    above functions, except for some symbol interning which requires
    session globals.

In other words, rustdoc calls into `rustc_interface` at three different
levels. It's a bit confused, and feels like code where functionality has
been added by different people at different times without fully
understanding how the globally accessible stuff is set up.

This commit tidies things up. It removes the
`run_in_thread_pool_with_globals` call in `main_args`, and adjust the
four paths in `main_options` as follows.
- `markdown::test` calls `test::test_main`, which provides its own
  parallelism and so doesn't need a thread pool. It had one small use of
  symbol interning, which required session globals, but the commit
  removes this.
- `doctest::run` already calls `interface::run_compiler`, so it doesn't
  need further adjustment.
- `markdown::render` is simple but needs session globals for interning
  (which can't easily be removed), so it's now wrapped in
  `create_session_globals_then`.
- The fourth path now uses `interface::run_compiler`, which is
  equivalent to the old `run_in_thread_pool_with_globals` +
  `create_compiler_and_run` pairing.
There is no longer any need for them to be separate.
It has a single call site, and removing it slightly improves the
confusing tangle of nested closures present at startup.
This avoids the need for a degenerate `Lrc::get_mut` call.
rust-lang#100892 implemented AsFd for the
sys versions, rather than for the public types. Change the
implementations to apply to the public types.
Small tweaks to changes made in a previous PR, unrelated to eager
translation.

Signed-off-by: David Wood <david.wood@huawei.com>
Eager translation will enable subdiagnostics to be translated multiple
times with different arguments - this requires the ability to replace
the value of one argument with a new value, which is better suited to a
`HashMap` than the previous storage, a `Vec`.

Signed-off-by: David Wood <david.wood@huawei.com>
`AddToDiagnostic::add_to_diagnostic_with` is similar to the previous
`AddToDiagnostic::add_to_diagnostic` but takes a function that can be
used by the caller to modify diagnostic messages originating from the
subdiagnostic (such as performing translation eagerly).

`add_to_diagnostic` now just calls `add_to_diagnostic_with` with an
empty closure.

Signed-off-by: David Wood <david.wood@huawei.com>
Add variant of `DiagnosticMessage` for eagerly translated messages
(messages in the target language which don't need translated by the
emitter during emission). Also adds `eager_subdiagnostic` function which
is intended to be invoked by the diagnostic derive for subdiagnostic
fields which are marked as needing eager translation.

Signed-off-by: David Wood <david.wood@huawei.com>
Add support for `eager` argument to the `subdiagnostic` attribute which
generates a call to `eager_subdiagnostic`.

Signed-off-by: David Wood <david.wood@huawei.com>
Using eager translation, migrate the remaining repeated cycle stack
diagnostic.

Signed-off-by: David Wood <david.wood@huawei.com>
Diagnostic derives have previously had to take special care when
ordering the generated code so that fields were not used after a move.

This is unlikely for most fields because a field is either annotated
with a subdiagnostic attribute and is thus likely a `Span` and copiable,
or is a argument, in which case it is only used once by `set_arg`
anyway.

However, format strings for code in suggestions can result in fields
being used after being moved if not ordered carefully. As a result, the
derive currently puts `set_arg` calls last (just before emission), such
as:

```rust
let diag = { /* create diagnostic */ };

diag.span_suggestion_with_style(
    span,
    fluent::crate::slug,
    format!("{}", __binding_0),
    Applicability::Unknown,
    SuggestionStyle::ShowAlways
);
/* + other subdiagnostic additions */

diag.set_arg("foo", __binding_0);
/* + other `set_arg` calls */

diag.emit();
```

For eager translation, this doesn't work, as the message being
translated eagerly can assume that all arguments are available - so
arguments _must_ be set first.

Format strings for suggestion code are now separated into two parts - an
initialization line that performs the formatting into a variable, and a
usage in the subdiagnostic addition.

By separating these parts, the initialization can happen before
arguments are set, preserving the desired order so that code compiles,
while still enabling arguments to be set before subdiagnostics are
added.

```rust
let diag = { /* create diagnostic */ };

let __code_0 = format!("{}", __binding_0);
/* + other formatting */

diag.set_arg("foo", __binding_0);
/* + other `set_arg` calls */

diag.span_suggestion_with_style(
    span,
    fluent::crate::slug,
    __code_0,
    Applicability::Unknown,
    SuggestionStyle::ShowAlways
);
/* + other subdiagnostic additions */

diag.emit();
```

Signed-off-by: David Wood <david.wood@huawei.com>
Following the approach taken in earlier commits to separate formatting
initialization from use in the subdiagnostic derive, simplify the
diagnostic derive by removing the field-ordering logic that previously
solved this problem.

Signed-off-by: David Wood <david.wood@huawei.com>
This was added in 4fd061c, but never
actually used.
…piler-errors

translation: eager translation

Part of rust-lang#100717. See [Zulip thread](https://rust-lang.zulipchat.com/#narrow/stream/336883-i18n/topic/.23100717.20lists!/near/295010720) for additional context.

- **Store diagnostic arguments in a `HashMap`**: Eager translation will enable subdiagnostics to be translated multiple times with different arguments - this requires the ability to replace the value of one argument with a new value, which is better suited to a `HashMap` than the previous storage, a `Vec`.
- **Add `AddToDiagnostic::add_to_diagnostic_with`**: `AddToDiagnostic::add_to_diagnostic_with` is similar to the previous `AddToDiagnostic::add_to_diagnostic` but takes a function that can be used by the caller to modify diagnostic messages originating from the subdiagnostic (such as performing translation eagerly). `add_to_diagnostic` now just calls `add_to_diagnostic_with` with an empty closure.
- **Add `DiagnosticMessage::Eager`**: Add variant of `DiagnosticMessage` for eagerly translated messages
(messages in the target language which don't need translated by the emitter during emission). Also adds `eager_subdiagnostic` function which is intended to be invoked by the diagnostic derive for subdiagnostic fields which are marked as needing eager translation.
- **Support `#[subdiagnostic(eager)]`**: Add support for `eager` argument to the `subdiagnostic` attribute which generates a call to `eager_subdiagnostic`.
- **Finish migrating `rustc_query_system`**: Using eager translation, migrate the remaining repeated cycle stack diagnostic.
- **Split formatting initialization and use in diagnostic derives**: Diagnostic derives have previously had to take special care when ordering the generated code so that fields were not used after a move.

  This is unlikely for most fields because a field is either annotated with a subdiagnostic attribute and is thus likely a `Span` and copiable, or is a argument, in which case it is only used once by `set_arg`
anyway.

  However, format strings for code in suggestions can result in fields being used after being moved if not ordered carefully. As a result, the derive currently puts `set_arg` calls last (just before emission), such as:

      let diag = { /* create diagnostic */ };

      diag.span_suggestion_with_style(
          span,
          fluent::crate::slug,
          format!("{}", __binding_0),
          Applicability::Unknown,
          SuggestionStyle::ShowAlways
      );
      /* + other subdiagnostic additions */

      diag.set_arg("foo", __binding_0);
      /* + other `set_arg` calls */

      diag.emit();

  For eager translation, this doesn't work, as the message being translated eagerly can assume that all arguments are available - so arguments _must_ be set first.

  Format strings for suggestion code are now separated into two parts - an initialization line that performs the formatting into a variable, and a usage in the subdiagnostic addition.

  By separating these parts, the initialization can happen before arguments are set, preserving the desired order so that code compiles, while still enabling arguments to be set before subdiagnostics are added.

      let diag = { /* create diagnostic */ };

      let __code_0 = format!("{}", __binding_0);
      /* + other formatting */

      diag.set_arg("foo", __binding_0);
      /* + other `set_arg` calls */

      diag.span_suggestion_with_style(
          span,
          fluent::crate::slug,
          __code_0,
          Applicability::Unknown,
          SuggestionStyle::ShowAlways
      );
      /* + other subdiagnostic additions */

      diag.emit();

- **Remove field ordering logic in diagnostic derive:** Following the approach taken in earlier commits to separate formatting initialization from use in the subdiagnostic derive, simplify the diagnostic derive by removing the field-ordering logic that previously solved this problem.

r? ``@compiler-errors``
Clean up rustdoc startup

Startup is pretty hairy, in both rustdoc and rustc. The first commit here improves the rustdoc situation quite a bit. The remaining commits are smaller but also help.

Best reviewed one commit at a time.

r? ```@jyn514```
…r=fee1-dead

Unify `tcx.constness` query and param env constness checks

The checks that we do in the `constness` query seem inconsistent with the checks that we do to determine if an item's param-env is const, so I merged them into the `constness` query and call that from the `param_env` query.

I'm not sure if this totally makes sense -- is there a case where `tcx.param_env()` would return a const param-env for an item whose `tcx.constness()` is `Constness::NotConst`? Because if not, it seems a bit dangerous that these two differ.

Luckily, not many places actually use `tcx.constness()`, and the checks in `tcx.param_env()` seem stricter than the checks in `tcx.constness()` (at least for the types of items we type-check).

Also, due to the way that `tcx.param_env()` is implemented, it _never_ used to return a const param-env for a item coming from a different crate, which also seems dangerous (though also probably not weaponizable currently, because we seldom actually compute the param-env for a non-local item).
…-for-io-types, r=m-ou-se

impl AsFd and AsRawFd for io::{Stdin, Stdout, Stderr}, not the sys versions

rust-lang#100892 implemented AsFd for the
sys versions, rather than for the public types. Change the
implementations to apply to the public types.
…range_patterns, r=lcnr

Fix stabilization of `feature(half_open_range_patterns)`

Fixes https://github.com/rust-lang/rust/pull/102275/files#r991292215 by removing the relevant code that was [already partial moved](https://github.com/rust-lang/rust/pull/102275/files#diff-307e0d3a2037c11a3fa16822fbaa0fec08e57ac7d0d6e7354f6005c9482a9e26).

cc `@Undin`
…an-DPC

rustdoc: remove unused CSS `nav.sum`

This was added in 4fd061c, but never actually used.
Update books

## nomicon

1 commits in f53bfa056929217870a5d2df1366d2e7ba35096d..9c73283775466d22208a0b28afcab44db4c0cc10
2022-09-05 07:19:02 -0700 to 2022-09-30 07:31:22 +0900
- Fix typo (rust-lang/nomicon#380)

## reference

9 commits in a7cdac33ca7356ad49d5c2b5e2c5010889b33eee..f6ed74f582bddcec73f753eafaab3749c4f7df61
2022-09-19 17:39:58 -0700 to 2022-10-08 02:43:26 -0700
- Typo 'a' -&gt; 'an' (rust-lang/reference#1280)
- One line one sentence for expressions and statements main chapters (rust-lang/reference#1277)
- Document let else statements (rust-lang/reference#1156)
- Document `label_break_value` in the reference (rust-lang/reference#1263)
- Document target_has_atomic (rust-lang/reference#1171)
- update 'unsafe' (rust-lang/reference#1278)
- Update tokens.md (rust-lang/reference#1276)
- One sentence, one line Patterns chapter (rust-lang/reference#1275)
- Use semver-compliant example version (rust-lang/reference#1272)

## rust-by-example

9 commits in 767a6bd9727a596d7cfdbaeee475e65b2670ea3a..5e7b296d6c345addbd748f242aae28c42555c015
2022-09-14 09:17:18 -0300 to 2022-10-05 08:24:45 -0300
- Make it clear that rustdoc uses the commonmark spec (rust-lang/rust-by-example#1622)
- Update defaults.md (rust-lang/rust-by-example#1615)
- added "see also" for the @ binding sigil (rust-lang/rust-by-example#1612)
- add more precision to the effects of --bin flag (rust-lang/rust-by-example#1607)
- create bar project in cargo/dependencies example (rust-lang/rust-by-example#1606)
- use consistent wording about type annotation (rust-lang/rust-by-example#1603)
- cast.md improvements (rust-lang/rust-by-example#1599)
- Fix typo in macros.md (rust-lang/rust-by-example#1598)
- Corrected mistaken "The" instead of "There" (rust-lang/rust-by-example#1617)

## rustc-dev-guide

2 commits in 9a86c0467bbe42056f73fdf5b03fff757d7c4a9b..7518c3445dc02df0d196f5f84e568d633c5141fb
2022-10-07 18:34:51 +0200 to 2022-10-08 12:29:47 +0200
- Update debugging.md
- Use llvm subdomain for compiler-explorer link

## embedded-book

1 commits in 4ce51cb7441a6f02b5bf9b07b2eb755c21ab7954..c533348edd69f11a8f4225d633a05d7093fddbf3
2022-09-15 08:53:09 +0000 to 2022-10-10 10:16:49 +0000
- Fix a typo in registers.md  (rust-embedded/book#330)
@rustbot rustbot added A-query-system Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html) A-translation Area: Translation infrastructure, and migrating existing diagnostics to SessionDiagnostic T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. rollup A PR which is a rollup labels Oct 12, 2022
@Dylan-DPC
Copy link
Member Author

@bors r+ rollup=never p=5

@bors
Copy link
Contributor

bors commented Oct 12, 2022

📌 Commit 6f1de0b has been approved by Dylan-DPC

It is now in the queue for this repository.

@bors bors added the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Oct 12, 2022
@bors
Copy link
Contributor

bors commented Oct 12, 2022

⌛ Testing commit 6f1de0b with merge c64c480f1eb2fe2012b71d74055ca499477b2049...

@bors
Copy link
Contributor

bors commented Oct 12, 2022

💔 Test failed - checks-actions

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Oct 12, 2022
@rust-log-analyzer
Copy link
Collaborator

The job dist-x86_64-msvc-alt failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
    Finished release [optimized] target(s) in 2m 07s
[TIMING] tool::Rustdoc { compiler: Compiler { stage: 2, host: x86_64-pc-windows-msvc } } -- 127.345
[TIMING] doc::Standalone { compiler: Compiler { stage: 2, host: x86_64-pc-windows-msvc }, target: x86_64-pc-windows-msvc } -- 0.912
Documenting book redirect pages (x86_64-pc-windows-msvc)
thread 'main' panicked at 'WorkerLocal can only be used on the thread pool it was created on', C:\Users\runneradmin\.cargo\registry\src\github.com-1ecc6299db9ec823\rustc-rayon-core-0.4.1\src\worker_local.rs:49:17
   0:     0x7ffcb7de90b2 - std::sys_common::backtrace::_print_fmt
                               at /rustc/c64c480f1eb2fe2012b71d74055ca499477b2049/library\std\src\sys_common\backtrace.rs:66
                               at /rustc/c64c480f1eb2fe2012b71d74055ca499477b2049/library\std\src\sys_common\backtrace.rs:66
   1:     0x7ffcb7de90b2 - std::sys_common::backtrace::_print::impl$0::fmt
                               at /rustc/c64c480f1eb2fe2012b71d74055ca499477b2049/library\std\src\sys_common\backtrace.rs:45
   2:     0x7ffcb7e244bb - core::fmt::write
                               at /rustc/c64c480f1eb2fe2012b71d74055ca499477b2049/library\core\src\fmt\mod.rs:1209
   3:     0x7ffcb7ddba8a - std::io::Write::write_fmt<std::sys::windows::stdio::Stderr>
                               at /rustc/c64c480f1eb2fe2012b71d74055ca499477b2049/library\std\src\io\mod.rs:1680
   4:     0x7ffcb7dec7a4 - std::sys_common::backtrace::_print
                               at /rustc/c64c480f1eb2fe2012b71d74055ca499477b2049/library\std\src\sys_common\backtrace.rs:48
   5:     0x7ffcb7dec7a4 - std::sys_common::backtrace::print
                               at /rustc/c64c480f1eb2fe2012b71d74055ca499477b2049/library\std\src\sys_common\backtrace.rs:35
   6:     0x7ffcb7dec7a4 - std::panicking::default_hook::closure$1
                               at /rustc/c64c480f1eb2fe2012b71d74055ca499477b2049/library\std\src\panicking.rs:267
   7:     0x7ffcb7dec3da - std::panicking::default_hook
                               at /rustc/c64c480f1eb2fe2012b71d74055ca499477b2049/library\std\src\panicking.rs:286
   8:     0x7ffcaecb2a3c - rustc_driver[7db8b137c33946d9]::handle_options
   9:     0x7ffcb7ded1e0 - std::panicking::rust_panic_with_hook
                               at /rustc/c64c480f1eb2fe2012b71d74055ca499477b2049/library\std\src\panicking.rs:692
  10:     0x7ffcb446bf59 - std[23c42bd656c2436b]::sys_common::backtrace::__rust_end_short_backtrace::<std[23c42bd656c2436b]::panicking::begin_panic<&str>::{closure#0}, !>
  11:     0x7ffcb446bf1f - std[23c42bd656c2436b]::sys_common::backtrace::__rust_end_short_backtrace::<std[23c42bd656c2436b]::panicking::begin_panic<&str>::{closure#0}, !>
  12:     0x7ffcb461005d - std[23c42bd656c2436b]::panicking::begin_panic::<&str>
  13:     0x7ffcb440aa86 - rustc_ast[86e109d338da6fdb]::attr::mk_attr_from_item
  14:     0x7ffcb3a12eae - <rustc_parse[1ad589f2cc154f38]::parser::Parser>::parse_meta_item_inner
  15:     0x7ffcb39fdcf4 - <&(rustc_parse[1ad589f2cc154f38]::parser::FlatToken, rustc_ast[86e109d338da6fdb]::tokenstream::Spacing) as core[670651f4eddda5c4]::fmt::Debug>::fmt
  16:     0x7ffcb3a76b62 - <rustc_parse[1ad589f2cc154f38]::parser::Parser>::parse_item
  17:     0x7ff67ff3363e - <scoped_tls[568048288be70118]::ScopedKey<rustc_span[7baa235a85bf913d]::SessionGlobals>>::with::<rustdoc[4850a6ad93e8fb58]::doctest::make_test::{closure#0}::{closure#0}, (bool, bool, bool)>
  18:     0x7ff67fe9414e - <core[670651f4eddda5c4]::panic::unwind_safe::AssertUnwindSafe<rustdoc[4850a6ad93e8fb58]::doctest::make_test::{closure#0}> as core[670651f4eddda5c4]::ops::function::FnOnce<()>>::call_once
  19:     0x7ff67fc3c438 - rustc_driver[7db8b137c33946d9]::catch_fatal_errors::<rustdoc[4850a6ad93e8fb58]::doctest::make_test::{closure#0}, (bool, bool, bool)>
  20:     0x7ff67feafbb9 - rustdoc[4850a6ad93e8fb58]::doctest::make_test
  21:     0x7ff67fbe2e17 - RNvXs1_NtNtCs6cVJPM5w3UG_7rustdoc4html8markdownINtB5_10CodeBlocksINtB5_12TableWrapperINtB5_12LinkReplacerINtNtNtNtCs8QoFTQto5sm_4core4iter8adapters3map3MapINtB5_9FootnotesINtB5_12HeadingLinksNtNtCshsnggBZDyQO_14pulldown_cmark5parse10OffsetIterEENCNvMsf_B5
  22:     0x7ff67ff685d1 - RNvMNtCshsnggBZDyQO_14pulldown_cmark4htmlINtB2_10HtmlWriterINtNtNtCs6cVJPM5w3UG_7rustdoc4html8markdown10CodeBlocksINtBY_12TableWrapperINtBY_12LinkReplacerINtNtNtNtCs8QoFTQto5sm_4core4iter8adapters3map3MapINtBY_9FootnotesINtBY_12HeadingLinksNtNtB4_5parse10
  23:     0x7ff67ff5fadc - RINvNtCshsnggBZDyQO_14pulldown_cmark4html9push_htmlINtNtNtCs6cVJPM5w3UG_7rustdoc4html8markdown10CodeBlocksINtBQ_12TableWrapperINtBQ_12LinkReplacerINtNtNtNtCs8QoFTQto5sm_4core4iter8adapters3map3MapINtBQ_9FootnotesINtBQ_12HeadingLinksNtNtB4_5parse10OffsetIt
  24:     0x7ff67fbee296 - <rustdoc[4850a6ad93e8fb58]::html::markdown::Markdown>::into_string
  25:     0x7ff67fec865c - rustdoc[4850a6ad93e8fb58]::markdown::render::<&std[23c42bd656c2436b]::path::PathBuf>
  26:     0x7ff67ff30e9d - <scoped_tls[568048288be70118]::ScopedKey<rustc_span[7baa235a85bf913d]::SessionGlobals>>::set::<rustdoc[4850a6ad93e8fb58]::main_args::{closure#0}, core[670651f4eddda5c4]::result::Result<(), alloc[f706bd10daeae793]::string::String>>
  27:     0x7ff67fba731f - rustdoc[4850a6ad93e8fb58]::main_args
  28:     0x7ff67fe93cda - <core[670651f4eddda5c4]::panic::unwind_safe::AssertUnwindSafe<rustdoc[4850a6ad93e8fb58]::main::{closure#0}> as core[670651f4eddda5c4]::ops::function::FnOnce<()>>::call_once
  29:     0x7ff67fc3c597 - rustc_driver[7db8b137c33946d9]::catch_with_exit_code::<rustdoc[4850a6ad93e8fb58]::main::{closure#0}>
  30:     0x7ff67fba15b9 - rustdoc[4850a6ad93e8fb58]::main
  31:     0x7ff67fb81086 - std[23c42bd656c2436b]::sys_common::backtrace::__rust_begin_short_backtrace::<fn(), ()>
  32:     0x7ff67fb8101c - std[23c42bd656c2436b]::rt::lang_start::<()>::{closure#0}
  33:     0x7ffcb7dcd0fe - core::ops::function::impls::impl$2::call_once
                               at /rustc/c64c480f1eb2fe2012b71d74055ca499477b2049/library\core\src\ops\function.rs:286
  34:     0x7ffcb7dcd0fe - std::panicking::try::do_call
                               at /rustc/c64c480f1eb2fe2012b71d74055ca499477b2049/library\std\src\panicking.rs:483
  35:     0x7ffcb7dcd0fe - std::panicking::try
                               at /rustc/c64c480f1eb2fe2012b71d74055ca499477b2049/library\std\src\panicking.rs:447
  36:     0x7ffcb7dcd0fe - std::panic::catch_unwind
                               at /rustc/c64c480f1eb2fe2012b71d74055ca499477b2049/library\std\src\panic.rs:137
  37:     0x7ffcb7dcd0fe - std::rt::lang_start_internal::closure$2
                               at /rustc/c64c480f1eb2fe2012b71d74055ca499477b2049/library\std\src\rt.rs:148
  38:     0x7ffcb7dcd0fe - std::panicking::try::do_call
                               at /rustc/c64c480f1eb2fe2012b71d74055ca499477b2049/library\std\src\panicking.rs:483
  39:     0x7ffcb7dcd0fe - std::panicking::try
                               at /rustc/c64c480f1eb2fe2012b71d74055ca499477b2049/library\std\src\panicking.rs:447
  40:     0x7ffcb7dcd0fe - std::panic::catch_unwind
                               at /rustc/c64c480f1eb2fe2012b71d74055ca499477b2049/library\std\src\panic.rs:137
  41:     0x7ffcb7dcd0fe - std::rt::lang_start_internal
                               at /rustc/c64c480f1eb2fe2012b71d74055ca499477b2049/library\std\src\rt.rs:148
  42:     0x7ff67fb8106c - main
  43:     0x7ff68006c0f0 - invoke_main
                               at D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78
  44:     0x7ff68006c0f0 - __scrt_common_main_seh
                               at D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288
  45:     0x7ffce98c7974 - BaseThreadInitThunk
  46:     0x7ffcea67a2f1 - RtlUserThreadStart
error: internal compiler error: unexpected panic

note: the compiler unexpectedly panicked. this is a bug.


note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md

note: rustc 1.66.0-nightly (c64c480f1 2022-10-12) running on x86_64-pc-windows-msvc

note: compiler flags: -Z normalize-docs -Z unstable-options
query stack during panic:
end of query stack
Build completed unsuccessfully in 0:27:54

albertlarsan68 added a commit to albertlarsan68/rust that referenced this pull request Oct 14, 2022
Rollup of 7 pull requests

Successful merges:

 - rust-lang#102623 (translation: eager translation)
 - rust-lang#102769 (Clean up rustdoc startup)
 - rust-lang#102830 (Unify `tcx.constness` query and param env constness checks)
 - rust-lang#102847 (impl AsFd and AsRawFd for io::{Stdin, Stdout, Stderr}, not the sys versions)
 - rust-lang#102883 (Fix stabilization of `feature(half_open_range_patterns)`)
 - rust-lang#102936 (rustdoc: remove unused CSS `nav.sum`)
 - rust-lang#102940 (Update books)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
@bors
Copy link
Contributor

bors commented Oct 18, 2022

☔ The latest upstream changes (presumably #102992) made this pull request unmergeable. Please resolve the merge conflicts.

@Dylan-DPC Dylan-DPC closed this Oct 18, 2022
@Dylan-DPC Dylan-DPC deleted the rollup-ud1dlfl branch October 18, 2022 08:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-query-system Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html) A-translation Area: Translation infrastructure, and migrating existing diagnostics to SessionDiagnostic rollup A PR which is a rollup S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet