]> git.lizzy.rs Git - rust.git/log
rust.git
22 months agoPoint to argument if it's self type of unsatisfied projection predicate
Michael Goulet [Sat, 13 Aug 2022 07:09:08 +0000 (07:09 +0000)]
Point to argument if it's self type of unsatisfied projection predicate

22 months agoTypeError can be Copy
Michael Goulet [Sat, 13 Aug 2022 20:43:31 +0000 (20:43 +0000)]
TypeError can be Copy

22 months agoRollup merge of #100526 - Nilstrieb:tests!, r=Mark-Simulacrum
Matthias Krüger [Sun, 14 Aug 2022 18:16:03 +0000 (20:16 +0200)]
Rollup merge of #100526 - Nilstrieb:tests!, r=Mark-Simulacrum

Add tests for the drop behavior of some control flow constructs

In #100513 it was shown that the drop behaviour of let_chains is not correct currently. Since drop behaviour is something pretty subtle, this adds explicit tests for the drop behavior of `if`, `if let` and `match` to make sure that it does not regress in the future.

The `println!`s were left in to make debugging easier in case something goes wrong, but they are not required for the test.

22 months agoRollup merge of #100524 - ohno418:impl-debug-for-some-rustbuild-structs, r=Mark-Simul...
Matthias Krüger [Sun, 14 Aug 2022 18:16:03 +0000 (20:16 +0200)]
Rollup merge of #100524 - ohno418:impl-debug-for-some-rustbuild-structs, r=Mark-Simulacrum

Impl `Debug` for some structs of rustbuild

A small patch to impl `Debug` for some structs of rustbuild to make debugging easier.

(I was trying to impl `Debug` for the `Config` struct, but found to have a bit more things to do. So gave up for now.)

22 months agoRollup merge of #100523 - GuillaumeGomez:remove-clean-impls, r=Dylan-DPC
Matthias Krüger [Sun, 14 Aug 2022 18:16:02 +0000 (20:16 +0200)]
Rollup merge of #100523 - GuillaumeGomez:remove-clean-impls, r=Dylan-DPC

[rustdoc] remove Clean trait

Follow-up of https://github.com/rust-lang/rust/pull/99638.

This is (finally!) the last part.

r? `@Dylan-DPC`

22 months agoRollup merge of #100482 - youknowone:patch-1, r=Mark-Simulacrum
Matthias Krüger [Sun, 14 Aug 2022 18:16:01 +0000 (20:16 +0200)]
Rollup merge of #100482 - youknowone:patch-1, r=Mark-Simulacrum

Add Duration rounding change to release note

one of possible fix of #100480

fixes https://github.com/rust-lang/rust/issues/100480

22 months agoRollup merge of #100253 - obeis:issue-100197, r=cjgillot
Matthias Krüger [Sun, 14 Aug 2022 18:16:00 +0000 (20:16 +0200)]
Rollup merge of #100253 - obeis:issue-100197, r=cjgillot

Recover from mutable variable declaration where `mut` is placed before `let`

Closes #100197

22 months agoRollup merge of #100249 - Meziu:master, r=joshtriplett
Matthias Krüger [Sun, 14 Aug 2022 18:16:00 +0000 (20:16 +0200)]
Rollup merge of #100249 - Meziu:master, r=joshtriplett

Fix HorizonOS regression in FileTimes

The changes in #98246 caused a regression for multiple Newlib-based systems. This is just a fix including HorizonOS to the list of  targets which require a workaround.

``@AzureMarker`` ``@ian-h-chamberlain``
r? ``@nagisa``

22 months agoAuto merge of #13020 - lnicola:no-pre-release-flag, r=lnicola
bors [Sun, 14 Aug 2022 18:00:29 +0000 (18:00 +0000)]
Auto merge of #13020 - lnicola:no-pre-release-flag, r=lnicola

minor: Remove redundant --pre-release flag from publish

22 months agoRemove redundant --pre-release flag from publish
Laurențiu Nicola [Sun, 14 Aug 2022 17:52:43 +0000 (20:52 +0300)]
Remove redundant --pre-release flag from publish

22 months agoAuto merge of #13000 - shoffmeister:patch-1, r=lnicola
bors [Sun, 14 Aug 2022 17:51:38 +0000 (17:51 +0000)]
Auto merge of #13000 - shoffmeister:patch-1, r=lnicola

Take into account renamed extension id when launching

22 months agofix(iter::skip): Optimize `next` and `nth` implementations of `Skip`
austinabell [Sun, 14 Aug 2022 17:25:13 +0000 (13:25 -0400)]
fix(iter::skip): Optimize `next` and `nth` implementations of `Skip`

22 months agoAuto merge of #100429 - GuillaumeGomez:merge-html-elements-together, r=notriddle
bors [Sun, 14 Aug 2022 14:37:17 +0000 (14:37 +0000)]
Auto merge of #100429 - GuillaumeGomez:merge-html-elements-together, r=notriddle

rustdoc: Merge source code pages HTML elements together

We realized that the HTML generated for the source code pages could be improved quite a lot. This PR is a first pass toward this goal. Some explanations: it merges similar classes elements (even when there are white characters in between).

There is an exception to this: if this is an ident, I also merged it with "unclassified" elements. This part is up to debate and can be very easily removed as the check is performed in one place (in the `can_merge` function).

EDIT: The `ident` is now only kept in the code for the `span` it contains but it is not rendered into the HTML.

So now some numbers:

For these ones, on each page, I run this JS: `document.getElementsByTagName('*').length`. The goal is to count the number of DOM elements. I took some pages that seemed big, but don't hesitate to check some others.

| file name | before this PR | with this PR | diff | without ident | diff |
|-|-|-|-|-|-|
| std/lib.rs.html (source link on std crate page) | 3455 | 2776 | 20.7% | 2387 | 31% |
| alloc/vec/mod.rs.html (source on Vec type page) | 11012 | 8084 | 26.6% | 6682 | 39.4% |
| alloc/string.rs.html (source on String type page) | 10800 | 8214 | 24% | 6712 | 37.9% |
| std/sync/mutex.rs.html (source on Mutex type page) | 2953 | 2403 | 18.7% | 2139 | 27.6% |

You can test it [here](https://rustdoc.crud.net/imperio/merge-html-elements-together/src/std/lib.rs.html).

cc `@jsha`
r? `@notriddle`

22 months agoMake code slightly more uniform
Rageking8 [Sun, 14 Aug 2022 14:17:49 +0000 (22:17 +0800)]
Make code slightly more uniform

22 months agoAdd tests for the drop behavior of some control flow constructs
Nilstrieb [Sun, 14 Aug 2022 12:17:53 +0000 (14:17 +0200)]
Add tests for the drop behavior of some control flow constructs

In #100513 it was shown that the drop behavior of let_chains is not correct
currently. Since drop behavior is something pretty subtle, this adds
explicit tests for the drop behavior of `if`, `if let` and `match` to
make sure that it does not regress in the future.

The `println!`s were left in to make debugging easier in case something
goes wrong, but they are not required for the test.

22 months agoAuto merge of #100525 - Dylan-DPC:rollup-4cp6nu0, r=Dylan-DPC
bors [Sun, 14 Aug 2022 12:06:50 +0000 (12:06 +0000)]
Auto merge of #100525 - Dylan-DPC:rollup-4cp6nu0, r=Dylan-DPC

Rollup of 6 pull requests

Successful merges:

 - #99582 (Delay a span bug if we see ty/const generic params during writeback)
 - #99861 (orphan check: rationalize our handling of constants)
 - #100026 (Add `Iterator::array_chunks` (take N+1))
 - #100115 (Suggest removing `let` if `const let` or `let const` is used)
 - #100126 (rustc_target: Update some old naming around self contained linking)
 - #100487 (`assert_{inhabited,zero_valid,uninit_valid}` intrinsics are safe)

Failed merges:

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

22 months agoRollup merge of #100487 - tmiasko:assert-safe, r=petrochenkov
Dylan DPC [Sun, 14 Aug 2022 11:39:17 +0000 (17:09 +0530)]
Rollup merge of #100487 - tmiasko:assert-safe, r=petrochenkov

`assert_{inhabited,zero_valid,uninit_valid}` intrinsics are safe

Those intrinsics either panic or do nothing. They are safe.

22 months agoRollup merge of #100126 - petrochenkov:screname, r=davidtwco
Dylan DPC [Sun, 14 Aug 2022 11:39:16 +0000 (17:09 +0530)]
Rollup merge of #100126 - petrochenkov:screname, r=davidtwco

rustc_target: Update some old naming around self contained linking

The "fallback" naming pre-dates introduction of `-Clink-self-contained`.
Noticed when reviewing https://github.com/rust-lang/rust/pull/99500.

This PR doesn't break any json target spec, but supporting per-linker-flavor startup objects needed by https://github.com/rust-lang/rust/pull/99500 will break them, so maybe next time I'll remove the compatibility names.

22 months agoRollup merge of #100115 - obeis:issue-99910, r=cjgillot
Dylan DPC [Sun, 14 Aug 2022 11:39:15 +0000 (17:09 +0530)]
Rollup merge of #100115 - obeis:issue-99910, r=cjgillot

Suggest removing `let` if `const let` or `let const` is used

Closes #99910

22 months agoRollup merge of #100026 - WaffleLapkin:array-chunks, r=scottmcm
Dylan DPC [Sun, 14 Aug 2022 11:39:14 +0000 (17:09 +0530)]
Rollup merge of #100026 - WaffleLapkin:array-chunks, r=scottmcm

Add `Iterator::array_chunks` (take N+1)

A revival of https://github.com/rust-lang/rust/pull/92393.

r? `@Mark-Simulacrum`
cc `@rossmacarthur` `@scottmcm` `@the8472`

I've tried to address most of the review comments on the previous attempt. The only thing I didn't address is `try_fold` implementation, I've left the "custom" one for now, not sure what exactly should it use.

22 months agoRollup merge of #99861 - lcnr:orphan-check-cg, r=jackh726
Dylan DPC [Sun, 14 Aug 2022 11:39:13 +0000 (17:09 +0530)]
Rollup merge of #99861 - lcnr:orphan-check-cg, r=jackh726

orphan check: rationalize our handling of constants

cc `@rust-lang/types` `@rust-lang/project-const-generics` on whether you agree with this reasoning.

r? types

22 months agoRollup merge of #99582 - compiler-errors:issue-99566, r=cjgillot
Dylan DPC [Sun, 14 Aug 2022 11:39:12 +0000 (17:09 +0530)]
Rollup merge of #99582 - compiler-errors:issue-99566, r=cjgillot

Delay a span bug if we see ty/const generic params during writeback

Fixes #99566

22 months agoUpdate rustdoc tests
Guillaume Gomez [Thu, 11 Aug 2022 21:04:01 +0000 (23:04 +0200)]
Update rustdoc tests

22 months agoImpl Debug for some structs of rustbuild
ohno418 [Sun, 14 Aug 2022 10:33:32 +0000 (19:33 +0900)]
Impl Debug for some structs of rustbuild

22 months agofeat: Target features for 1st group of RISC-V Bitmanip extensions
tux3 [Sun, 14 Aug 2022 10:09:44 +0000 (12:09 +0200)]
feat: Target features for 1st group of RISC-V Bitmanip extensions

These use the same names as LLVM and is_riscv_feature_detected!:
- zba (address generation instructions)
- zbb (basic bit manipulation)
- zbc (carry-less multiplication)
- zbs (single-bit manipulation)

22 months agoRemove the Clean trait
Guillaume Gomez [Sun, 14 Aug 2022 09:45:49 +0000 (11:45 +0200)]
Remove the Clean trait

22 months agoremove Clean trait implementation for hir::Variant
Guillaume Gomez [Sun, 14 Aug 2022 09:44:59 +0000 (11:44 +0200)]
remove Clean trait implementation for hir::Variant

22 months agoDon't generate ident elements as DOM nodes
Guillaume Gomez [Fri, 12 Aug 2022 16:18:04 +0000 (18:18 +0200)]
Don't generate ident elements as DOM nodes

22 months agoMerge HTML elements in highlighting when they can be merged together
Guillaume Gomez [Thu, 11 Aug 2022 21:03:45 +0000 (23:03 +0200)]
Merge HTML elements in highlighting when they can be merged together

22 months agoAuto merge of #100516 - compiler-errors:rollup-fgrfeb3, r=compiler-errors
bors [Sun, 14 Aug 2022 06:40:58 +0000 (06:40 +0000)]
Auto merge of #100516 - compiler-errors:rollup-fgrfeb3, r=compiler-errors

Rollup of 8 pull requests

Successful merges:

 - #99646 (Only point out a single function parameter if we have a single arg incompatibility)
 - #100299 (make `clean::Item::span` return `Option` instead of dummy span)
 - #100335 (Rustdoc-Json: Add `Path` type for traits.)
 - #100367 (Suggest the path separator when a dot is used on a trait)
 - #100431 (Enum variant ctor inherits the stability of the enum variant)
 - #100446 (Suggest removing a semicolon after impl/trait items)
 - #100468 (Use an extensionless `x` script for non-Windows)
 - #100479 (Argument type error improvements)

Failed merges:

 - #100483 (Point to generic or arg if it's the self type of unsatisfied projection predicate)

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

22 months agoRollup merge of #100479 - compiler-errors:argument-type-error-improvements, r=lcnr
Michael Goulet [Sun, 14 Aug 2022 04:06:53 +0000 (21:06 -0700)]
Rollup merge of #100479 - compiler-errors:argument-type-error-improvements, r=lcnr

Argument type error improvements

Motivated by this interesting code snippet:

```rust
#[derive(Copy, Clone)]
struct Wrapper<T>(T);

fn foo(_: fn(i32), _: Wrapper<i32>) {}

fn f(_: u32) {}

fn main() {
    let w = Wrapper::<isize>(1isize);
    foo(f, w);
}
```

Which currently errors like:
```
error[E0308]: arguments to this function are incorrect
  --> src/main.rs:10:5
   |
10 |     foo(f, w);
   |     ^^^ -  - expected `i32`, found `isize`
   |         |
   |         expected `i32`, found `u32`
   |
   = note: expected fn pointer `fn(i32)`
                 found fn item `fn(u32) {f}`
   = note: expected struct `Wrapper<i32>`
              found struct `Wrapper<isize>`
note: function defined here
  --> src/main.rs:4:4
   |
4  | fn foo(_: fn(i32), _: Wrapper<i32>) {}
   |    ^^^ ----------  ---------------
```

Specifically, that double `expected .. found ..` which is very difficult to correlate to the types in the arguments. Also, the fact that "expected `i32`, found `isize`" and the other argument mismatch label don't even really explain what's going on here.

After this PR:
```
error[E0308]: arguments to this function are incorrect
  --> $DIR/two-mismatch-notes.rs:10:5
   |
LL |     foo(f, w);
   |     ^^^
   |
note: expected fn pointer, found fn item
  --> $DIR/two-mismatch-notes.rs:10:9
   |
LL |     foo(f, w);
   |         ^
   = note: expected fn pointer `fn(i32)`
                 found fn item `fn(u32) {f}`
note: expected struct `Wrapper`, found a different struct `Wrapper`
  --> $DIR/two-mismatch-notes.rs:10:12
   |
LL |     foo(f, w);
   |            ^
   = note: expected struct `Wrapper<i32>`
              found struct `Wrapper<isize>`
note: function defined here
  --> $DIR/two-mismatch-notes.rs:4:4
   |
LL | fn foo(_: fn(i32), _: Wrapper<i32>) {}
   |    ^^^ ----------  ---------------

error: aborting due to previous error

For more information about this error, try `rustc --explain E0308`.
```

Yeah, it's a bit verbose, but much clearer IMO.

---

Open to discussions about how this could be further improved. Motivated by `@jyn514's` [tweet](https://mobile.twitter.com/joshuayn514/status/1558042020601634816) here.

22 months agoRollup merge of #100468 - cuviper:lazy-x, r=jyn514
Michael Goulet [Sun, 14 Aug 2022 04:06:52 +0000 (21:06 -0700)]
Rollup merge of #100468 - cuviper:lazy-x, r=jyn514

Use an extensionless `x` script for non-Windows

#99992 added `x.sh` and `x.ps1`, but this broke my lazy `./xTAB` habit that used to get me to `./x.py`. If we rename `x.sh` to `x`, then I can adjust to `./xSPACE` for the same number of characters typed.

r? `@jyn514`

22 months agoRollup merge of #100446 - TaKO8Ki:suggest-removing-semicolon-after-impl-trait-items...
Michael Goulet [Sun, 14 Aug 2022 04:06:51 +0000 (21:06 -0700)]
Rollup merge of #100446 - TaKO8Ki:suggest-removing-semicolon-after-impl-trait-items, r=compiler-errors

Suggest removing a semicolon after impl/trait items

fixes #99822

22 months agoRollup merge of #100431 - compiler-errors:enum-ctor-variant-stab, r=estebank
Michael Goulet [Sun, 14 Aug 2022 04:06:50 +0000 (21:06 -0700)]
Rollup merge of #100431 - compiler-errors:enum-ctor-variant-stab, r=estebank

Enum variant ctor inherits the stability of the enum variant

Fixes #100399
Fixes #100420

Context #71481 for why enum variants don't need stability

22 months agoRollup merge of #100367 - fmease:fix-100365, r=compiler-errors
Michael Goulet [Sun, 14 Aug 2022 04:06:49 +0000 (21:06 -0700)]
Rollup merge of #100367 - fmease:fix-100365, r=compiler-errors

Suggest the path separator when a dot is used on a trait

Fixes #100365.

`@rustbot` label A-diagnostics
r? diagnostics

22 months agoRollup merge of #100335 - aDotInTheVoid:rdj-resolved-path, r=GuillaumeGomez
Michael Goulet [Sun, 14 Aug 2022 04:06:48 +0000 (21:06 -0700)]
Rollup merge of #100335 - aDotInTheVoid:rdj-resolved-path, r=GuillaumeGomez

Rustdoc-Json: Add `Path` type for traits.

Avoids using `Type` for trait fields, as a trait must always be a path, and not any other kind of type.

``@rustbot`` modify labels: +A-rustdoc-json +T-rustdoc

Closes #100106

22 months agoRollup merge of #100299 - compiler-errors:issue-100283, r=notriddle
Michael Goulet [Sun, 14 Aug 2022 04:06:47 +0000 (21:06 -0700)]
Rollup merge of #100299 - compiler-errors:issue-100283, r=notriddle

make `clean::Item::span` return `Option` instead of dummy span

Fixes #100283

22 months agoRollup merge of #99646 - compiler-errors:arg-mismatch-single-arg-label, r=estebank
Michael Goulet [Sun, 14 Aug 2022 04:06:46 +0000 (21:06 -0700)]
Rollup merge of #99646 - compiler-errors:arg-mismatch-single-arg-label, r=estebank

Only point out a single function parameter if we have a single arg incompatibility

Fixes #99635

22 months agoAuto merge of #100495 - RalfJung:miri, r=RalfJung
bors [Sun, 14 Aug 2022 04:00:04 +0000 (04:00 +0000)]
Auto merge of #100495 - RalfJung:miri, r=RalfJung

update Miri

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

22 months agoAuto merge of #100511 - compiler-errors:rollup-vrte4w5, r=compiler-errors
bors [Sun, 14 Aug 2022 01:29:58 +0000 (01:29 +0000)]
Auto merge of #100511 - compiler-errors:rollup-vrte4w5, r=compiler-errors

Rollup of 11 pull requests

Successful merges:

 - #100355 (rustdoc: Rename ``@has` FILE PATTERN` to ``@hasraw` FILE PATTERN`)
 - #100407 (avoid some int2ptr casts in thread_local_key tests)
 - #100434 (Fix HIR pretty printing of let else)
 - #100438 (Erase regions better in `promote_candidate`)
 - #100445 (adapt test for msan message change)
 - #100447 (Remove more Clean trait implementations)
 - #100464 (Make `[rust] use-lld=true` work on windows)
 - #100475 (Give a helpful diagnostic when the next struct field has an attribute)
 - #100490 (wf: correctly `shallow_resolve` consts)
 - #100501 (nicer Miri backtraces for from_exposed_addr)
 - #100509 (merge two test directories that mean the same thing)

Failed merges:

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

22 months agoDelay span bug when failing to normalize negative coherence impl subject due to other...
Michael Goulet [Sat, 13 Aug 2022 22:04:50 +0000 (22:04 +0000)]
Delay span bug when failing to normalize negative coherence impl subject due to other malformed impls

22 months agomake clean::Item::span return option instead of dummy span
Michael Goulet [Tue, 9 Aug 2022 02:48:01 +0000 (02:48 +0000)]
make clean::Item::span return option instead of dummy span

22 months agoRollup merge of #100509 - BoxyUwU:merge_hrtb_with_higher_rank_trait_bound, r=compiler...
Michael Goulet [Sat, 13 Aug 2022 21:10:15 +0000 (14:10 -0700)]
Rollup merge of #100509 - BoxyUwU:merge_hrtb_with_higher_rank_trait_bound, r=compiler-errors

merge two test directories that mean the same thing

hopefully `hrtb` doesnt have a secret second meaning that i'm not aware of :laughing:

r? `@compiler-errors`

22 months agoRollup merge of #100501 - RalfJung:miri-from-exposed-addr, r=Mark-Simulacrum
Michael Goulet [Sat, 13 Aug 2022 21:10:14 +0000 (14:10 -0700)]
Rollup merge of #100501 - RalfJung:miri-from-exposed-addr, r=Mark-Simulacrum

nicer Miri backtraces for from_exposed_addr

Miri by default warns about using from_exposed_addr; this makes the span for that a bit nicer.

22 months agoRollup merge of #100490 - lcnr:wf-consts, r=jackh726
Michael Goulet [Sat, 13 Aug 2022 21:10:13 +0000 (14:10 -0700)]
Rollup merge of #100490 - lcnr:wf-consts, r=jackh726

wf: correctly `shallow_resolve` consts

`shallow_resolve` on `InferConst` is always a noop. this is mostly irrelevant as inference vars should already be resolved at most - if not all - call sites. Haven't actually looked too deeply into whether this was a problem.

22 months agoRollup merge of #100475 - chenyukang:fix-100461, r=fee1-dead
Michael Goulet [Sat, 13 Aug 2022 21:10:12 +0000 (14:10 -0700)]
Rollup merge of #100475 - chenyukang:fix-100461, r=fee1-dead

Give a helpful diagnostic when the next struct field has an attribute

Fixes #100461

22 months agoRollup merge of #100464 - khyperia:lld-icf-on-windows, r=jyn514
Michael Goulet [Sat, 13 Aug 2022 21:10:11 +0000 (14:10 -0700)]
Rollup merge of #100464 - khyperia:lld-icf-on-windows, r=jyn514

Make `[rust] use-lld=true` work on windows

Before, it would fail with "error: ignoring unknown argument '-Wl,--icf=all'"

This option was introduced in https://github.com/rust-lang/rust/pull/99062 (well, technically https://github.com/rust-lang/rust/pull/99680)

See zulip thread: https://rust-lang.zulipchat.com/#narrow/stream/182449-t-compiler.2Fhelp/topic/rust-lld.3A.20error.3A.20ignoring.20unknown.20argument.20'-Wl.2C--icf.3Dall'

22 months agoRollup merge of #100447 - GuillaumeGomez:rm-clean-impl, r=Dylan-DPC
Michael Goulet [Sat, 13 Aug 2022 21:10:10 +0000 (14:10 -0700)]
Rollup merge of #100447 - GuillaumeGomez:rm-clean-impl, r=Dylan-DPC

Remove more Clean trait implementations

Follow-up of https://github.com/rust-lang/rust/pull/99638.

r? ``@Dylan-DPC``

22 months agoRollup merge of #100445 - krasimirgg:llvm-16-msan, r=tmiasko
Michael Goulet [Sat, 13 Aug 2022 21:10:08 +0000 (14:10 -0700)]
Rollup merge of #100445 - krasimirgg:llvm-16-msan, r=tmiasko

adapt test for msan message change

LLVM commit https://github.com/llvm/llvm-project/commit/057cabd997aeaef136e1e14f2ee645bd5bb197dd removed the function from the msan error message. This adapts our test accordingly.

Found via our experimental rust + llvm @ HEAD bot:
https://buildkite.com/llvm-project/rust-llvm-integrate-prototype/builds/12634#018289fe-b0bc-4bab-89b3-fb1d4e38f6db

22 months agoRollup merge of #100438 - compiler-errors:issue-100360, r=lcnr
Michael Goulet [Sat, 13 Aug 2022 21:10:07 +0000 (14:10 -0700)]
Rollup merge of #100438 - compiler-errors:issue-100360, r=lcnr

Erase regions better in `promote_candidate`

Use `tcx.erase_regions` instead of manually walking through the substs.... this also makes the code slightly simpler :see_no_evil:

Fixes #100360
Fixes #89851

22 months agoRollup merge of #100434 - compiler-errors:issue-100373, r=cjgillot
Michael Goulet [Sat, 13 Aug 2022 21:10:06 +0000 (14:10 -0700)]
Rollup merge of #100434 - compiler-errors:issue-100373, r=cjgillot

Fix HIR pretty printing of let else

Fixes #100373
Fixes #99318
Fixes #99319

22 months agoRollup merge of #100407 - RalfJung:no-int2ptr, r=Mark-Simulacrum
Michael Goulet [Sat, 13 Aug 2022 21:10:05 +0000 (14:10 -0700)]
Rollup merge of #100407 - RalfJung:no-int2ptr, r=Mark-Simulacrum

avoid some int2ptr casts in thread_local_key tests

22 months agoRollup merge of #100355 - camelid:has2-rename, r=GuillaumeGomez
Michael Goulet [Sat, 13 Aug 2022 21:10:04 +0000 (14:10 -0700)]
Rollup merge of #100355 - camelid:has2-rename, r=GuillaumeGomez

rustdoc: Rename `@has FILE PATTERN` to `@hasraw FILE PATTERN`

Fixes #100354.

22 months agofix span_extend_to_next_char docs
Goldstein [Sat, 13 Aug 2022 20:33:21 +0000 (23:33 +0300)]
fix span_extend_to_next_char docs

22 months agowf correctly shallow_resolve consts
lcnr [Sat, 13 Aug 2022 11:49:11 +0000 (13:49 +0200)]
wf correctly shallow_resolve consts

22 months agoAuto merge of #13017 - Veykril:vscode-diag-workaround, r=Veykril
bors [Sat, 13 Aug 2022 18:50:38 +0000 (18:50 +0000)]
Auto merge of #13017 - Veykril:vscode-diag-workaround, r=Veykril

Pad empty diagnostic messages in relatedInformation as well

Follw up to https://github.com/rust-lang/rust-analyzer/pull/13016

22 months agoPad empty diagnostic messages in relatedInformation as well
Lukas Wirth [Sat, 13 Aug 2022 18:49:00 +0000 (20:49 +0200)]
Pad empty diagnostic messages in relatedInformation as well

22 months agomove
Ellen [Sat, 13 Aug 2022 18:42:25 +0000 (19:42 +0100)]
move

22 months agoAuto merge of #13016 - Veykril:vscode-diag-workaround, r=Veykril
bors [Sat, 13 Aug 2022 18:35:09 +0000 (18:35 +0000)]
Auto merge of #13016 - Veykril:vscode-diag-workaround, r=Veykril

Move VSCode diagnostics workaroudn into client code

22 months agoMove VSCode diagnostics workaroudn into client code
Lukas Wirth [Sat, 13 Aug 2022 18:18:21 +0000 (20:18 +0200)]
Move VSCode diagnostics workaroudn into client code

22 months agoDo not inline non-simple argument type errors into labels
Michael Goulet [Sat, 13 Aug 2022 05:44:20 +0000 (05:44 +0000)]
Do not inline non-simple argument type errors into labels

22 months agoLabel argument coercion errors
Michael Goulet [Sat, 13 Aug 2022 05:22:47 +0000 (05:22 +0000)]
Label argument coercion errors

22 months agoAuto merge of #13014 - Veykril:simplify, r=Veykril
bors [Sat, 13 Aug 2022 18:03:56 +0000 (18:03 +0000)]
Auto merge of #13014 - Veykril:simplify, r=Veykril

minor: Simplify `GlobalState::handle_event`

22 months agoSimplify `GlobalState::handle_event`
Lukas Wirth [Sat, 13 Aug 2022 18:03:06 +0000 (20:03 +0200)]
Simplify `GlobalState::handle_event`

22 months agochange `InlineAsmCtxt` to not talk about `FnCtxt`
lcnr [Sat, 13 Aug 2022 17:57:22 +0000 (19:57 +0200)]
change `InlineAsmCtxt` to not talk about `FnCtxt`

22 months agoAdd Duration rounding change to release note
Jeong YunWon [Sat, 13 Aug 2022 06:51:48 +0000 (15:51 +0900)]
Add Duration rounding change to release note

22 months agonicer Miri backtraces for from_exposed_addr
Ralf Jung [Sat, 13 Aug 2022 16:55:43 +0000 (12:55 -0400)]
nicer Miri backtraces for from_exposed_addr

22 months agoAuto merge of #13010 - Veykril:build-script-probes, r=Veykril
bors [Sat, 13 Aug 2022 14:12:38 +0000 (14:12 +0000)]
Auto merge of #13010 - Veykril:build-script-probes, r=Veykril

Do not unconditionally succeed RUSTC_WRAPPER checks when run by build scripts

rust-analyzer's RUSTC_WRAPPER unconditionally succeeds `cargo check`
invocations tripping up build scripts using `cargo check` to probe for
successful compilations. To prevent this from happening the RUSTC_WRAPPER
now checks if it's run from a build script by looking for the
`CARGO_CFG_TARGET_ARCH` env var that cargo sets only when running build
scripts.

22 months agoupdate Miri
Ralf Jung [Sat, 13 Aug 2022 14:00:48 +0000 (10:00 -0400)]
update Miri

22 months agouse `span_suggestion` instead of `span_suggestion_verbose`
Takayuki Maeda [Sat, 13 Aug 2022 13:10:54 +0000 (22:10 +0900)]
use `span_suggestion` instead of `span_suggestion_verbose`

22 months agoDo not unconditionally succeed RUSTC_WRAPPER checks when run by build scripts
Lukas Wirth [Sat, 13 Aug 2022 10:13:48 +0000 (12:13 +0200)]
Do not unconditionally succeed RUSTC_WRAPPER checks when run by build scripts

rust-analyzer's RUSTC_WRAPPER unconditionally succeeds `cargo check`
invocations tripping up build scripts using `cargo check` to probe for
successful compilations. To prevent this from happening the RUSTC_WRAPPER
now checks if it's run from a build script by looking for the
`CARGO_CFG_TARGET_ARCH` env var that cargo sets only when running build
scripts.

22 months agoAuto merge of #100380 - nicholasbishop:bishop-update-cb2, r=Mark-Simulacrum
bors [Sat, 13 Aug 2022 05:10:01 +0000 (05:10 +0000)]
Auto merge of #100380 - nicholasbishop:bishop-update-cb2, r=Mark-Simulacrum

Update compiler_builtins to 0.1.79

This pulls in a memcmp fix and some UEFI float-to-int fixes:
https://github.com/rust-lang/compiler-builtins/compare/0.1.78...0.1.79

22 months agorustdoc: Fix incorrect usage of `@!has` and `@!matches`
Noah Lev [Sat, 13 Aug 2022 04:56:16 +0000 (00:56 -0400)]
rustdoc: Fix incorrect usage of `@!has` and `@!matches`

`@!has` (and `@!matches`) with two arguments used to treat the second
argument as a literal string of HTML code. Now, that feature has been
renamed into `@!hasraw` (and `@!matchesraw`), and the arity-2 `@!has`
version is an error.

These uses thought the second argument was being treated as an XPath, as
with the arity-3 version, but in fact was being treated as literal HTML.
Because these were checking for the *absence* of the string, the tests
silently did nothing -- an XPath string won't ever be showing up in the
test's generated HTML!

22 months agoUpdate `@!has` name in tests
Noah Lev [Fri, 12 Aug 2022 04:44:07 +0000 (00:44 -0400)]
Update `@!has` name in tests

22 months agogive a helpful diagnostic even when the next struct field has an attribute
yukang [Sat, 13 Aug 2022 04:50:53 +0000 (12:50 +0800)]
give a helpful diagnostic even when the next struct field has an attribute

22 months agoFix line lengths
Noah Lev [Thu, 11 Aug 2022 15:09:48 +0000 (11:09 -0400)]
Fix line lengths

22 months agoRename `@hastext` to `@hasraw` (same for `matches`)
Noah Lev [Wed, 10 Aug 2022 20:13:18 +0000 (13:13 -0700)]
Rename `@hastext` to `@hasraw` (same for `matches`)

I think `@hasraw` is slightly clearer than `@hastext` since it is
actually matching against the raw HTML, not the text nodes.

22 months agoUpdate tests: arity-2 `@{has,matches}` -> `...text`
Noah Lev [Wed, 10 Aug 2022 20:10:04 +0000 (13:10 -0700)]
Update tests: arity-2 `@{has,matches}` -> `...text`

22 months agoRename `@{has,matches}-literal` to `...text`
Noah Lev [Wed, 10 Aug 2022 04:52:04 +0000 (21:52 -0700)]
Rename `@{has,matches}-literal` to `...text`

Reasons:
1. It's shorter.
2. `@matches-literal` seems to contradict itself: a regex is
   intrinsically not a literal match, while it is still a textual match.

22 months agoUse different name for arity-2 `@has` and `@matches`
Noah Lev [Wed, 10 Aug 2022 04:50:54 +0000 (21:50 -0700)]
Use different name for arity-2 `@has` and `@matches`

See #100354 for the rationale.

22 months agoAuto merge of #100341 - andrewpollack:fuchsia-llvm-libunwind, r=tmandry
bors [Sat, 13 Aug 2022 02:41:27 +0000 (02:41 +0000)]
Auto merge of #100341 - andrewpollack:fuchsia-llvm-libunwind, r=tmandry

Use llvm-libunwind="in-tree" for Fuchsia targets

With updates to Fuchsia CI's Zircon libraries #99833, we can introduce `llvm-libunwind="in-tree"` for Fuchsia targets. This PR restores functionality removed from https://github.com/rust-lang/rust/pull/93604#issuecomment-1136515651.

cc `@tmandry` `@djkoloski`

22 months agoAuto merge of #100324 - Mark-Simulacrum:bootstrap-bump, r=jyn514
bors [Sat, 13 Aug 2022 00:12:48 +0000 (00:12 +0000)]
Auto merge of #100324 - Mark-Simulacrum:bootstrap-bump, r=jyn514

Bump bootstrap compiler to 1.64

r? `@jyn514` perhaps?

22 months ago`assert_{inhabited,zero_valid,uninit_valid}` intrinsics are safe
Tomasz Miąsko [Sat, 13 Aug 2022 00:00:00 +0000 (00:00 +0000)]
`assert_{inhabited,zero_valid,uninit_valid}` intrinsics are safe

Those intrinsics either panic or do nothing. They are safe.

22 months agorustdoc-json: Use `@ismany` in tests
Nixon Enraght-Moony [Tue, 19 Jul 2022 15:57:38 +0000 (16:57 +0100)]
rustdoc-json: Use `@ismany` in tests

22 months agoUse an extensionless `x` script for non-Windows
Josh Stone [Fri, 12 Aug 2022 22:39:26 +0000 (15:39 -0700)]
Use an extensionless `x` script for non-Windows

22 months agoMake `[rust] use-lld=true` work on windows
khyperia [Fri, 12 Aug 2022 21:30:24 +0000 (23:30 +0200)]
Make `[rust] use-lld=true` work on windows

Before, it would fail with "error: ignoring unknown argument '-Wl,--icf=all'"

22 months agoApply changes from rustfmt bump
Mark Rousskov [Tue, 9 Aug 2022 14:16:52 +0000 (10:16 -0400)]
Apply changes from rustfmt bump

22 months agoAdjust cfgs
Mark Rousskov [Tue, 9 Aug 2022 13:56:13 +0000 (09:56 -0400)]
Adjust cfgs

22 months agoBump bootstrap compiler
Mark Rousskov [Tue, 9 Aug 2022 13:40:54 +0000 (09:40 -0400)]
Bump bootstrap compiler

22 months agoChange fluent_messages macro to expect _ slugs instead of - slugs
est31 [Wed, 10 Aug 2022 09:31:31 +0000 (11:31 +0200)]
Change fluent_messages macro to expect _ slugs instead of - slugs

For the most part, the macro actually worked with _ slugs, but the prefix_something -> prefix::something
conversion was not implemented.

We don't want to accept - slugs for consistency reasons.
We thus error if a name is found with - inside.
This ensures a consistent style.

22 months agoFix tests
est31 [Wed, 10 Aug 2022 20:03:45 +0000 (22:03 +0200)]
Fix tests

22 months agoRespond to PR comments. Cleanup documentation.
ridwanabdillahi [Fri, 12 Aug 2022 20:24:17 +0000 (13:24 -0700)]
Respond to PR comments. Cleanup documentation.

22 months agoUpdate rustdoc to new slug style
est31 [Wed, 10 Aug 2022 09:31:10 +0000 (11:31 +0200)]
Update rustdoc to new slug style

22 months agoReplace - with _ in ftl slugs for better grepability
est31 [Wed, 10 Aug 2022 07:42:10 +0000 (09:42 +0200)]
Replace - with _ in ftl slugs for better grepability

Having to replace - with _ (and vice versa) makes the slugs less greppable
and thus constitutes a contributor roadblock.

Result of running this repeatedly up until reaching a fixpoint:

find compiler/rustc_error_messages/locales/en-US/ -type f -exec sed -i 's/\(.+\)-\(.*\)=/\1_\2=/' {} \;

Plus some fixes to update usages of slugs leading with -.

22 months agoRespond to RFC comments.
ridwanabdillahi [Fri, 12 Aug 2022 18:34:31 +0000 (11:34 -0700)]
Respond to RFC comments.

22 months agoJsondocck: New `@ismany` command
Nixon Enraght-Moony [Tue, 19 Jul 2022 15:54:53 +0000 (16:54 +0100)]
Jsondocck: New `@ismany` command

22 months agoAuto merge of #100456 - Dylan-DPC:rollup-fn17z9f, r=Dylan-DPC
bors [Fri, 12 Aug 2022 16:32:24 +0000 (16:32 +0000)]
Auto merge of #100456 - Dylan-DPC:rollup-fn17z9f, r=Dylan-DPC

Rollup of 9 pull requests

Successful merges:

 - #100022 (Optimize thread ID generation)
 - #100030 (cleanup code w/ pointers in std a little)
 - #100229 (add -Zextra-const-ub-checks to enable more UB checking in const-eval)
 - #100247 (Generalize trait object generic param check to aliases.)
 - #100255 (Adding more verbose documentation for `std::fmt::Write`)
 - #100366 (errors: don't fail on broken primary translations)
 - #100396 (Suggest const and static for global variable)
 - #100409 (rustdoc: don't generate DOM element for operator)
 - #100443 (Add two let else regression tests)

Failed merges:

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

22 months agoTake into account renamed extension id when launching
shoffmeister [Thu, 11 Aug 2022 11:36:41 +0000 (13:36 +0200)]
Take into account renamed extension id when launching

Signed-off-by: Stefan Hoffmeister <stefan.hoffmeister@econos.de>
22 months agorustc_target: Update some old naming around self contained linking
Vadim Petrochenkov [Wed, 3 Aug 2022 22:43:17 +0000 (01:43 +0300)]
rustc_target: Update some old naming around self contained linking

The "fallback" naming pre-dates introduction of `-Clink-self-contained`

22 months agoAddress nit
Michael Goulet [Fri, 12 Aug 2022 15:35:27 +0000 (15:35 +0000)]
Address nit