]> git.lizzy.rs Git - rust.git/log
rust.git
19 months agoRollup merge of #104267 - notriddle:notriddle/checkbox, r=GuillaumeGomez
Dylan DPC [Sat, 12 Nov 2022 06:32:53 +0000 (12:02 +0530)]
Rollup merge of #104267 - notriddle:notriddle/checkbox, r=GuillaumeGomez

rustdoc: use checkbox instead of switch for settings toggles

Preview: http://notriddle.com/notriddle-rustdoc-demos/checkbox/test_dingus/index.html

## Before

![image](https://user-images.githubusercontent.com/1593513/201232887-dee27ef5-b091-49bb-be4a-103d2e7983f3.png)

## After

![image](https://user-images.githubusercontent.com/1593513/201232835-95b40b77-6535-4280-8719-44c992a07772.png)

## Description

The switch ("slider") is designed to give the application a "physical" feel, but nothing else in here really followed through. They didn't support the "flick" gesture that real iOS switches support, and the radio buttons that were also used in Rustdoc Settings were a more "classic" form element anyway.

Also, while switches are the exclusive toggle design on iOS (since [Apple HIG] reserves checkboxes for Mac only), the [Google Material] guidelines say that lists of switches are bad, and you should just use check boxes.

[Apple HIG]: https://developer.apple.com/design/human-interface-guidelines/components/selection-and-input/toggles
[Google Material]: https://m3.material.io/components/checkbox/guidelines#6902f23d-ceba-4b19-ae3b-b78b9b01d185

19 months agoRollup merge of #104214 - Nilstrieb:returns_impl_Ice, r=compiler-errors
Dylan DPC [Sat, 12 Nov 2022 06:32:52 +0000 (12:02 +0530)]
Rollup merge of #104214 - Nilstrieb:returns_impl_Ice, r=compiler-errors

Emit error in `collecting_trait_impl_trait_tys` on mismatched signatures

Previously, a `delay_span_bug` was isssued, failing normalization. This create a `TyKind::Error` in the signature, which caused `compare_predicate_entailment` to swallow its signature mismatch error, causing ICEs because no error was emitted.

fixes #104183

r? ``@compiler-errors``

19 months agoRollup merge of #104206 - compiler-errors:ocx-more-2, r=lcnr
Dylan DPC [Sat, 12 Nov 2022 06:32:52 +0000 (12:02 +0530)]
Rollup merge of #104206 - compiler-errors:ocx-more-2, r=lcnr

Remove `save_and_restore_in_snapshot_flag`, use `ObligationCtxt` more

r? ```@lcnr```

19 months agoRollup merge of #103970 - oli-obk:unhide_unknown_spans, r=estebank
Dylan DPC [Sat, 12 Nov 2022 06:32:51 +0000 (12:02 +0530)]
Rollup merge of #103970 - oli-obk:unhide_unknown_spans, r=estebank

Unhide unknown spans

r? ```@estebank```

19 months agoRollup merge of #102049 - fee1-dead-contrib:derive_const, r=oli-obk
Dylan DPC [Sat, 12 Nov 2022 06:32:50 +0000 (12:02 +0530)]
Rollup merge of #102049 - fee1-dead-contrib:derive_const, r=oli-obk

Add the `#[derive_const]` attribute

Closes #102371. This is a minimal patchset for the attribute to work. There are no restrictions on what traits this attribute applies to.

r? `````@oli-obk`````

19 months agoAuto merge of #103150 - joboet:remove_lock_wrappers, r=m-ou-se
bors [Sat, 12 Nov 2022 01:31:39 +0000 (01:31 +0000)]
Auto merge of #103150 - joboet:remove_lock_wrappers, r=m-ou-se

Remove lock wrappers in `sys_common`

This moves the lazy allocation to `sys` (SGX and UNIX). While this leads to a bit more verbosity, it will simplify future improvements by making room in `sys_common` for platform-independent implementations.

This also removes the condvar check on SGX as it is not necessary for soundness and will be removed anyway once mutex has been made movable.

For simplicity's sake, `libunwind` also uses lazy allocation now on SGX. This will require an update to the C definitions before merging this (CC `@raoulstrackx).`

r? `@m-ou-se`

19 months agoAuto merge of #104293 - Manishearth:rollup-xj92d0k, r=Manishearth
bors [Fri, 11 Nov 2022 20:11:07 +0000 (20:11 +0000)]
Auto merge of #104293 - Manishearth:rollup-xj92d0k, r=Manishearth

Rollup of 8 pull requests

Successful merges:

 - #95292 (Allow specialized const trait impls.)
 - #100386 (Make `Sized` coinductive, again)
 - #102215 (Implement the `+whole-archive` modifier for `wasm-ld`)
 - #103468 (Fix unused lint and parser caring about spaces to won't produce invalid code)
 - #103531 (Suggest calling the instance method of the same name when method not found)
 - #103960 (piece of diagnostic migrate)
 - #104051 (update Miri)
 - #104129 (rustdoc: use javascript to layout notable traits popups)

Failed merges:

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

19 months agoAuto merge of #104289 - Dylan-DPC:rollup-v7wei2t, r=Dylan-DPC
bors [Fri, 11 Nov 2022 17:29:10 +0000 (17:29 +0000)]
Auto merge of #104289 - Dylan-DPC:rollup-v7wei2t, r=Dylan-DPC

Rollup of 9 pull requests

Successful merges:

 - #100633 (Consider `#[must_use]` annotation on `async fn` as also affecting the `Future::Output`)
 - #103445 (`#[test]`: Point at return type if `Termination` bound is unsatisfied)
 - #103924 (Fix broken link in description of error code E0706)
 - #104146 (Retry binding TCP Socket in remote-test-server)
 - #104169 (Migrate `:target` rules to use CSS variables)
 - #104202 (Fix ICE #103748)
 - #104216 (Don't ICE on operator trait methods with generic methods)
 - #104217 (Display help message when fluent arg was referenced incorrectly)
 - #104245 (Reduce default configuration's dependency upon static libstdcpp library (#103606))

Failed merges:

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

19 months agoRollup merge of #104129 - notriddle:notriddle/102576-js-notable-trait, r=Manishearth
Manish Goregaokar [Fri, 11 Nov 2022 17:12:31 +0000 (12:12 -0500)]
Rollup merge of #104129 - notriddle:notriddle/102576-js-notable-trait, r=Manishearth

rustdoc: use javascript to layout notable traits popups

Fixes #102576

Preview: https://notriddle.com/notriddle-rustdoc-demos/102576-js-notable-trait/std/iter/trait.Iterator.html#method.step_by

## Before

![image](https://user-images.githubusercontent.com/1593513/200432713-23aa8d49-ba2b-469f-9eab-089e0c174039.png)

## After

![image](https://user-images.githubusercontent.com/1593513/200432735-edd5b53d-e99d-4fc5-9410-8a79e0efdc9d.png)

19 months agoRollup merge of #104051 - RalfJung:miri, r=RalfJung
Manish Goregaokar [Fri, 11 Nov 2022 17:12:31 +0000 (12:12 -0500)]
Rollup merge of #104051 - RalfJung:miri, r=RalfJung

update Miri

Notable PRs:
- https://github.com/rust-lang/miri/pull/2636
- https://github.com/rust-lang/miri/pull/2641
- https://github.com/rust-lang/miri/pull/2638

19 months agoRollup merge of #103960 - AndyJado:var_path_only_diag, r=davidtwco
Manish Goregaokar [Fri, 11 Nov 2022 17:12:30 +0000 (12:12 -0500)]
Rollup merge of #103960 - AndyJado:var_path_only_diag, r=davidtwco

piece of diagnostic migrate

r? `@davidtwco`

19 months agoRollup merge of #103531 - chenyukang:yukang/fix-103474, r=estebank
Manish Goregaokar [Fri, 11 Nov 2022 17:12:30 +0000 (12:12 -0500)]
Rollup merge of #103531 - chenyukang:yukang/fix-103474, r=estebank

Suggest calling the instance method of the same name when method not found

Fixes #103474

19 months agoRollup merge of #103468 - chenyukang:yukang/fix-103435-extra-parentheses, r=estebank
Manish Goregaokar [Fri, 11 Nov 2022 17:12:29 +0000 (12:12 -0500)]
Rollup merge of #103468 - chenyukang:yukang/fix-103435-extra-parentheses, r=estebank

Fix unused lint and parser caring about spaces to won't produce invalid code

Fixes #103435

19 months agoRollup merge of #102215 - alexcrichton:wasm-link-whole-archive, r=estebank
Manish Goregaokar [Fri, 11 Nov 2022 17:12:29 +0000 (12:12 -0500)]
Rollup merge of #102215 - alexcrichton:wasm-link-whole-archive, r=estebank

Implement the `+whole-archive` modifier for `wasm-ld`

This implements the `Linker::{link_whole_staticlib,link_whole_rlib}` methods for the `WasmLd` linker used on wasm targets. Previously these methods were noops since I think historically `wasm-ld` did not have support for `--whole-archive` but nowadays it does, so the flags are passed through.

19 months agoRollup merge of #100386 - compiler-errors:sized-coinductive-redux, r=lcnr
Manish Goregaokar [Fri, 11 Nov 2022 17:12:28 +0000 (12:12 -0500)]
Rollup merge of #100386 - compiler-errors:sized-coinductive-redux, r=lcnr

Make `Sized` coinductive, again

A revival of #83647

---

What exactly makes co-induction sound? Better question: are there any unsoundness risks from this? `Sized` can't be implemented by custom `impl` blocks, nor can it be conditionally implemented based on anything other than child fields being `Sized`, right?

r? `@nikomatsakis` for whenever he gets back from vacation

19 months agoRollup merge of #95292 - BGR360:const-trait-specialize, r=lcnr
Manish Goregaokar [Fri, 11 Nov 2022 17:12:27 +0000 (12:12 -0500)]
Rollup merge of #95292 - BGR360:const-trait-specialize, r=lcnr

Allow specialized const trait impls.

Fixes #95186.
Fixes #95187.

I've done my best to create a comprehensive test suite for the interaction between `min_specialization` and `const_trait_impls`. I wouldn't be surprised if there are interesting cases I haven't tested, please let me know.

19 months agorustdoc: fix HTML validation failure by escaping `data-ty`
Michael Howell [Fri, 11 Nov 2022 14:35:09 +0000 (07:35 -0700)]
rustdoc: fix HTML validation failure by escaping `data-ty`

19 months agorustdoc: add test cases for checkbox toggles
Michael Howell [Fri, 11 Nov 2022 16:57:58 +0000 (09:57 -0700)]
rustdoc: add test cases for checkbox toggles

19 months agoRollup merge of #104245 - kubycsolutions:master, r=jyn514
Dylan DPC [Fri, 11 Nov 2022 15:21:42 +0000 (20:51 +0530)]
Rollup merge of #104245 - kubycsolutions:master, r=jyn514

Reduce default configuration's dependency upon static libstdcpp library (#103606)

Fixes #103606

Remove default dependency on static libstdcpp except during dist llvm builds (where we want static libraries so `libLLVM.so` is self-contained).

19 months agoRollup merge of #104217 - Nilstrieb:funny-dollar-syntax, r=TaKO8Ki
Dylan DPC [Fri, 11 Nov 2022 15:21:41 +0000 (20:51 +0530)]
Rollup merge of #104217 - Nilstrieb:funny-dollar-syntax, r=TaKO8Ki

Display help message when fluent arg was referenced incorrectly

The fluent argument syntax is a little special and easy to get wrong, so we emit a small help message when someone gets it wrong.

Example:
```
parser_mismatched_closing_delimiter = mismatched closing delimiter: `${delimiter}`
```
panics with
```
thread 'rustc' panicked at 'Encountered errors while formatting message for `parser_mismatched_closing_delimiter`
help: Argument `delimiter` exists but was not referenced correctly. Try using `{$delimiter}` instead
attr: `None`
args: `FluentArgs([("delimiter", String("}"))])`
errors: `[ResolverError(Reference(Message { id: "delimiter", attribute: None }))]`', compiler/rustc_errors/src/translation.rs:123:21
```

fixes #103539

19 months agoRollup merge of #104216 - Nilstrieb:dont-ice-invalid-operator-traits, r=estebank
Dylan DPC [Fri, 11 Nov 2022 15:21:41 +0000 (20:51 +0530)]
Rollup merge of #104216 - Nilstrieb:dont-ice-invalid-operator-traits, r=estebank

Don't ICE on operator trait methods with generic methods

Emit a fatal error instead.
fixes #104213

19 months agoRollup merge of #104202 - camsteffen:103748, r=estebank
Dylan DPC [Fri, 11 Nov 2022 15:21:40 +0000 (20:51 +0530)]
Rollup merge of #104202 - camsteffen:103748, r=estebank

Fix ICE #103748

Fixes #103748

19 months agoRollup merge of #104169 - GuillaumeGomez:migrate-css-target, r=notriddle
Dylan DPC [Fri, 11 Nov 2022 15:21:40 +0000 (20:51 +0530)]
Rollup merge of #104169 - GuillaumeGomez:migrate-css-target, r=notriddle

Migrate `:target` rules to use CSS variables

There should be no GUI changes.

r? `@notriddle`

19 months agoRollup merge of #104146 - Ayush1325:remote-test-server, r=jyn514
Dylan DPC [Fri, 11 Nov 2022 15:21:39 +0000 (20:51 +0530)]
Rollup merge of #104146 - Ayush1325:remote-test-server, r=jyn514

Retry binding TCP Socket in remote-test-server

This allows retrying binding TCP Socket multiple times. This is useful when using emulators as network might not be available in the beginning.

This was orignally implemented in https://github.com/rust-lang/rust/pull/100316

Signed-off-by: Ayush Singh <ayushsingh1325@gmail.com>
19 months agoRollup merge of #103924 - PeteDevoy:patch-1, r=estebank
Dylan DPC [Fri, 11 Nov 2022 15:21:39 +0000 (20:51 +0530)]
Rollup merge of #103924 - PeteDevoy:patch-1, r=estebank

Fix broken link in description of error code E0706

Corresponding subsection in async book is `07.05` not `07.06`.

The information on the linked page is the same so it may be reasonable to remove the whole sentence.

19 months agoRollup merge of #103445 - fmease:fix-50291, r=estebank
Dylan DPC [Fri, 11 Nov 2022 15:21:38 +0000 (20:51 +0530)]
Rollup merge of #103445 - fmease:fix-50291, r=estebank

`#[test]`: Point at return type if `Termination` bound is unsatisfied

Together with #103142 (already merged) this fully fixes #50291.

I don't consider my current solution of changing a few spans “here and there” very clean since the\rfailed obligation is a `FunctionArgumentObligation` and we point at a type instead of a function argument.

If you agree with me on this point, I can offer to keep the spans of the existing nodes and instead inject\r`let _: AssertRetTyIsTermination<$ret_ty>;` (type to be defined in `libtest`) similar to `AssertParamIsEq` etc.\rused by some built-in derive-macros.

I haven't tried that approach yet though and cannot promise that it would actually work out or\rbe “cleaner” for that matter.

````@rustbot```` label A-libtest A-diagnostics
r? ````@estebank````

19 months agoRollup merge of #100633 - estebank:must_use_async_fn_return, r=tmandry
Dylan DPC [Fri, 11 Nov 2022 15:21:38 +0000 (20:51 +0530)]
Rollup merge of #100633 - estebank:must_use_async_fn_return, r=tmandry

Consider `#[must_use]` annotation on `async fn` as also affecting the `Future::Output`

No longer lint against `#[must_use] async fn foo()`.

When encountering a statement that awaits on a `Future`, check if the
`Future`'s parent item is annotated with `#[must_use]` and emit a lint
if so. This effectively makes `must_use` an annotation on the
`Future::Output` instead of only the `Future` itself.

Fix #78149.

19 months agoPrint all labels, even if they have no span. Fall back to main item's span.
Oli Scherer [Fri, 4 Nov 2022 16:04:47 +0000 (16:04 +0000)]
Print all labels, even if they have no span. Fall back to main item's span.

19 months agoDon't add message that will never be shown to users
Oli Scherer [Fri, 11 Nov 2022 14:45:18 +0000 (14:45 +0000)]
Don't add message that will never be shown to users

It will still be used in json, as seen by the ui test changes

19 months agoRemove some redundant arguments
Oli Scherer [Thu, 3 Nov 2022 17:06:41 +0000 (17:06 +0000)]
Remove some redundant arguments

19 months agoAuto merge of #102872 - mikebenfield:better-get-discr, r=nagisa
bors [Fri, 11 Nov 2022 13:50:32 +0000 (13:50 +0000)]
Auto merge of #102872 - mikebenfield:better-get-discr, r=nagisa

rustc_codegen_ssa: Better code generation for niche discriminants.

In some cases we can avoid arithmetic before checking whether a niche is a tag.

Also rename some identifiers around niches.

This is relevant to #101872

19 months agorustc_codegen_ssa: Better code generation for niche discriminants.
Michael Benfield [Mon, 10 Oct 2022 17:29:38 +0000 (17:29 +0000)]
rustc_codegen_ssa: Better code generation for niche discriminants.

In some cases we can avoid arithmetic before checking whether a niche
represents an untagged variant.

This is relevant to #101872

19 months agoAuto merge of #103898 - Nilstrieb:match-macro, r=nnethercote
bors [Fri, 11 Nov 2022 04:54:59 +0000 (04:54 +0000)]
Auto merge of #103898 - Nilstrieb:match-macro, r=nnethercote

Retry failed macro matching for diagnostics

When a declarative macro fails to match, retry the matching to collect diagnostic info instead of collecting it on the fly in the hot path. Split out of #103439.

You made a bunch of changes to declarative macro matching, so
r? `@nnethercote`

This change should produce a few small perf wins: https://github.com/rust-lang/rust/pull/103439#issuecomment-1294249602

19 months agoOops, bless this test.
Ben Reeves [Fri, 11 Nov 2022 04:14:08 +0000 (22:14 -0600)]
Oops, bless this test.

19 months agoFix tests after rebase
Esteban Küber [Fri, 11 Nov 2022 03:01:33 +0000 (19:01 -0800)]
Fix tests after rebase

19 months agoAuto merge of #99918 - WaffleLapkin:fnFnfun, r=estebank
bors [Fri, 11 Nov 2022 02:07:52 +0000 (02:07 +0000)]
Auto merge of #99918 - WaffleLapkin:fnFnfun, r=estebank

Recover wrong-cased keywords that start items

(_this pr was inspired by [this tweet](https://twitter.com/Azumanga/status/1552982326409367561)_)

r? `@estebank`

We've talked a bit about this recovery, but I just wanted to make sure that this is the right approach :)

For now I've only added the case insensitive recovery to `use`s, since most other items like `impl` blocks, modules, functions can start with multiple keywords which complicates the matter.

19 months agoreview comments
Esteban Küber [Wed, 17 Aug 2022 15:21:43 +0000 (08:21 -0700)]
review comments

19 months agoConsider `#[must_use]` annotation on `async fn` as also affecting the `Future::Output`
Esteban Küber [Tue, 16 Aug 2022 14:56:42 +0000 (07:56 -0700)]
Consider `#[must_use]` annotation on `async fn` as also affecting the `Future::Output`

No longer lint against `#[must_use] async fn foo()`.

When encountering a statement that awaits on a `Future`, check if the
`Future`'s parent item is annotated with `#[must_use]` and emit a lint
if so. This effectively makes `must_use` an annotation on the
`Future::Output` instead of only the `Future` itself.

Fix #78149.

19 months agoTweak span for `#[must_use]`
Esteban Küber [Tue, 16 Aug 2022 14:46:33 +0000 (07:46 -0700)]
Tweak span for `#[must_use]`

Do not point at whole statement, only at the expression (skip pointing at `;`)

19 months agoAvoid runtime dependency on static libstdc++
kubycsolutions [Wed, 9 Nov 2022 22:26:25 +0000 (17:26 -0500)]
Avoid runtime dependency on static libstdc++

Usually, we do want to use the static C++ library when building rustc_llvm, but do not want to have that dependency at compiler runtime. Change the defaults to Make It So.

19 months agorustdoc: use checkbox instead of switch for settings toggles
Michael Howell [Thu, 10 Nov 2022 23:51:14 +0000 (16:51 -0700)]
rustdoc: use checkbox instead of switch for settings toggles

The switch is designed to give the application a "physical" feel, but
nothing else in here really followed through. They didn't support the
"flick" gesture that real iOS switches support, and the radio
buttons that were also used in Rustdoc Settings were a more "classic"
form element anyway.

Also, while "switches" are the exclusive toggle design on iOS (since
[Apple HIG] reserves checkboxes for Mac only), the [Google Material]
guidelines say that lists of switches are bad, and you should just use
check boxes.

[Apple HIG]: https://developer.apple.com/design/human-interface-guidelines/components/selection-and-input/toggles
[Google Material]: https://m3.material.io/components/checkbox/guidelines#6902f23d-ceba-4b19-ae3b-b78b9b01d185

19 months agoMore nits
Michael Goulet [Thu, 10 Nov 2022 21:29:20 +0000 (21:29 +0000)]
More nits

19 months agobless tests
Michael Goulet [Wed, 10 Aug 2022 16:47:26 +0000 (16:47 +0000)]
bless tests

19 months agoadd some more tests
lcnr [Tue, 27 Apr 2021 12:24:19 +0000 (14:24 +0200)]
add some more tests

19 months agomake `Sized` coinductive
lcnr [Mon, 29 Mar 2021 15:32:20 +0000 (17:32 +0200)]
make `Sized` coinductive

19 months agoAuto merge of #104164 - cjgillot:u64-cache, r=compiler-errors
bors [Thu, 10 Nov 2022 20:13:42 +0000 (20:13 +0000)]
Auto merge of #104164 - cjgillot:u64-cache, r=compiler-errors

Use 64 bits for incremental cache in-file positions

We currently use a 32-bit integer to encode byte positions into the incremental cache.
This is not enough when the query chache file is >4GB.

As the overflow check was a `debug_assert`, it was removed in released compilers, making compilation succeed silently.
At the next compilation, cache decoding would try to read unrelated data because of garbled file position, triggering an ICE.

Fixes https://github.com/rust-lang/rust/issues/79786
(I'm closing that bug since it the original report and the subsequent questions are probably different instances. A new bug should be opened for new instances of that ICE.)

19 months agoApply PR feedback.
Ben Reeves [Thu, 10 Nov 2022 18:56:09 +0000 (12:56 -0600)]
Apply PR feedback.

19 months agoRequire `~const` qualifier on trait bounds in specializing impls if present in base...
Ben Reeves [Sun, 6 Nov 2022 06:07:06 +0000 (01:07 -0500)]
Require `~const` qualifier on trait bounds in specializing impls if present in base impl.

19 months agoAdd #[const_trait] where needed in tests.
Ben Reeves [Sun, 6 Nov 2022 04:12:57 +0000 (23:12 -0500)]
Add #[const_trait] where needed in tests.

19 months agoDisallow specializing on const impls with non-const impls.
Ben Reeves [Wed, 14 Sep 2022 03:18:14 +0000 (22:18 -0500)]
Disallow specializing on const impls with non-const impls.

19 months agoAllow specialized const trait impls.
Ben Reeves [Fri, 25 Mar 2022 00:24:40 +0000 (19:24 -0500)]
Allow specialized const trait impls.

Fixes #95186.
Fixes #95187.

19 months agoAdd GUI test for :target
Guillaume Gomez [Tue, 8 Nov 2022 20:12:41 +0000 (21:12 +0100)]
Add GUI test for :target

19 months agoMigrate :target rules to use CSS variables
Guillaume Gomez [Tue, 8 Nov 2022 20:12:17 +0000 (21:12 +0100)]
Migrate :target rules to use CSS variables

19 months agoupdate debuginfo check
joboet [Sun, 6 Nov 2022 20:44:33 +0000 (21:44 +0100)]
update debuginfo check

19 months agoAuto merge of #104246 - Manishearth:rollup-9o3txc7, r=Manishearth
bors [Thu, 10 Nov 2022 16:22:59 +0000 (16:22 +0000)]
Auto merge of #104246 - Manishearth:rollup-9o3txc7, r=Manishearth

Rollup of 9 pull requests

Successful merges:

 - #101939 (Add loongarch64 abi support)
 - #103863 (Use `TraitEngine` in more places, restrict visibility of `FulfillmentCtxt` constructor)
 - #104036 (Suggest `is_some` when we've found `Option` but expected `bool`)
 - #104060 (Make `Hash`, `Hasher` and `BuildHasher` `#[const_trait]` and make `Sip` const `Hasher`)
 - #104077 (Use aapcs for efiapi calling convention on arm)
 - #104186 (Tighten the 'introduce new binding' suggestion)
 - #104194 (`EarlyBinder` docs)
 - #104233 (Don't ICE when encountering `ConstKind::Error` in `RequiredConstsVisitor`)
 - #104235 (Use `const_error_with_guaranteed` more)

Failed merges:

 - #104078 (Print "Checking/Building ..." message even when --dry-run is passed)
 - #104169 (Migrate `:target` rules to use CSS variables)

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

19 months agoRollup merge of #104235 - compiler-errors:more-ct-guar, r=oli-obk
Manish Goregaokar [Thu, 10 Nov 2022 15:47:42 +0000 (10:47 -0500)]
Rollup merge of #104235 - compiler-errors:more-ct-guar, r=oli-obk

Use `const_error_with_guaranteed` more

Better to pass down an ErrorGuaranteed rather than making a new one out of thin air, for some usages. Also for the ones where we *do* need to delay a bug, that delayed bug will have a more descriptive message.

19 months agoRollup merge of #104233 - compiler-errors:issue-104209, r=lcnr
Manish Goregaokar [Thu, 10 Nov 2022 15:47:41 +0000 (10:47 -0500)]
Rollup merge of #104233 - compiler-errors:issue-104209, r=lcnr

Don't ICE when encountering `ConstKind::Error` in `RequiredConstsVisitor`

Fixes #104209

19 months agoRollup merge of #104194 - BoxyUwU:early_binder_docs, r=compiler-errors
Manish Goregaokar [Thu, 10 Nov 2022 15:47:41 +0000 (10:47 -0500)]
Rollup merge of #104194 - BoxyUwU:early_binder_docs, r=compiler-errors

`EarlyBinder` docs

19 months agoRollup merge of #104186 - chenyukang:yukang/fix-104086-let-binding-issue, r=oli-obk
Manish Goregaokar [Thu, 10 Nov 2022 15:47:40 +0000 (10:47 -0500)]
Rollup merge of #104186 - chenyukang:yukang/fix-104086-let-binding-issue, r=oli-obk

Tighten the 'introduce new binding' suggestion

Fixes #104086

19 months agoRollup merge of #104077 - nicholasbishop:bishop-uefi-aapcs, r=nagisa
Manish Goregaokar [Thu, 10 Nov 2022 15:47:39 +0000 (10:47 -0500)]
Rollup merge of #104077 - nicholasbishop:bishop-uefi-aapcs, r=nagisa

Use aapcs for efiapi calling convention on arm

On arm, [llvm treats the C calling convention as `aapcs` on soft-float targets and `aapcs-vfp` on hard-float targets](https://github.com/rust-lang/compiler-builtins/issues/116#issuecomment-261057422). UEFI specifies in the arm calling convention that [floating point extensions aren't used](https://uefi.org/specs/UEFI/2.10/02_Overview.html#detailed-calling-convention), so always translate `efiapi` to `aapcs` on arm.

https://github.com/rust-lang/rust/issues/65815

19 months agoRollup merge of #104060 - ink-feather-org:const_hash, r=fee1-dead
Manish Goregaokar [Thu, 10 Nov 2022 15:47:38 +0000 (10:47 -0500)]
Rollup merge of #104060 - ink-feather-org:const_hash, r=fee1-dead

Make `Hash`, `Hasher` and `BuildHasher` `#[const_trait]` and make `Sip` const `Hasher`

This PR enables using Hashes in const context.

r? ``@fee1-dead``

19 months agoRollup merge of #104036 - compiler-errors:option-sugg, r=petrochenkov
Manish Goregaokar [Thu, 10 Nov 2022 15:47:38 +0000 (10:47 -0500)]
Rollup merge of #104036 - compiler-errors:option-sugg, r=petrochenkov

Suggest `is_some` when we've found `Option` but expected `bool`

Thanks `@lunasorcery` for the suggestion.

19 months agoRollup merge of #103863 - compiler-errors:fulfillcx-less, r=wesleywiser
Manish Goregaokar [Thu, 10 Nov 2022 15:47:37 +0000 (10:47 -0500)]
Rollup merge of #103863 - compiler-errors:fulfillcx-less, r=wesleywiser

Use `TraitEngine` in more places, restrict visibility of `FulfillmentCtxt` constructor

Most places that are constructing a `FulfillmentContext` should be constructing a `TraitEngine` generically, so later on if/when we're transitioning it'll be easier.

Logical extension of #99746

19 months agoRollup merge of #101939 - zhaixiaojuan:loongarch64-abi, r=oli-obk
Manish Goregaokar [Thu, 10 Nov 2022 15:47:36 +0000 (10:47 -0500)]
Rollup merge of #101939 - zhaixiaojuan:loongarch64-abi, r=oli-obk

Add loongarch64 abi support

19 months agobroken links go brrrrr
Boxy [Thu, 10 Nov 2022 14:57:18 +0000 (14:57 +0000)]
broken links go brrrrr

19 months agoAuto merge of #104236 - compiler-errors:rollup-adjshd6, r=compiler-errors
bors [Thu, 10 Nov 2022 13:04:51 +0000 (13:04 +0000)]
Auto merge of #104236 - compiler-errors:rollup-adjshd6, r=compiler-errors

Rollup of 9 pull requests

Successful merges:

 - #102763 (Some diagnostic-related nits)
 - #103443 (Parser: Recover from using colon as path separator in imports)
 - #103675 (remove redundent "<>" for ty::Slice with reference type)
 - #104046 (bootstrap: add support for running Miri on a file)
 - #104115 (Migrate crate-search element to CSS variables)
 - #104190 (Ignore "Change InferCtxtBuilder from enter to build" in git blame)
 - #104201 (Add check in GUI test for file loading failure)
 - #104211 (:arrow_up: rust-analyzer)
 - #104231 (Update mailmap)

Failed merges:

 - #104169 (Migrate `:target` rules to use CSS variables)

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

19 months agoRollup merge of #104231 - ibraheemdev:patch-12, r=compiler-errors
Michael Goulet [Thu, 10 Nov 2022 05:53:38 +0000 (21:53 -0800)]
Rollup merge of #104231 - ibraheemdev:patch-12, r=compiler-errors

Update mailmap

19 months agoRollup merge of #104211 - lnicola:rust-analyzer-2022-11-09, r=lnicola
Michael Goulet [Thu, 10 Nov 2022 05:53:38 +0000 (21:53 -0800)]
Rollup merge of #104211 - lnicola:rust-analyzer-2022-11-09, r=lnicola

:arrow_up: rust-analyzer

r? ``@ghost``

19 months agoRollup merge of #104201 - GuillaumeGomez:gui-test-check-file-errors, r=notriddle
Michael Goulet [Thu, 10 Nov 2022 05:53:37 +0000 (21:53 -0800)]
Rollup merge of #104201 - GuillaumeGomez:gui-test-check-file-errors, r=notriddle

Add check in GUI test for file loading failure

Since https://github.com/rust-lang/rust/pull/101702, some resources location need to be updated in case their content changed because then their hash will change too. This will prevent errors like https://github.com/rust-lang/rust/pull/104114 to happen again.

The second commit is to prevent CORS errors: when a file is linked from a file itself imported, the web browser considers they come from a different domain and therefore triggers the error. The option tells the web browser to ignore this case.

cc ```@jsha```
r? ```@notriddle```

19 months agoRollup merge of #104190 - Nilstrieb:patch-1, r=compiler-errors
Michael Goulet [Thu, 10 Nov 2022 05:53:37 +0000 (21:53 -0800)]
Rollup merge of #104190 - Nilstrieb:patch-1, r=compiler-errors

Ignore "Change InferCtxtBuilder from enter to build" in git blame

Because it changed the indentation of many things, this commit caused a lot of diff with no functional changes, so we should ignore it.

r? ```@compiler-errors``` as you've complained about this before

The relevant commit: https://github.com/rust-lang/rust/commit/283abbf0e7d20176f76006825b5c52e9a4234e4c

19 months agoRollup merge of #104115 - GuillaumeGomez:migrate-crate-search-div, r=notriddle
Michael Goulet [Thu, 10 Nov 2022 05:53:36 +0000 (21:53 -0800)]
Rollup merge of #104115 - GuillaumeGomez:migrate-crate-search-div, r=notriddle

Migrate crate-search element to CSS variables

There should no UI changes.

r? ```@notriddle```

19 months agoRollup merge of #104046 - RalfJung:run-miri-run, r=oli-obk
Michael Goulet [Thu, 10 Nov 2022 05:53:35 +0000 (21:53 -0800)]
Rollup merge of #104046 - RalfJung:run-miri-run, r=oli-obk

bootstrap: add support for running Miri on a file

This enables:
```
./x.py run src/tools/miri --stage 0 --args src/tools/miri/tests/pass/hello.rs
```
That can be super helpful for debugging.

Also avoid sharing the Miri sysroot dir with a system-wide (rustup-managed) installation of Miri.

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

19 months agoRollup merge of #103675 - lyming2007:issue-103271-fix, r=fee1-dead
Michael Goulet [Thu, 10 Nov 2022 05:53:35 +0000 (21:53 -0800)]
Rollup merge of #103675 - lyming2007:issue-103271-fix, r=fee1-dead

remove redundent "<>" for ty::Slice with reference type

this fix #103271

19 months agoRollup merge of #103443 - mucinoab:recover-colon-as-path-separetor, r=compiler-errors
Michael Goulet [Thu, 10 Nov 2022 05:53:34 +0000 (21:53 -0800)]
Rollup merge of #103443 - mucinoab:recover-colon-as-path-separetor, r=compiler-errors

Parser: Recover from using colon as path separator in imports

I don't know if this is the right approach, any feedback is welcome.

r? ```@compiler-errors```

Fixes #103269

19 months agoRollup merge of #102763 - compiler-errors:nits, r=cjgillot
Michael Goulet [Thu, 10 Nov 2022 05:53:34 +0000 (21:53 -0800)]
Rollup merge of #102763 - compiler-errors:nits, r=cjgillot

Some diagnostic-related nits

1. Use `&mut Diagnostic` instead of `&mut DiagnosticBuilder<'_, T>`
2. Make `diag.span_suggestions` take an `IntoIterator` instead of `Iterator`, just to remove some `.into_iter` calls on the caller.

idk if I should add a lint to make sure people use `&mut Diagnostic` instead of `&mut DiagnosticBuilder<'_, T>` in cases where we're just, e.g., adding subdiagnostics to the diagnostic... maybe a followup.

19 months agoUse const_error_with_guaranteed more
Michael Goulet [Thu, 10 Nov 2022 05:39:06 +0000 (05:39 +0000)]
Use const_error_with_guaranteed more

19 months agoAuto merge of #103636 - chenyukang:yukang/fix-103587-sugg-if-let, r=jackh276,davidtwco
bors [Thu, 10 Nov 2022 05:19:10 +0000 (05:19 +0000)]
Auto merge of #103636 - chenyukang:yukang/fix-103587-sugg-if-let, r=jackh276,davidtwco

Recover from common if let syntax mistakes/typos

Fixes #103587

19 months agoDon't ICE when encountering ConstKind::Error in RequiredConstsVisitor
Michael Goulet [Thu, 10 Nov 2022 05:12:53 +0000 (05:12 +0000)]
Don't ICE when encountering ConstKind::Error in RequiredConstsVisitor

19 months agoupdate mailmap
Ibraheem Ahmed [Thu, 10 Nov 2022 04:40:06 +0000 (23:40 -0500)]
update mailmap

19 months agobless a chalk test
Michael Goulet [Thu, 10 Nov 2022 04:36:45 +0000 (04:36 +0000)]
bless a chalk test

19 months agoUse TraitEngine in more places, make FulfillmentCtxt constructor more private
Michael Goulet [Wed, 2 Nov 2022 00:54:36 +0000 (00:54 +0000)]
Use TraitEngine in more places, make FulfillmentCtxt constructor more private

19 months agoAuto merge of #101990 - clubby789:dont-machine-apply-placeholder-method, r=compiler...
bors [Thu, 10 Nov 2022 02:05:38 +0000 (02:05 +0000)]
Auto merge of #101990 - clubby789:dont-machine-apply-placeholder-method, r=compiler-errors

Fix auto-application of associated generic functions with placeholders

Fixes #101920

19 months agoremove redundent "<>" for ty::Slice with reference type
Yiming Lei [Fri, 28 Oct 2022 05:38:59 +0000 (22:38 -0700)]
remove redundent "<>" for ty::Slice with reference type
this fix #103271

19 months agoAuto merge of #104215 - Manishearth:rollup-5r957ad, r=Manishearth
bors [Wed, 9 Nov 2022 23:19:55 +0000 (23:19 +0000)]
Auto merge of #104215 - Manishearth:rollup-5r957ad, r=Manishearth

Rollup of 9 pull requests

Successful merges:

 - #101005 (Migrate rustc_codegen_llvm to SessionDiagnostics)
 - #103307 (Add context to compiler error message)
 - #103464 (Add support for custom mir)
 - #103929 (Cleanup Apple-related code in rustc_target)
 - #104015 (Remove linuxkernel targets)
 - #104020 (Limit efiapi calling convention to supported arches)
 - #104156 (Cleanups in autoderef impl)
 - #104171 (Update books)
 - #104184 (Fix `rustdoc --version` when used with download-rustc)

Failed merges:

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

19 months agomake dropck_outlives into a proper canonicalized type query
Michael Goulet [Wed, 9 Nov 2022 18:46:57 +0000 (18:46 +0000)]
make dropck_outlives into a proper canonicalized type query

19 months agoRemove save_and_restore_in_snapshot_flag
Michael Goulet [Wed, 9 Nov 2022 18:47:39 +0000 (18:47 +0000)]
Remove save_and_restore_in_snapshot_flag

19 months agoDisplay help message when fluent arg was referenced incorrectly
Nilstrieb [Wed, 9 Nov 2022 21:37:17 +0000 (22:37 +0100)]
Display help message when fluent arg was referenced incorrectly

The fluent argument syntax is a little special and easy to get wrong, so
we emit a small help message when someone gets it wrong.

Example:
```
parser_mismatched_closing_delimiter = mismatched closing delimiter: `${delimiter}`
```
panics with
```
thread 'rustc' panicked at 'Encountered errors while formatting message for `parser_mismatched_closing_delimiter`
help: Argument `delimiter` exists but was not referenced correctly. Try using `{$delimiter}` instead
attr: `None`
args: `FluentArgs([("delimiter", String("}"))])`
errors: `[ResolverError(Reference(Message { id: "delimiter", attribute: None }))]`', compiler/rustc_errors/src/translation.rs:123:21
```

19 months agoDon't ICE on operator trait methods with generic methods
Nilstrieb [Wed, 9 Nov 2022 21:00:13 +0000 (22:00 +0100)]
Don't ICE on operator trait methods with generic methods

Emit a fatal error instead.

19 months agorustdoc: sort output to make it deterministic
Michael Howell [Wed, 9 Nov 2022 20:55:52 +0000 (13:55 -0700)]
rustdoc: sort output to make it deterministic

19 months agoRollup merge of #104184 - jyn514:rustdoc-version, r=davidtwco
Manish Goregaokar [Wed, 9 Nov 2022 20:39:07 +0000 (15:39 -0500)]
Rollup merge of #104184 - jyn514:rustdoc-version, r=davidtwco

Fix `rustdoc --version` when used with download-rustc

Previously, rustdoc would unconditionally report the version that *rustc* was compiled with. That showed things like `nightly-2022-10-30`, which wasn't right, since this was a `dev` build compiled from source.

Fix it by changing `rustc_driver::version` to a macro expanded at invocation time.

cc https://github.com/rust-lang/rust/issues/103206#issuecomment-1284123084

19 months agoRollup merge of #104171 - ehuss:update-books, r=ehuss
Manish Goregaokar [Wed, 9 Nov 2022 20:39:06 +0000 (15:39 -0500)]
Rollup merge of #104171 - ehuss:update-books, r=ehuss

Update books

## nomicon

1 commits in 9c73283775466d22208a0b28afcab44db4c0cc10..05532356e7a4dbea2330aabb77611f5179493bb8
2022-09-30 07:31:22 +0900 to 2022-11-05 08:13:14 +0900
- Fix typos and grammatical errors (rust-lang/nomicon#384)

## reference

1 commits in 4ea7c5def38ac81df33a9e48e5637a82a5ac404d..9f0cc13ffcd27c1fbe1ab766a9491e15ddcf4d19
2022-10-25 15:14:36 -0700 to 2022-10-31 04:09:16 -0700
- Add a comma (rust-lang/reference#1289)

## book

12 commits in aa5ee485bd6bd80d205da7c82fcdd776f92fdd51..3f64052c048c6def93b94a2b514ee88bba918744
2022-10-20 16:49:55 -0400 to 2022-11-03 22:13:58 -0400
- Upgrade to Rust 1.65
- Upgrade to Rust 1.64
- Upgrade to Rust 1.63
- New ideas for the issue template to try
- Clarify that the conditional expression is the one under discussion
- Updates from copyedit of ch6
- Made Option&lt;T&gt; error explanation more clear
- Update ch06-01-defining-an-enum
- Upgrade mdbook
- Clarify that user1 can't be used as a whole instance. Fixes rust-lang/book#2978.
- Fix plural and incorrect phrase. Fixes rust-lang/book#3359.
- Updates from copyedit of ch5

## rust-by-example

4 commits in 03491f33375c5a2a1661c7fa4be671fe95ce1249..2b15c0abf2bada6e00553814336bc3e2d8399097
2022-10-21 07:30:08 -0300 to 2022-10-31 08:30:13 -0300
- Remove --edition from src/crates/using_lib.md (rust-lang/rust-by-example#1635)
- upgrade upload-artifact
- Clarify Fn in fn/closures/input_parameters.md (rust-lang/rust-by-example#1634)
- fix: erroneous white spaces in types/cast.md

## rustc-dev-guide

12 commits in 51a37ad19a15709d0601afbac6581f5aea6a45da..d0dc6c97a6486f68bac782fff135086eae6d77ec
2022-10-25 10:18:58 -0700 to 2022-11-07 16:49:22 +0200
- trans -&gt; codegen
- Remove implementation details
- Update some more things and improve wording
- Update query.md
- replace tabs with spaces (rust-lang/rustc-dev-guide#1504)
- align code blocks with their paragraphs
- Fixes some typos (rust-lang/rustc-dev-guide#1502)
- UPDATE - mention of Diagnostic derive on enums
- trans -&gt; codegen (rust-lang/rustc-dev-guide#1500)
- add note for err annotation formatting
- Remove `--bless` from pre-push hook suggestion
- Update for highfive transition.

19 months agoRollup merge of #104156 - oli-obk:autoderef, r=estebank
Manish Goregaokar [Wed, 9 Nov 2022 20:39:06 +0000 (15:39 -0500)]
Rollup merge of #104156 - oli-obk:autoderef, r=estebank

Cleanups in autoderef impl

Just something I noticed. Turns out the `overloaded_span` is not actually used separately from the main span, so I merged them.

19 months agoRollup merge of #104020 - nicholasbishop:bishop-limit-efiapi, r=nagisa
Manish Goregaokar [Wed, 9 Nov 2022 20:39:05 +0000 (15:39 -0500)]
Rollup merge of #104020 - nicholasbishop:bishop-limit-efiapi, r=nagisa

Limit efiapi calling convention to supported arches

Supported architectures in UEFI are described here:
https://uefi.org/specs/UEFI/2.10/02_Overview.html#calling-conventions

https://github.com/rust-lang/rust/issues/65815

19 months agoRollup merge of #104015 - alex:remove-kernel, r=oli-obk
Manish Goregaokar [Wed, 9 Nov 2022 20:39:05 +0000 (15:39 -0500)]
Rollup merge of #104015 - alex:remove-kernel, r=oli-obk

Remove linuxkernel targets

These are not used by the actual Rust-for-Linux project, so they're mostly just confusing.

19 months agoRollup merge of #103929 - BlackHoleFox:apple-targets-cleanup, r=petrochenkov
Manish Goregaokar [Wed, 9 Nov 2022 20:39:04 +0000 (15:39 -0500)]
Rollup merge of #103929 - BlackHoleFox:apple-targets-cleanup, r=petrochenkov

Cleanup Apple-related code in rustc_target

While working on https://github.com/rust-lang/rust/pull/103455, the consistency of the `rustc_target` code for Apple's platforms was "kind of bad." There were two "base" files (`apple_base.rs` and `apple_sdk_base.rs`) that the targets each pulled some parts out of, each and all of them were written slightly differently, and sometimes missed comments other implementations had.

So to hopefully make future maintenance, like implementing https://github.com/rust-lang/compiler-team/issues/556, easier, this makes all of them use similar patterns and the same target base logic everywhere instead of picking bits from both. This also has some other smaller upsides like less stringly-typed functions.

19 months agoRollup merge of #103464 - JakobDegen:mir-parsing, r=oli-obk
Manish Goregaokar [Wed, 9 Nov 2022 20:39:03 +0000 (15:39 -0500)]
Rollup merge of #103464 - JakobDegen:mir-parsing, r=oli-obk

Add support for custom mir

This implements rust-lang/compiler-team#564 . Details about the design, motivation, etc. can be found in there.

r? ```@oli-obk```

19 months agoRollup merge of #103307 - b4den:master, r=estebank
Manish Goregaokar [Wed, 9 Nov 2022 20:39:02 +0000 (15:39 -0500)]
Rollup merge of #103307 - b4den:master, r=estebank

Add context to compiler error message

Changed `creates a temporary which is freed while still in use` to `creates a temporary value which is freed while still in use`.

19 months agoRollup merge of #101005 - SLASHLogin:rustc_codegen_llvm_diagnostics, r=davidtwco
Manish Goregaokar [Wed, 9 Nov 2022 20:39:02 +0000 (15:39 -0500)]
Rollup merge of #101005 - SLASHLogin:rustc_codegen_llvm_diagnostics, r=davidtwco

Migrate rustc_codegen_llvm to SessionDiagnostics

WIP: Port current implementation of diagnostics to the new SessionDiagnostics.

Part of #100717

```@rustbot``` label +A-translation

19 months agoEmit error in `collecting_trait_impl_trait_tys` on mismatched signatures
Nilstrieb [Wed, 9 Nov 2022 20:19:31 +0000 (21:19 +0100)]
Emit error in `collecting_trait_impl_trait_tys` on mismatched signatures

Previously, a `delay_span_bug` was isssued, failing normalization. This
create a `TyKind::Error` in the signature, which caused
`compare_predicate_entailment` to swallow its signature mismatch error,
causing ICEs because no error was emitted.

19 months agoAuto merge of #104131 - notriddle:notriddle/flate2, r=Mark-Simulacrum
bors [Wed, 9 Nov 2022 20:25:28 +0000 (20:25 +0000)]
Auto merge of #104131 - notriddle:notriddle/flate2, r=Mark-Simulacrum

Update to latest version of flate2