]> git.lizzy.rs Git - rust.git/log
rust.git
22 months agoRollup merge of #100104 - GuillaumeGomez:rm-clean-impls, r=Dylan-DPC
Matthias Krüger [Wed, 3 Aug 2022 20:30:47 +0000 (22:30 +0200)]
Rollup merge of #100104 - GuillaumeGomez:rm-clean-impls, r=Dylan-DPC

Remove more Clean trait implementations

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

r? ``@notriddle``

22 months agoRollup merge of #100102 - b-naber:typo-higher-ranked-sub, r=Dylan-DPC
Matthias Krüger [Wed, 3 Aug 2022 20:30:46 +0000 (22:30 +0200)]
Rollup merge of #100102 - b-naber:typo-higher-ranked-sub, r=Dylan-DPC

Fix typo

r? ```@jackh726```

22 months agoRollup merge of #100083 - notriddle:notriddle/source-files-js, r=GuillaumeGomez
Matthias Krüger [Wed, 3 Aug 2022 20:30:46 +0000 (22:30 +0200)]
Rollup merge of #100083 - notriddle:notriddle/source-files-js, r=GuillaumeGomez

rustdoc: use a more compact encoding for source-files.js

This reduces the compiler-doc file from 40K to 36K, a 10% reduction in size.

22 months agoRollup merge of #100068 - dcsommer:master, r=petrochenkov
Matthias Krüger [Wed, 3 Aug 2022 20:30:45 +0000 (22:30 +0200)]
Rollup merge of #100068 - dcsommer:master, r=petrochenkov

Fix backwards-compatibility check for tests with `+whole-archive`

Fixes #100066

22 months agoRollup merge of #98877 - topjohnwu:fix-lld, r=jyn514
Matthias Krüger [Wed, 3 Aug 2022 20:30:44 +0000 (22:30 +0200)]
Rollup merge of #98877 - topjohnwu:fix-lld, r=jyn514

Set llvm configs when building lld

Several LLVM configs applied when building LLVM should also be applied when building LLD.

For example, without the fix, setting both `llvm.thin-lto=true` and `rust.lld=true` when building on Linux will fail, since we need to manually override the compiler and linker to `clang`, but those will not be used when building LLD, causing link errors.

r? ```@jyn514```

22 months agoAuto merge of #100064 - RalfJung:disaligned, r=petrochenkov
bors [Wed, 3 Aug 2022 16:09:56 +0000 (16:09 +0000)]
Auto merge of #100064 - RalfJung:disaligned, r=petrochenkov

fix is_disaligned logic for nested packed structs

https://github.com/rust-lang/rust/pull/83605 broke the `is_disaligned` logic by bailing out of the loop in `is_within_packed` early. This PR fixes that problem and adds suitable tests.

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

22 months agofix is_disaligned logic for nested packed structs
Ralf Jung [Tue, 2 Aug 2022 16:21:38 +0000 (12:21 -0400)]
fix is_disaligned logic for nested packed structs

22 months agoAuto merge of #100023 - saethlin:send-sync-chunksmut, r=m-ou-se
bors [Wed, 3 Aug 2022 13:17:58 +0000 (13:17 +0000)]
Auto merge of #100023 - saethlin:send-sync-chunksmut, r=m-ou-se

Add back Send and Sync impls on ChunksMut iterators

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

These were accidentally removed in #94247 because the representation was changed from `&mut [T]` to `*mut T`, which has `!Send + !Sync`.

22 months agoAuto merge of #100100 - Dylan-DPC:rollup-llcaaq8, r=Dylan-DPC
bors [Wed, 3 Aug 2022 10:26:01 +0000 (10:26 +0000)]
Auto merge of #100100 - Dylan-DPC:rollup-llcaaq8, r=Dylan-DPC

Rollup of 5 pull requests

Successful merges:

 - #99371 (Remove synchronization from Windows `hashmap_random_keys`)
 - #99614 (do not claim that transmute is like memcpy)
 - #99738 (rustdoc: avoid inlining modules with duplicate names)
 - #99800 (Fix futex module imports on wasm+atomics)
 - #100079 (Replace `* -> vec` with `-> vec` in docs)

Failed merges:

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

22 months agoremove Clean trait implementation for hir::IsAuto
Guillaume Gomez [Wed, 3 Aug 2022 09:38:18 +0000 (11:38 +0200)]
remove Clean trait implementation for hir::IsAuto

22 months agoremove Clean trait implementation for ty::Region
Guillaume Gomez [Wed, 3 Aug 2022 09:35:32 +0000 (11:35 +0200)]
remove Clean trait implementation for ty::Region

22 months agofix typo
b-naber [Wed, 3 Aug 2022 09:04:10 +0000 (11:04 +0200)]
fix typo

22 months agoSet llvm configs when building lld
topjohnwu [Wed, 3 Aug 2022 08:54:24 +0000 (01:54 -0700)]
Set llvm configs when building lld

22 months agoRollup merge of #100079 - camelid:fix-doc-star-search, r=Dylan-DPC
Dylan DPC [Wed, 3 Aug 2022 08:15:53 +0000 (13:45 +0530)]
Rollup merge of #100079 - camelid:fix-doc-star-search, r=Dylan-DPC

Replace `* -> vec` with `-> vec` in docs

Fixes #100078.

Rustdoc's current syntax is `-> vec`.

22 months agoRollup merge of #99800 - sandydoo:bugfix/wasm-futex, r=m-ou-se
Dylan DPC [Wed, 3 Aug 2022 08:15:52 +0000 (13:45 +0530)]
Rollup merge of #99800 - sandydoo:bugfix/wasm-futex, r=m-ou-se

Fix futex module imports on wasm+atomics

The futex modules were rearranged a bit in #98707, which meant that wasm+atomics would no longer compile on nightly. I don’t believe any other targets were impacted by this.

22 months agoRollup merge of #99738 - notriddle:notriddle/multiple-modules-w-same-name, r=camelid
Dylan DPC [Wed, 3 Aug 2022 08:15:51 +0000 (13:45 +0530)]
Rollup merge of #99738 - notriddle:notriddle/multiple-modules-w-same-name, r=camelid

rustdoc: avoid inlining modules with duplicate names

Fixes rust-lang/rust#99734

22 months agoRollup merge of #99614 - RalfJung:transmute-is-not-memcpy, r=thomcc
Dylan DPC [Wed, 3 Aug 2022 08:15:50 +0000 (13:45 +0530)]
Rollup merge of #99614 - RalfJung:transmute-is-not-memcpy, r=thomcc

do not claim that transmute is like memcpy

Saying transmute is like memcpy is not a well-formed statement, since memcpy is by-ref whereas transmute is by-val. The by-val nature of transmute inherently means that padding is lost along the way. (This is not specific to transmute, this is how all by-value operations work.) So adjust the docs to clarify this aspect.

Cc `@workingjubilee`

22 months agoRollup merge of #99371 - ChrisDenton:simplify-gen-random-keys, r=thomcc
Dylan DPC [Wed, 3 Aug 2022 08:15:49 +0000 (13:45 +0530)]
Rollup merge of #99371 - ChrisDenton:simplify-gen-random-keys, r=thomcc

Remove synchronization from Windows `hashmap_random_keys`

Unfortunately using synchronization when generating hashmap keys can prevent it being used in `DllMain`.

~~Fixes #99341~~

22 months agoAuto merge of #100082 - matthiaskrgr:rollup-ywu4iux, r=matthiaskrgr
bors [Wed, 3 Aug 2022 04:50:42 +0000 (04:50 +0000)]
Auto merge of #100082 - matthiaskrgr:rollup-ywu4iux, r=matthiaskrgr

Rollup of 6 pull requests

Successful merges:

 - #99933 (parallelize HTML checking tool)
 - #99958 (Improve position named arguments lint underline and formatting names)
 - #100008 (Update all pre-cloned submodules on startup)
 - #100049 (:arrow_up: rust-analyzer)
 - #100070 (Clarify Cargo.toml comments)
 - #100074 (rustc-docs: Be less specific about the representation of `+bundle`)

Failed merges:

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

22 months agoAuto merge of #99509 - lcnr:commit_unconditionally, r=jackh726
bors [Wed, 3 Aug 2022 01:55:20 +0000 (01:55 +0000)]
Auto merge of #99509 - lcnr:commit_unconditionally, r=jackh726

remove `commit_unconditionally`

`commit_unconditionally` is a noop unless we somehow inspect the current state of our snapshot. The only thing which does that is the leak check which was only used in one place where `commit_if_ok` is probably at least as, or even more, correct.

r? rust-lang/types

22 months agowordsmithing
Ralf Jung [Wed, 3 Aug 2022 00:43:28 +0000 (20:43 -0400)]
wordsmithing

22 months agoFix backwards-compatibility check for tests with `+whole-archive`
Daniel Sommermann [Mon, 1 Aug 2022 18:47:32 +0000 (11:47 -0700)]
Fix backwards-compatibility check for tests with `+whole-archive`

Fixes #100066

22 months agorustdoc: avoid inlining foreigns with duplicate names
Michael Howell [Tue, 2 Aug 2022 21:48:23 +0000 (14:48 -0700)]
rustdoc: avoid inlining foreigns with duplicate names

22 months agoAuto merge of #92268 - jswrenn:transmute, r=oli-obk
bors [Tue, 2 Aug 2022 21:17:31 +0000 (21:17 +0000)]
Auto merge of #92268 - jswrenn:transmute, r=oli-obk

Initial implementation of transmutability trait.

*T'was the night before Christmas and all through the codebase, not a miri was stirring — no hint of `unsafe`!*

This PR provides an initial, **incomplete** implementation of *[MCP 411: Lang Item for Transmutability](https://github.com/rust-lang/compiler-team/issues/411)*. The `core::mem::BikeshedIntrinsicFrom` trait provided by this PR is implemented on-the-fly by the compiler for types `Src` and `Dst` when the bits of all possible values of type `Src` are safely reinterpretable as a value of type `Dst`.

What this PR provides is:
- [x] [support for transmutations involving primitives](https://github.com/jswrenn/rust/tree/transmute/src/test/ui/transmutability/primitives)
- [x] [support for transmutations involving arrays](https://github.com/jswrenn/rust/tree/transmute/src/test/ui/transmutability/arrays)
- [x] [support for transmutations involving structs](https://github.com/jswrenn/rust/tree/transmute/src/test/ui/transmutability/structs)
- [x] [support for transmutations involving enums](https://github.com/jswrenn/rust/tree/transmute/src/test/ui/transmutability/enums)
- [x] [support for transmutations involving unions](https://github.com/jswrenn/rust/tree/transmute/src/test/ui/transmutability/unions)
- [x] [support for weaker validity checks](https://github.com/jswrenn/rust/blob/transmute/src/test/ui/transmutability/unions/should_permit_intersecting_if_validity_is_assumed.rs) (i.e., `Assume::VALIDITY`)
- [x] visibility checking

What isn't yet implemented:
- [ ] transmutability options passed using the `Assume` struct
- [ ] [support for references](https://github.com/jswrenn/rust/blob/transmute/src/test/ui/transmutability/references.rs)
- [ ] smarter error messages

These features will be implemented in future PRs.

22 months agoRollup merge of #100074 - petrochenkov:bundledoc, r=bjorn3
Matthias Krüger [Tue, 2 Aug 2022 21:07:49 +0000 (23:07 +0200)]
Rollup merge of #100074 - petrochenkov:bundledoc, r=bjorn3

rustc-docs: Be less specific about the representation of `+bundle`

For https://github.com/rust-lang/rust/issues/99429.
r? `@bjorn3`

22 months agoRollup merge of #100070 - mqudsi:99768_revisited, r=RalfJung
Matthias Krüger [Tue, 2 Aug 2022 21:07:48 +0000 (23:07 +0200)]
Rollup merge of #100070 - mqudsi:99768_revisited, r=RalfJung

Clarify Cargo.toml comments

Existing comments were left in an incoherent state after #99768.

r? `@RalfJung`

22 months agoRollup merge of #100049 - lnicola:rust-analyzer-2022-08-02, r=lnicola
Matthias Krüger [Tue, 2 Aug 2022 21:07:47 +0000 (23:07 +0200)]
Rollup merge of #100049 - lnicola:rust-analyzer-2022-08-02, r=lnicola

:arrow_up: rust-analyzer

r? `@ghost`

22 months agoRollup merge of #100008 - jyn514:eager-submodules, r=bjorn3
Matthias Krüger [Tue, 2 Aug 2022 21:07:46 +0000 (23:07 +0200)]
Rollup merge of #100008 - jyn514:eager-submodules, r=bjorn3

Update all pre-cloned submodules on startup

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

22 months agoRollup merge of #99958 - PrestonFrom:issue_99907, r=compiler-errors
Matthias Krüger [Tue, 2 Aug 2022 21:07:45 +0000 (23:07 +0200)]
Rollup merge of #99958 - PrestonFrom:issue_99907, r=compiler-errors

Improve position named arguments lint underline and formatting names

For named arguments used as implicit position arguments, underline both
the opening curly brace and either:
* if there is formatting, the next character (which will either be the
  closing curl brace or the `:` denoting the start of formatting args)
* if there is no formatting, the entire arg span (important if there is
  whitespace like `{  }`)

This should make it more obvious where the named argument should be.

Additionally, in the lint message, emit the formatting argument names
without a dollar sign to avoid potentially confusion.

Fixes #99907

22 months agoRollup merge of #99933 - alex:parallel-html-checking, r=Mark-Simulacrum
Matthias Krüger [Tue, 2 Aug 2022 21:07:44 +0000 (23:07 +0200)]
Rollup merge of #99933 - alex:parallel-html-checking, r=Mark-Simulacrum

parallelize HTML checking tool

there's a lot of IO, so timings on my laptop are far from stable, but it seems to be considerably faster.

this step often appears to take 5+ minutes in CI, so hopefully this offers a speedup

22 months agoReplace `* -> vec` with `-> vec` in docs
Noah Lev [Tue, 2 Aug 2022 20:59:18 +0000 (13:59 -0700)]
Replace `* -> vec` with `-> vec` in docs

Rustdoc's current syntax is `-> vec`.

22 months agorustdoc: use a more compact encoding for source-files.js
Michael Howell [Tue, 2 Aug 2022 20:24:34 +0000 (13:24 -0700)]
rustdoc: use a more compact encoding for source-files.js

This reduces the compiler-doc file from 40K to 36K, a 10% reduction in size.

22 months agorustc-docs: Be less specific about the representation of `+bundle`
Vadim Petrochenkov [Tue, 2 Aug 2022 19:29:29 +0000 (22:29 +0300)]
rustc-docs: Be less specific about the representation of `+bundle`

22 months agoClarify Cargo.toml comments
Mahmoud Al-Qudsi [Tue, 2 Aug 2022 17:50:06 +0000 (12:50 -0500)]
Clarify Cargo.toml comments

Existing comments were left in an incoherent state after #99768.

22 months agoAuto merge of #100063 - matthiaskrgr:rollup-lznouys, r=matthiaskrgr
bors [Tue, 2 Aug 2022 17:18:58 +0000 (17:18 +0000)]
Auto merge of #100063 - matthiaskrgr:rollup-lznouys, r=matthiaskrgr

Rollup of 7 pull requests

Successful merges:

 - #99987 (Always include a position span in `rustc_parse_format::Argument`)
 - #100005 (Remove Clean trait for ast::Attribute and improve Attributes::from_ast)
 - #100025 (Remove redundant `TransferWrapper` struct)
 - #100045 (Properly reject the `may_unwind` option in `global_asm!`)
 - #100052 (RISC-V ASM test: relax label name constraint.)
 - #100053 (move [`assertions_on_result_states`] to restriction)
 - #100057 (Remove more Clean trait implementations)

Failed merges:

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

22 months agoRollup merge of #100057 - GuillaumeGomez:rm-more-clean-impl, r=Dylan-DPC
Matthias Krüger [Tue, 2 Aug 2022 15:17:37 +0000 (17:17 +0200)]
Rollup merge of #100057 - GuillaumeGomez:rm-more-clean-impl, r=Dylan-DPC

Remove more Clean trait implementations

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

r? ``@notriddle``

22 months agoRollup merge of #100053 - flip1995:clippy_backport, r=xFrednet
Matthias Krüger [Tue, 2 Aug 2022 15:17:36 +0000 (17:17 +0200)]
Rollup merge of #100053 - flip1995:clippy_backport, r=xFrednet

move [`assertions_on_result_states`] to restriction

"Backports" the first commit of https://github.com/rust-lang/rust-clippy/pull/9273, so that the lint doesn't go into beta as a warn-by-default lint.

The other changes in the linked PR can ride the train as usual.

r? ``@xFrednet`` (only Clippy changes, so we don't need to bother compiler people)

---

For Clippy:

changelog: none

22 months agoRollup merge of #100052 - TimNN:patch-1, r=nikic
Matthias Krüger [Tue, 2 Aug 2022 15:17:35 +0000 (17:17 +0200)]
Rollup merge of #100052 - TimNN:patch-1, r=nikic

RISC-V ASM test: relax label name constraint.

The test is currently [broken at LLVM Head](https://buildkite.com/llvm-project/rust-llvm-integrate-prototype/builds/12425#01825d5b-c3d1-4fdc-a98d-5956b246aee2), likely since https://github.com/llvm/llvm-project/commit/260a64106854986a981e49ed87ee740460a23eb5:

```plain
/var/lib/buildkite-agent/builds/rust-llvm-integrate/llvm-project/rust-llvm-integrate-prototype/src/test/assembly/asm/riscv-types.rs:59:11: error: CHECK: expected string not found in input
--
  | // CHECK: lb t0, %pcrel_lo(.Lpcrel_hi0)(t0)
  | ^
  | /var/lib/buildkite-agent/builds/rust-llvm-integrate/llvm-project/rust-llvm-integrate-prototype/build/x86_64-unknown-linux-gnu/test/assembly/asm/riscv-types.riscv64/riscv-types.s:24:36: note: scanning from here
  | auipc t0, %pcrel_hi(extern_static)
  | ^
  | /var/lib/buildkite-agent/builds/rust-llvm-integrate/llvm-project/rust-llvm-integrate-prototype/build/x86_64-unknown-linux-gnu/test/assembly/asm/riscv-types.riscv64/riscv-types.s:25:2: note: possible intended match here
  | lb t0, %pcrel_lo(.Lpcrel_hi18)(t0)
  | ^
```

As far as I can tell, the exact index in the label probably doesn't matter for the test, especially if LLVM can change it to ~arbitrary values, though I'm not an ASM or RISC-V expert.

This [fixes the test](https://buildkite.com/llvm-project/rust-llvm-integrate-prototype/builds/12427).

22 months agoRollup merge of #100045 - Amanieu:global_asm_may_unwind, r=tmiasko
Matthias Krüger [Tue, 2 Aug 2022 15:17:34 +0000 (17:17 +0200)]
Rollup merge of #100045 - Amanieu:global_asm_may_unwind, r=tmiasko

Properly reject the `may_unwind` option in `global_asm!`

This was accidentally accepted even though it had no effect in
`global_asm!`. The option only makes sense for `asm!` which runs within
a function.

22 months agoRollup merge of #100025 - tmiasko:rm-transfer-wrapper, r=cjgillot
Matthias Krüger [Tue, 2 Aug 2022 15:17:33 +0000 (17:17 +0200)]
Rollup merge of #100025 - tmiasko:rm-transfer-wrapper, r=cjgillot

Remove redundant `TransferWrapper` struct

22 months agoRollup merge of #100005 - GuillaumeGomez:cleanup-ast-attr-clean, r=notriddle
Matthias Krüger [Tue, 2 Aug 2022 15:17:31 +0000 (17:17 +0200)]
Rollup merge of #100005 - GuillaumeGomez:cleanup-ast-attr-clean, r=notriddle

Remove Clean trait for ast::Attribute and improve Attributes::from_ast

I prefer to keep this commit on its own for this PR because I'm changing a bit more things than expected originally: I split `Attributes::from_ast` into two because there is only one location making use of its second parameter.

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

r? `@notriddle`

22 months agoRollup merge of #99987 - Alexendoo:parse-format-position-span, r=fee1-dead
Matthias Krüger [Tue, 2 Aug 2022 15:17:30 +0000 (17:17 +0200)]
Rollup merge of #99987 - Alexendoo:parse-format-position-span, r=fee1-dead

Always include a position span in `rustc_parse_format::Argument`

Moves the spans from the `Position` enum to always be included in the `Argument` struct. Doesn't make any changes to use it in rustc, but it will be useful for some upcoming Clippy lints

22 months agosafe transmute: fix broken intradoc link
Jack Wrenn [Tue, 2 Aug 2022 14:44:23 +0000 (14:44 +0000)]
safe transmute: fix broken intradoc link

22 months agoAuto merge of #100032 - BoxyUwU:no_ty_in_placeholder_const, r=compiler-errors
bors [Tue, 2 Aug 2022 13:10:49 +0000 (13:10 +0000)]
Auto merge of #100032 - BoxyUwU:no_ty_in_placeholder_const, r=compiler-errors

make `PlaceholderConst` not store the type of the const

Currently the `Placeholder` variant on `ConstKind` is 28 bytes when with this PR its 8 bytes, i am not sure this is really useful at all rn since `Unevaluated` and `Value` variants are huge still but eventually it should be possible to get both down to 16 bytes :thinking:. Mostly opening this to see if this change has any perf impact when done before it can make `ConstKind`/`ConstS` smaller

22 months agoRemove Clean trait implementation for ast::Attribute and cleanup Attributes::from_ast...
Guillaume Gomez [Sun, 31 Jul 2022 23:59:33 +0000 (01:59 +0200)]
Remove Clean trait implementation for ast::Attribute and cleanup Attributes::from_ast function by splitting it in two

22 months agoRemove Clean trait implementation for hir::Lifetime
Guillaume Gomez [Tue, 2 Aug 2022 10:55:25 +0000 (12:55 +0200)]
Remove Clean trait implementation for hir::Lifetime

22 months agoRemove Clean trait implementation for ty::TraitRef
Guillaume Gomez [Tue, 2 Aug 2022 10:42:36 +0000 (12:42 +0200)]
Remove Clean trait implementation for ty::TraitRef

22 months agoAuto merge of #99977 - BlackHoleFox:cfte-cstr, r=thomcc
bors [Tue, 2 Aug 2022 09:07:31 +0000 (09:07 +0000)]
Auto merge of #99977 - BlackHoleFox:cfte-cstr, r=thomcc

Add validation to const fn CStr creation

Improves upon the existing validation that only worked when building the stdlib from source. `CStr::from_bytes_with_nul_unchecked` now utilizes `const_eval_select` to validate the safety requirements of the function when used as `const FOO: &CStr = CStr::from_bytes_with_nul_unchecked(b"Foobar\0");`.

This can help catch erroneous code written by accident and, assuming a new enough `rustc` in use, remove the need for boilerplate safety comments for this function in `const` contexts.

~~I think this might need a UI test, but I don't know where to put it. If this is a worth change, a perf run would be nice to make sure the `O(n)` validation isn't too bad. I didn't notice a difference building the stdlib tests locally.~~

22 months agomove [`assertions_on_result_states`] to restriction
tabokie [Mon, 1 Aug 2022 05:22:16 +0000 (13:22 +0800)]
move [`assertions_on_result_states`] to restriction

Signed-off-by: tabokie <xy.tao@outlook.com>
22 months agoRISC-V ASM test: relax label name constraint.
Tim Neumann [Tue, 2 Aug 2022 08:10:11 +0000 (10:10 +0200)]
RISC-V ASM test: relax label name constraint.

22 months agoMove if-block into closure to reduce duplicate code
Preston From [Tue, 2 Aug 2022 06:20:12 +0000 (00:20 -0600)]
Move if-block into closure to reduce duplicate code

22 months agoImprove position named arguments lint underline and formatting names
Preston From [Sat, 30 Jul 2022 04:52:46 +0000 (22:52 -0600)]
Improve position named arguments lint underline and formatting names

For named arguments used as implicit position arguments, underline both
the opening curly brace and either:
* if there is formatting, the next character (which will either be the
  closing curl brace or the `:` denoting the start of formatting args)
* if there is no formatting, the entire arg span (important if there is
  whitespace like `{  }`)

This should make it more obvious where the named argument should be.

Additionally, in the lint message, emit the formatting argument names
without a dollar sign to avoid potentially confusion.

Fixes #99907

22 months agoAuto merge of #100048 - matthiaskrgr:rollup-agimvm6, r=matthiaskrgr
bors [Tue, 2 Aug 2022 06:09:22 +0000 (06:09 +0000)]
Auto merge of #100048 - matthiaskrgr:rollup-agimvm6, r=matthiaskrgr

Rollup of 8 pull requests

Successful merges:

 - #99156 (`codegen_fulfill_obligation` expect erased regions)
 - #99293 (only run --all-targets in stage0 for Std)
 - #99779 (Fix item info pos and height)
 - #99994 (Remove `guess_head_span`)
 - #100011 (Use Parser's `restrictions` instead of `let_expr_allowed`)
 - #100017 (kmc-solid: Update `Socket::connect_timeout` to be in line with #78802)
 - #100037 (Update rustc man page to match `rustc --help`)
 - #100042 (Update books)

Failed merges:

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

22 months ago:arrow_up: rust-analyzer
Laurențiu Nicola [Tue, 2 Aug 2022 06:05:16 +0000 (09:05 +0300)]
:arrow_up: rust-analyzer

22 months agoRollup merge of #100042 - ehuss:update-books, r=ehuss
Matthias Krüger [Tue, 2 Aug 2022 05:30:47 +0000 (07:30 +0200)]
Rollup merge of #100042 - ehuss:update-books, r=ehuss

Update books

## reference

2 commits in a92be0fef439b3d8e0468d82cb24812d303520a0..f3d3953bf3b158d596c96d55ce5366f9f3f972e9
2022-07-21 19:01:23 -0700 to 2022-08-01 17:17:37 -0700
- Add `let_chains` references (rust-lang/reference#1179)
- Remove outdated warning (rust-lang/reference#1243)

## rust-by-example

18 commits in 3155db49b0d57cd82c65456ac210b69ecec5ccb1..ee342dc91e1ba1bb1e1f1318f84bbe3bfac04798
2022-07-05 20:35:53 -0300 to 2022-07-27 11:06:36 -0300
- Closure inferred twice (rust-lang/rust-by-example#1588)
- fix a syntax bug in example assembly (rust-lang/rust-by-example#1511)
- Minor grammar change in src/std/rc.md paragraph 2 (rust-lang/rust-by-example#1586)
- Fix typo in asm.md (rust-lang/rust-by-example#1585)
- Fix incorrect padding in fixed-width print (rust-lang/rust-by-example#1584)
- Update print.md (rust-lang/rust-by-example#1582)
- add-chapter-on-defaults (rust-lang/rust-by-example#1580)
- Fix typo (rust-lang/rust-by-example#1579)
- fix a compile error (rust-lang/rust-by-example#1578)
- Suggest using mod.rs pattern to share test code (rust-lang/rust-by-example#1577)
- fix a compile error in iter_any.md (rust-lang/rust-by-example#1576)
- Mention attribute like macros in attributes.md (rust-lang/rust-by-example#1574)
- Update exercise to be clearer (rust-lang/rust-by-example#1573)
- fixes link for turbofish in testcase_mapreduce.md (rust-lang/rust-by-example#1572)
- Fix inconsistency between comment and code in hello/print.md (rust-lang/rust-by-example#1571)
- Fixes a typo in print.md (rust-lang/rust-by-example#1570)
- into_iter-moves-elements (rust-lang/rust-by-example#1569)
- Fix a typo in print.md (rust-lang/rust-by-example#1568)

## rustc-dev-guide

16 commits in d5201cddace979b299ec1bf9fd8997338151aa9d..04f3cf0bb2f5a6ee2bfc4b1a6a6cd8c11d1c5531
2022-07-21 04:48:49 +0200 to 2022-07-31 07:46:57 +0200
- address review comment
- accept review suggestion
- try address review comments
- summary of chapter
- Update src/building/compiler-documenting.md
- revamp doc-build chapter
- minor fixes
- Prefer relative links
- Fix the link to clippy docs
- Fix the link to `ResolverAstLowering`
- Fix the link to `ProcMacro` trait
- Fix the link to `Lazy&lt;T&gt;`
- Add instructions to fix build errors in std after adding a new target
- Document how to build a cross-compiler
- Add documentation about Microsoft provided debuggers and CodeView/PDB… (rust-lang/rustc-dev-guide#1406)
- rust-analyzer is now a subtree

## embedded-book

2 commits in 766979590da8100998f0d662499d4a901d8d1640..befe6840874311635c417cf731377f07234ee373
2022-07-04 09:13:58 +0000 to 2022-07-25 07:51:14 +0000
- Updated instructions for running first Hardware example  (rust-embedded/book#323)
- Improved ligability for hardware.md  (rust-embedded/book#324)

22 months agoRollup merge of #100037 - fw-immunant:patch-1, r=jyn514
Matthias Krüger [Tue, 2 Aug 2022 05:30:46 +0000 (07:30 +0200)]
Rollup merge of #100037 - fw-immunant:patch-1, r=jyn514

Update rustc man page to match `rustc --help`

This brings the `--crate-type`,  `--emit`, and `--print` options' allowed arguments into sync with that printed by `rustc --help`.

c.f. the `opt::multi_s` calls for `"crate-type"`, `"emit"`, and `"print"` here: https://github.com/rust-lang/rust/blob/master/compiler/rustc_session/src/config.rs

22 months agoRollup merge of #100017 - solid-rs:patch/kmc-solid/adapt-to-78802, r=thomcc
Matthias Krüger [Tue, 2 Aug 2022 05:30:45 +0000 (07:30 +0200)]
Rollup merge of #100017 - solid-rs:patch/kmc-solid/adapt-to-78802, r=thomcc

kmc-solid: Update `Socket::connect_timeout` to be in line with #78802

Fixes the build failure of the [`*-kmc-solid_*`](https://doc.rust-lang.org/nightly/rustc/platform-support/kmc-solid.html) Tier 3 targets after #78802.

```
error[E0308]: mismatched types
   --> library\std\src\sys\solid\net.rs:234:45
    |
234 |             cvt(netc::connect(self.0.raw(), addrp, len))
    |                 -------------               ^^^^^ expected *-ptr, found union `SocketAddrCRepr`
    |                 |
    |                 arguments to this function are incorrect
    |
    = note: expected raw pointer `*const sockets::sockaddr`
                     found union `SocketAddrCRepr`
note: function defined here
   --> library\std\src\sys\solid\abi\sockets.rs:173:12
    |
    173 |     pub fn connect(s: c_int, name: *const sockaddr, namelen: socklen_t) -> c_int;
    |            ^^^^^^^
```

22 months agoRollup merge of #100011 - compiler-errors:let-chain-restriction, r=fee1-dead
Matthias Krüger [Tue, 2 Aug 2022 05:30:44 +0000 (07:30 +0200)]
Rollup merge of #100011 - compiler-errors:let-chain-restriction, r=fee1-dead

Use Parser's `restrictions` instead of `let_expr_allowed`

This also means that the `ALLOW_LET` flag is reset properly for subexpressions, so we can properly deny things like `a && (b && let c = d)`. Also the parser is a tiny bit smaller now.

It doesn't reject _all_ bad `let` expr usages, just a bit more.

cc `@c410-f3r`

22 months agoRollup merge of #99994 - TaKO8Ki:remove-guess-head-span, r=fee1-dead
Matthias Krüger [Tue, 2 Aug 2022 05:30:43 +0000 (07:30 +0200)]
Rollup merge of #99994 - TaKO8Ki:remove-guess-head-span, r=fee1-dead

Remove `guess_head_span`

follow-up to #98519

22 months agoRollup merge of #99779 - GuillaumeGomez:fix-item-info-pos-and-height, r=notriddle
Matthias Krüger [Tue, 2 Aug 2022 05:30:41 +0000 (07:30 +0200)]
Rollup merge of #99779 - GuillaumeGomez:fix-item-info-pos-and-height, r=notriddle

Fix item info pos and height

Fixes https://github.com/rust-lang/rust/issues/98266.
Fixes https://github.com/rust-lang/rust/issues/98343.

You can test it [here](https://rustdoc.crud.net/imperio/fix-item-info-pos-and-height/lib2/trait.Trait.html).

Here is a screenshot of the result:

![Screenshot from 2022-07-26 21-55-53](https://user-images.githubusercontent.com/3050060/181100624-18b8b045-5c25-4c7c-9c44-97d55d29b675.png)

r? `@jsha`

22 months agoRollup merge of #99293 - jo3bingham:issue-98720-fix, r=jyn514
Matthias Krüger [Tue, 2 Aug 2022 05:30:40 +0000 (07:30 +0200)]
Rollup merge of #99293 - jo3bingham:issue-98720-fix, r=jyn514

only run --all-targets in stage0 for Std

Repro'd the issue with `python3 x.py check --stage 1 library/std` and tested the fix with the same command.

r? `@jyn514`

I tried to implement [this solution](https://github.com/rust-lang/rust/issues/98720#issuecomment-1184435462), but didn't have any luck. I don't think I fully understood what needed to be done. However, I would love to be mentored on it since it would be a more correct solution, and I can learn more about how bootstrap works.

22 months agoRollup merge of #99156 - lcnr:omoe-wa, r=wesleywiser
Matthias Krüger [Tue, 2 Aug 2022 05:30:39 +0000 (07:30 +0200)]
Rollup merge of #99156 - lcnr:omoe-wa, r=wesleywiser

`codegen_fulfill_obligation` expect erased regions

it's a query, so by erasing regions before calling it, we get better caching.
This doesn't actually change anything as its already the status quo.

22 months agoProperly reject the `may_unwind` option in `global_asm!`
Amanieu d'Antras [Tue, 2 Aug 2022 04:25:45 +0000 (05:25 +0100)]
Properly reject the `may_unwind` option in `global_asm!`

This was accidentally accepted even though it had no effect in
`global_asm!`. The option only makes sense for `asm!` which runs within
a function.

22 months agoAuto merge of #99431 - yaahc:error-in-core, r=joshtriplett
bors [Tue, 2 Aug 2022 03:25:41 +0000 (03:25 +0000)]
Auto merge of #99431 - yaahc:error-in-core, r=joshtriplett

Remove `fn backtrace` and replace with usages of provider API

This PR is part of moving error into core and has been split to facilitate review.

22 months agoremove a `SourceMap::guess_head_span`
Takayuki Maeda [Mon, 1 Aug 2022 03:01:53 +0000 (12:01 +0900)]
remove a `SourceMap::guess_head_span`

22 months agoUpdate books
Eric Huss [Tue, 2 Aug 2022 01:57:55 +0000 (18:57 -0700)]
Update books

22 months agoAuto merge of #100033 - rylev:no-cancel-try-perf, r=Mark-Simulacrum
bors [Tue, 2 Aug 2022 00:39:17 +0000 (00:39 +0000)]
Auto merge of #100033 - rylev:no-cancel-try-perf, r=Mark-Simulacrum

Don't cancel try-perf branch if 'outdated'

`try-perf` just like the `try` branch should always run all jobs to completion. This allows us to use the branch like a queue.

r? `@Mark-Simulacrum`

22 months agoDon't cancel try-perf branch if 'outdated'
Ryan Levick [Mon, 1 Aug 2022 20:52:48 +0000 (22:52 +0200)]
Don't cancel try-perf branch if 'outdated'

22 months agoUpdate rustc man page to match `rustc --help`
Frances Wingerter [Mon, 1 Aug 2022 22:03:18 +0000 (22:03 +0000)]
Update rustc man page to match `rustc --help`

This brings the `--crate-type`,  `--emit`, and `--print` options' allowed arguments into sync with that printed by `rustc --help`.

22 months agoAuto merge of #95884 - cjgillot:assoc-item, r=lcnr
bors [Mon, 1 Aug 2022 21:43:35 +0000 (21:43 +0000)]
Auto merge of #95884 - cjgillot:assoc-item, r=lcnr

Thin `AssocItem`

This PR removes a few fields from `AssocItem` that should be easily computed using other queries.
This simplifies some of the metadata decoding.

22 months agoremove fn backtrace
Jane Losare-Lusby [Mon, 18 Jul 2022 17:52:03 +0000 (17:52 +0000)]
remove fn backtrace

22 months agoMatch on TraitItem exhaustively.
Camille GILLOT [Mon, 1 Aug 2022 17:46:10 +0000 (19:46 +0200)]
Match on TraitItem exhaustively.

22 months agoBless incremental tests.
Camille GILLOT [Sat, 30 Jul 2022 16:43:37 +0000 (18:43 +0200)]
Bless incremental tests.

22 months agoRemove trait_of_item query.
Camille GILLOT [Sat, 12 Mar 2022 23:58:21 +0000 (00:58 +0100)]
Remove trait_of_item query.

22 months agoRemove DefId from AssocItemContainer.
Camille GILLOT [Sat, 12 Mar 2022 23:52:25 +0000 (00:52 +0100)]
Remove DefId from AssocItemContainer.

22 months agoRemove visibility from AssocItem.
Camille GILLOT [Sat, 12 Mar 2022 20:40:43 +0000 (21:40 +0100)]
Remove visibility from AssocItem.

22 months agoStore associated item defaultness in impl_defaultness.
Camille GILLOT [Sat, 12 Mar 2022 18:36:11 +0000 (19:36 +0100)]
Store associated item defaultness in impl_defaultness.

22 months agofmt...
Ellen [Mon, 1 Aug 2022 19:15:58 +0000 (20:15 +0100)]
fmt...

22 months agoadd comment
Joseph Bingham [Mon, 1 Aug 2022 19:15:33 +0000 (20:15 +0100)]
add comment

22 months agoAuto merge of #99476 - dpaoliello:rawdylibvectorcall, r=michaelwoerister
bors [Mon, 1 Aug 2022 18:43:57 +0000 (18:43 +0000)]
Auto merge of #99476 - dpaoliello:rawdylibvectorcall, r=michaelwoerister

Add tests for raw-dylib with vectorcall, and fix vectorcall code generation

* Adds tests for using `raw-dylib` (#58713) with `vectorcall`.
* Fixed code generation for `vectorcall` (parameters have to be marked with `InReg`, just like `fastcall`).
* Enabled running the `raw-dylib` `fastcall` tests when using MSVC (since I had to add support in the test for running MSVC-only tests since GCC doesn't support `vectorcall`).

22 months agoAuto merge of #100024 - matthiaskrgr:rollup-36ab4wx, r=matthiaskrgr
bors [Mon, 1 Aug 2022 15:40:43 +0000 (15:40 +0000)]
Auto merge of #100024 - matthiaskrgr:rollup-36ab4wx, r=matthiaskrgr

Rollup of 8 pull requests

Successful merges:

 - #99340 (Fix ICE in Definitions::create_def)
 - #99629 (Improve `cannot move out of` error message)
 - #99864 (bootstrap: don't emit warn about duplicated deps with same/different features if some of sets actually empty)
 - #99911 (Remove some uses of `guess_head_span`)
 - #99976 (Make Rustdoc exit with correct error code when scraping examples from invalid files)
 - #100003 (Improve size assertions.)
 - #100012 (Avoid `Ty` to `String` conversions)
 - #100020 (better error when python is not found in x - issue #99648)

Failed merges:

 - #99994 (Replace `guess_head_span` with `opt_span`)

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

22 months agoRemove redundant `TransferWrapper` struct
Tomasz Miąsko [Mon, 1 Aug 2022 00:00:00 +0000 (00:00 +0000)]
Remove redundant `TransferWrapper` struct

22 months agoRollup merge of #100020 - CallumIO:issue-99648, r=jyn514
Matthias Krüger [Mon, 1 Aug 2022 14:49:35 +0000 (16:49 +0200)]
Rollup merge of #100020 - CallumIO:issue-99648, r=jyn514

better error when python is not found in x - issue #99648

`x` now shows an appropriate error message and exits, when a version of `python` is not found on the users `PATH`.

Resolves #99648

22 months agoRollup merge of #100012 - TaKO8Ki:avoid-ty-to-string-conversions, r=fee1-dead
Matthias Krüger [Mon, 1 Aug 2022 14:49:34 +0000 (16:49 +0200)]
Rollup merge of #100012 - TaKO8Ki:avoid-ty-to-string-conversions, r=fee1-dead

Avoid `Ty` to `String` conversions

follow-up to #98668

22 months agoRollup merge of #100003 - nnethercote:improve-size-assertions, r=lqd
Matthias Krüger [Mon, 1 Aug 2022 14:49:33 +0000 (16:49 +0200)]
Rollup merge of #100003 - nnethercote:improve-size-assertions, r=lqd

Improve size assertions.

- For any file with four or more size assertions, move them into a
  separate module (as is already done for `hir.rs`).
- Add some more for AST nodes and THIR nodes.
- Put the `hir.rs` ones in alphabetical order.

r? `@lqd`

22 months agoRollup merge of #99976 - willcrichton:example-analyzer, r=jyn514
Matthias Krüger [Mon, 1 Aug 2022 14:49:32 +0000 (16:49 +0200)]
Rollup merge of #99976 - willcrichton:example-analyzer, r=jyn514

Make Rustdoc exit with correct error code when scraping examples from invalid files

This PR fixes a small issue with the new Rustdoc scrape-examples feature. If a file that is being scraped has a type error, then currently that error is printed out, but the rustdoc process exits as if it succeeded. This is a problem for Cargo, which needs to track whether scraping succeeded (see rust-lang/cargo#10343).

This PR fixes the issue by checking whether an error is emitted, and aborting if so.

22 months agoRollup merge of #99911 - cjgillot:no-guess, r=davidtwco
Matthias Krüger [Mon, 1 Aug 2022 14:49:31 +0000 (16:49 +0200)]
Rollup merge of #99911 - cjgillot:no-guess, r=davidtwco

Remove some uses of `guess_head_span`

That function cuts a span at the first occurrence of `{`.  Using `def_span` is almost always more precise.

22 months agoRollup merge of #99864 - klensy:bootstrap-art-dupe, r=jyn514
Matthias Krüger [Mon, 1 Aug 2022 14:49:30 +0000 (16:49 +0200)]
Rollup merge of #99864 - klensy:bootstrap-art-dupe, r=jyn514

bootstrap: don't emit warn about duplicated deps with same/different features if some of sets actually empty

Example (https://github.com/rust-lang-ci/rust/runs/7551453940?check_suite_focus=true#step:25:15008):
```
 duplicate artifacts found when compiling a tool, this typically means that something was recompiled because a transitive dependency has different features activated than in a previous build:

the following dependencies are duplicated although they have the same features enabled:
the following dependencies have different features:
  memchr 2.5.0 (registry+https://github.com/rust-lang/crates.io-index)
    `clippy-driver` additionally enabled features {} at "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/x86_64-unknown-freebsd/release/deps/libmemchr-44aa6ff4f08e293f.rlib"
    `cargo` additionally enabled features {"use_std"} at "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools/x86_64-unknown-freebsd/release/deps/libmemchr-70e29af0fd3ef292.rlib"
```

Notice that no info printed under  `the following dependencies are duplicated although they have the same features enabled:`

22 months agoRollup merge of #99629 - obeis:issue-99470, r=compiler-errors
Matthias Krüger [Mon, 1 Aug 2022 14:49:28 +0000 (16:49 +0200)]
Rollup merge of #99629 - obeis:issue-99470, r=compiler-errors

Improve `cannot move out of` error message

Closes #99470
r? `@bjorn3`

22 months agoRollup merge of #99340 - GoldsteinE:fix-localdefid-debug-ice, r=lcnr
Matthias Krüger [Mon, 1 Aug 2022 14:49:27 +0000 (16:49 +0200)]
Rollup merge of #99340 - GoldsteinE:fix-localdefid-debug-ice, r=lcnr

Fix ICE in Definitions::create_def

`Debug` implementation for `LocalDefId` uses global `Definitions`. Normally it’s ok, but we can’t do it while holding a mutable reference to `Definitions`, since it causes ICE or deadlock (depending on whether `parallel_compiler` is enabled).

This PR effectively copies the `Debug` implementation into the problematic method. I don’t particularly love this solution (since it creates code duplication), but I don’t see any other options.

This issue was discovered when running `rustdoc` with `RUSTDOC_LOG=trace` on the following file:
```rust
pub struct SomeStruct;

fn asdf() {
    impl SomeStruct {
        pub fn qwop(&self) {
            println!("hidden function");
        }
    }
}
```

I’m not sure how to create a test for this behavior.

22 months agomake `PlaceholderConst` not store the type of the const
Ellen [Mon, 1 Aug 2022 14:42:38 +0000 (15:42 +0100)]
make `PlaceholderConst` not store the type of the const

22 months agoAdd back Send and Sync impls on ChunksMut iterators
Ben Kimock [Mon, 1 Aug 2022 13:22:48 +0000 (09:22 -0400)]
Add back Send and Sync impls on ChunksMut iterators

These were accidentally removed in #94247 because the representation was
changed from &mut [T] to *mut T, which has !Send + !Sync.

22 months agofix ICE in Definitions::create_def
Goldstein [Sat, 16 Jul 2022 18:30:17 +0000 (21:30 +0300)]
fix ICE in Definitions::create_def

22 months agoAuto merge of #99884 - nnethercote:lexer-improvements, r=matklad
bors [Mon, 1 Aug 2022 12:52:49 +0000 (12:52 +0000)]
Auto merge of #99884 - nnethercote:lexer-improvements, r=matklad

Lexer improvements

Some cleanups and small speed improvements.

r? `@matklad`

22 months agofix: better error when python not found in x
Callum Leslie [Mon, 1 Aug 2022 11:04:56 +0000 (12:04 +0100)]
fix: better error when python not found in x

chore: clean comments to be relevant

22 months agoMake Rustdoc exit with correct error code when scrape examples from invalid files
Will Crichton [Sun, 31 Jul 2022 04:12:04 +0000 (21:12 -0700)]
Make Rustdoc exit with correct error code when scrape examples from invalid files

22 months agokmc-solid: Adapt to a recent change in the `IntoInner` impl of `SocketAddr`
Tomoaki Kawada [Mon, 1 Aug 2022 06:19:25 +0000 (15:19 +0900)]
kmc-solid: Adapt to a recent change in the `IntoInner` impl of `SocketAddr`

`(x: SocketAddr).into_inner()` evaluates to `(SocketAddrCRepr,
socklen_t)` instead of `(*const sockaddr, socklen_t)` as of
commit 55e23db13.

22 months agoAuto merge of #98246 - joshtriplett:times, r=m-ou-se
bors [Mon, 1 Aug 2022 06:44:43 +0000 (06:44 +0000)]
Auto merge of #98246 - joshtriplett:times, r=m-ou-se

Support setting file accessed/modified timestamps

Add `struct FileTimes` to contain the relevant file timestamps, since
most platforms require setting all of them at once. (This also allows
for future platform-specific extensions such as setting creation time.)

Add `File::set_file_time` to set the timestamps for a `File`.

Implement the `sys` backends for UNIX, macOS (which needs to fall back
to `futimes` before macOS 10.13 because it lacks `futimens`), Windows,
and WASI.

23 months agoAuto merge of #99944 - bjorn3:hide_proc_macro_symbols, r=eddyb
bors [Mon, 1 Aug 2022 03:58:52 +0000 (03:58 +0000)]
Auto merge of #99944 - bjorn3:hide_proc_macro_symbols, r=eddyb

Limit symbols exported from proc macros

Only `__rustc_proc_macro_decls_*__` and `rust_metadata_*` need to be
exported for proc macros to work. All other symbols only increase binary
size and have the potential to conflict with symbols from the host
compiler.

Fixes https://github.com/rust-lang/rust/issues/99909
Fixes #59998

cc `@eddyb`

23 months agoavoid `Ty` to `String` conversions
Takayuki Maeda [Mon, 1 Aug 2022 03:52:30 +0000 (12:52 +0900)]
avoid `Ty` to `String` conversions