]> git.lizzy.rs Git - rust.git/log
rust.git
2 years agonote to future self
Ralf Jung [Sat, 28 May 2022 16:15:04 +0000 (18:15 +0200)]
note to future self

2 years agoptr::invalid is not equivalent to a int2ptr cast
Ralf Jung [Sat, 28 May 2022 10:39:36 +0000 (12:39 +0200)]
ptr::invalid is not equivalent to a int2ptr cast

2 years agoAuto merge of #97465 - jyn514:dist-ra, r=Mark-Simulacrum
bors [Sat, 28 May 2022 06:45:15 +0000 (06:45 +0000)]
Auto merge of #97465 - jyn514:dist-ra, r=Mark-Simulacrum

Fix `x dist --stage 1 src/tools/rust-analyzer`

Previously, this would break because the submodule wasn't checked out.

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

2 years agoAuto merge of #97284 - b-naber:constraint-dyn-impl-suggestion, r=estebank
bors [Sat, 28 May 2022 04:04:29 +0000 (04:04 +0000)]
Auto merge of #97284 - b-naber:constraint-dyn-impl-suggestion, r=estebank

Add suggestion for relaxing static lifetime bounds on dyn trait impls in NLL

This PR introduces suggestions for relaxing static lifetime bounds on impls of dyn trait items for NLL similar to what is already available in lexical region diagnostics.

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

r? `@estebank`

2 years agoAuto merge of #97433 - GuillaumeGomez:rm-refcell-context, r=notriddle
bors [Sat, 28 May 2022 01:37:09 +0000 (01:37 +0000)]
Auto merge of #97433 - GuillaumeGomez:rm-refcell-context, r=notriddle

Pass Context as a &mut to allow to remove RefCell fields

Fixes #90323.

r? `@notriddle`

2 years agoAuto merge of #97468 - matthiaskrgr:rollup-8cu0hqr, r=matthiaskrgr
bors [Fri, 27 May 2022 23:17:18 +0000 (23:17 +0000)]
Auto merge of #97468 - matthiaskrgr:rollup-8cu0hqr, r=matthiaskrgr

Rollup of 6 pull requests

Successful merges:

 - #95214 (Remove impossible panic note from `Vec::append`)
 - #97411 (Print stderr consistently)
 - #97453 (rename `TyKind` to `RegionKind` in comment in rustc_middle)
 - #97457 (Add regression test for #81899)
 - #97458 (Modify `derive(Debug)` to use `Self` in struct literal to avoid redundant error)
 - #97462 (Add more eslint rules)

Failed merges:

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

2 years agoRollup merge of #97462 - GuillaumeGomez:more-eslint-rules, r=notriddle
Matthias Krüger [Fri, 27 May 2022 23:11:51 +0000 (01:11 +0200)]
Rollup merge of #97462 - GuillaumeGomez:more-eslint-rules, r=notriddle

Add more eslint rules

The last one is the most useful of this batch. :)

Here are the links for the eslint rules:

 * [arrow-parens](https://eslint.org/docs/rules/arrow-parens)
 * [no-unused-vars](https://eslint.org/docs/rules/no-unused-vars)
 * [eqeqeq](https://eslint.org/docs/rules/eqeqeq)

r? `@notriddle`

2 years agoRollup merge of #97458 - estebank:use-self-in-derive-macro, r=compiler-errors
Matthias Krüger [Fri, 27 May 2022 23:11:50 +0000 (01:11 +0200)]
Rollup merge of #97458 - estebank:use-self-in-derive-macro, r=compiler-errors

Modify `derive(Debug)` to use `Self` in struct literal to avoid redundant error

Reduce verbosity in #97343.

2 years agoRollup merge of #97457 - JohnTitor:issue-81899, r=compiler-errors
Matthias Krüger [Fri, 27 May 2022 23:11:49 +0000 (01:11 +0200)]
Rollup merge of #97457 - JohnTitor:issue-81899, r=compiler-errors

Add regression test for #81899

Closes #81899
r? `@compiler-errors`

2 years agoRollup merge of #97453 - lcnr:comment, r=jackh726
Matthias Krüger [Fri, 27 May 2022 23:11:48 +0000 (01:11 +0200)]
Rollup merge of #97453 - lcnr:comment, r=jackh726

rename `TyKind` to `RegionKind` in comment in rustc_middle

2 years agoRollup merge of #97411 - raiyansayeed:print-stderr-consistently, r=Mark-Simulacrum
Matthias Krüger [Fri, 27 May 2022 23:11:47 +0000 (01:11 +0200)]
Rollup merge of #97411 - raiyansayeed:print-stderr-consistently, r=Mark-Simulacrum

Print stderr consistently

Solves https://github.com/rust-lang/rust/issues/96712

I tried to follow what I perceived as the general consensus for error messages in boostrap i.e messages that were ..
* resulting from an Err(...) =>
* literally called as "Error: ...."
* by the end of the block scope forced to run a panic! or process::exit with a guaranteed non-zero error code.

2 years agoRollup merge of #95214 - tbu-:pr_vec_append_doc, r=Mark-Simulacrum
Matthias Krüger [Fri, 27 May 2022 23:11:46 +0000 (01:11 +0200)]
Rollup merge of #95214 - tbu-:pr_vec_append_doc, r=Mark-Simulacrum

Remove impossible panic note from `Vec::append`

Neither the number of elements in a vector can overflow a `usize`, nor
can the amount of elements in two vectors.

2 years agoFix `x dist --stage 1 src/tools/rust-analyzer`
Joshua Nelson [Fri, 27 May 2022 22:47:31 +0000 (17:47 -0500)]
Fix `x dist --stage 1 src/tools/rust-analyzer`

Previously, this would break because the submodule wasn't checked out.

2 years agoAdd "eqeqeq" eslint rule
Guillaume Gomez [Fri, 27 May 2022 20:30:19 +0000 (22:30 +0200)]
Add "eqeqeq" eslint rule

2 years agoAdd "no-unused-vars" eslint rule
Guillaume Gomez [Fri, 27 May 2022 20:22:22 +0000 (22:22 +0200)]
Add "no-unused-vars" eslint rule

2 years agoAdd "arrow-parens" eslint rule
Guillaume Gomez [Fri, 27 May 2022 20:21:41 +0000 (22:21 +0200)]
Add "arrow-parens" eslint rule

2 years agoPass Context as a &mut to allow to remove RefCell fields
Guillaume Gomez [Thu, 26 May 2022 18:18:00 +0000 (20:18 +0200)]
Pass Context as a &mut to allow to remove RefCell fields

2 years agoAuto merge of #96790 - lqd:update_jemalloc, r=Mark-Simulacrum
bors [Fri, 27 May 2022 18:28:12 +0000 (18:28 +0000)]
Auto merge of #96790 - lqd:update_jemalloc, r=Mark-Simulacrum

Update jemalloc to v5.3

Now that `jemalloc` version 5.3 has been released, this PR updates `tikv-jemalloc-sys` to the corresponding release.

The crates.io publishing issue seems to have been resolved for the `jemalloc-sys` package, and version 5.3.0 is now also available under the historical name (and should become the preferred crate to be used). Therefore, this PR also switches back to using `jemalloc-sys` instead of  `tikv-jemalloc-sys`.

2 years agoModify `derive(Debug)` to use `Self` in struct literal to avoid redundant error
Esteban Küber [Fri, 27 May 2022 17:48:12 +0000 (10:48 -0700)]
Modify `derive(Debug)` to use `Self` in struct literal to avoid redundant error

#97343

2 years agoAdd test for #97343
Esteban Küber [Fri, 27 May 2022 17:47:05 +0000 (10:47 -0700)]
Add test for #97343

2 years agoAdd regression test for #81899
Yuki Okushi [Fri, 27 May 2022 16:32:15 +0000 (01:32 +0900)]
Add regression test for #81899

2 years agofix comment
lcnr [Fri, 27 May 2022 14:36:59 +0000 (16:36 +0200)]
fix comment

2 years agoAuto merge of #96046 - oli-obk:const_typeck, r=cjgillot
bors [Fri, 27 May 2022 11:31:37 +0000 (11:31 +0000)]
Auto merge of #96046 - oli-obk:const_typeck, r=cjgillot

Move various checks to typeck so them failing causes the typeck result to get tainted

Fixes #69487
fixes #79047

cc `@RalfJung` this gets rid of the `Transmute` invalid program error variant

2 years agoUpdate tests on aarch64
Oli Scherer [Fri, 27 May 2022 09:18:11 +0000 (09:18 +0000)]
Update tests on aarch64

2 years agoAuto merge of #97442 - hafeoz:master, r=GuillaumeGomez
bors [Fri, 27 May 2022 08:50:51 +0000 (08:50 +0000)]
Auto merge of #97442 - hafeoz:master, r=GuillaumeGomez

Fix multiline attributes processing in doctest

Fixes #97440.

It seems like the call to `check_if_attr_is_complete` is not provided with the correct argument: the pending attribute should be passed, while the current line is actually being passed. This causes any attribute with more than 2 lines to fail and produces ICE when running through doctest.

2 years agoAuto merge of #97004 - nnethercote:proc-macro-tweaks, r=eddyb
bors [Fri, 27 May 2022 06:09:45 +0000 (06:09 +0000)]
Auto merge of #97004 - nnethercote:proc-macro-tweaks, r=eddyb

Proc macro tweaks

Various improvements I spotted while looking through the proc macro code.

r? `@eddyb`

2 years agoCut down `associated_item`.
Nicholas Nethercote [Mon, 16 May 2022 21:42:57 +0000 (07:42 +1000)]
Cut down `associated_item`.

The part of it dealing with types obfuscates and makes the code less
concise. This commit removes that part.

2 years agoRemove unnecessary blank line.
Nicholas Nethercote [Mon, 16 May 2022 22:39:57 +0000 (08:39 +1000)]
Remove unnecessary blank line.

2 years agoRename `b` as `buf` in several places.
Nicholas Nethercote [Wed, 18 May 2022 23:03:26 +0000 (09:03 +1000)]
Rename `b` as `buf` in several places.

Because it's easy to confuse with `bridge`.

2 years agoAdd some comments about `_marker` fields.
Nicholas Nethercote [Sun, 15 May 2022 23:36:52 +0000 (09:36 +1000)]
Add some comments about `_marker` fields.

There is some non-obvious information required to understand them.

2 years agoClarify a comment.
Nicholas Nethercote [Fri, 13 May 2022 05:57:55 +0000 (15:57 +1000)]
Clarify a comment.

`reverse_encode` isn't necessary to please the borrow checker, it's to
match the ordering done by `reverse_decode`.

2 years agoRename `ProcMacroDerive` as `DeriveProcMacro`.
Nicholas Nethercote [Mon, 16 May 2022 01:56:36 +0000 (11:56 +1000)]
Rename `ProcMacroDerive` as `DeriveProcMacro`.

So it matches the existing `AttrProcMacro` and `BangProcMacro` types.

2 years agoRename `ProcMacro` trait as `BangProcMacro`.
Nicholas Nethercote [Fri, 13 May 2022 04:07:56 +0000 (14:07 +1000)]
Rename `ProcMacro` trait as `BangProcMacro`.

Similar to the existing `AttrProcMacro` trait.

2 years agoSimplify types in `proc_macro_harness.rs`.
Nicholas Nethercote [Fri, 13 May 2022 01:45:51 +0000 (11:45 +1000)]
Simplify types in `proc_macro_harness.rs`.

This gives the more obvious derive/attr/bang distinction, and reduces
code size slightly.

2 years agoMake `Buffer<T>` non-generic.
Nicholas Nethercote [Thu, 12 May 2022 23:38:02 +0000 (09:38 +1000)]
Make `Buffer<T>` non-generic.

`u8` is the only type that makes sense for `T`, as demonstrated by the
fact that several impls and functions are hardwired to `Buffer<u8>`.

2 years agoImprove formatting in `associated_item!` definition.
Nicholas Nethercote [Fri, 13 May 2022 00:21:38 +0000 (10:21 +1000)]
Improve formatting in `associated_item!` definition.

2 years agoAdd some comments.
Nicholas Nethercote [Fri, 13 May 2022 00:07:45 +0000 (10:07 +1000)]
Add some comments.

2 years agoFix a typo in a comment.
Nicholas Nethercote [Thu, 12 May 2022 23:44:17 +0000 (09:44 +1000)]
Fix a typo in a comment.

2 years agoAuto merge of #97444 - compiler-errors:rollup-2gvdav6, r=compiler-errors
bors [Fri, 27 May 2022 03:27:04 +0000 (03:27 +0000)]
Auto merge of #97444 - compiler-errors:rollup-2gvdav6, r=compiler-errors

Rollup of 3 pull requests

Successful merges:

 - #96051 (Use rounding in float to Duration conversion methods)
 - #97066 (rustdoc: Remove `ItemFragment(Kind)`)
 - #97436 (Update `triagebot.toml` for macos ping group)

Failed merges:

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

2 years agoRollup merge of #97436 - compiler-errors:macos-ping-2, r=Mark-Simulacrum
Michael Goulet [Fri, 27 May 2022 03:15:09 +0000 (20:15 -0700)]
Rollup merge of #97436 - compiler-errors:macos-ping-2, r=Mark-Simulacrum

Update `triagebot.toml` for macos ping group

idk what i'm doing but i saw https://github.com/rust-lang/rust/pull/96392#issuecomment-1138893845

cc: `@thomcc`

2 years agoRollup merge of #97066 - petrochenkov:nofragkind, r=camelid
Michael Goulet [Fri, 27 May 2022 03:15:08 +0000 (20:15 -0700)]
Rollup merge of #97066 - petrochenkov:nofragkind, r=camelid

rustdoc: Remove `ItemFragment(Kind)`

And stop using `write!` when rendering URL fragments to avoid impossible errors.

2 years agoRollup merge of #96051 - newpavlov:duration_rounding, r=nagisa,joshtriplett
Michael Goulet [Fri, 27 May 2022 03:15:07 +0000 (20:15 -0700)]
Rollup merge of #96051 - newpavlov:duration_rounding, r=nagisa,joshtriplett

Use rounding in float to Duration conversion methods

Closes #96045

2 years agofmt
Артём Павлов [Artyom Pavlov] [Fri, 27 May 2022 02:15:22 +0000 (05:15 +0300)]
fmt

2 years agofix nanos overflow for f64
Артём Павлов [Artyom Pavlov] [Fri, 27 May 2022 01:59:01 +0000 (04:59 +0300)]
fix nanos overflow for f64

2 years agoAuto merge of #96298 - petrochenkov:fromgen, r=estebank
bors [Fri, 27 May 2022 01:01:15 +0000 (01:01 +0000)]
Auto merge of #96298 - petrochenkov:fromgen, r=estebank

libcore: Add `iter::from_generator` which is like `iter::from_fn`, but for coroutines instead of functions

An equally useful little helper.

I didn't follow any of the async-wg work, so I don't know why something like this wasn't added before.

2 years agoadd debug asserts
Artyom Pavlov [Fri, 27 May 2022 00:22:56 +0000 (00:22 +0000)]
add debug asserts

2 years agolibcore: Add `iter::from_generator` which is like `iter::from_fn`, but for coroutines...
Vadim Petrochenkov [Thu, 21 Apr 2022 20:47:39 +0000 (23:47 +0300)]
libcore: Add `iter::from_generator` which is like `iter::from_fn`, but for coroutines instead of functions

2 years agoFormatting
hafeoz [Thu, 26 May 2022 22:27:41 +0000 (23:27 +0100)]
Formatting

2 years agoRemove few characters for tidy check to pass
hafeoz [Thu, 26 May 2022 22:13:37 +0000 (23:13 +0100)]
Remove few characters for tidy check to pass

2 years agoAuto merge of #97386 - nnethercote:optimize-pos-adjustments, r=bjorn3
bors [Thu, 26 May 2022 22:01:19 +0000 (22:01 +0000)]
Auto merge of #97386 - nnethercote:optimize-pos-adjustments, r=bjorn3

Optimize position adjustments

A small improvement.

r? `@bjorn3`

2 years agoAdd tests
hafeoz [Thu, 26 May 2022 21:55:29 +0000 (22:55 +0100)]
Add tests

2 years agoUse correct var for attribute completeness fn
hafeoz [Thu, 26 May 2022 21:54:31 +0000 (22:54 +0100)]
Use correct var for attribute completeness fn

2 years agoUpdate `triagebot.toml` for macos ping group
Michael Goulet [Thu, 26 May 2022 19:42:14 +0000 (12:42 -0700)]
Update `triagebot.toml` for macos ping group

2 years agoAuto merge of #97434 - matthiaskrgr:rollup-7j3y16l, r=matthiaskrgr
bors [Thu, 26 May 2022 19:33:22 +0000 (19:33 +0000)]
Auto merge of #97434 - matthiaskrgr:rollup-7j3y16l, r=matthiaskrgr

Rollup of 3 pull requests

Successful merges:

 - #96033 (Add section on common message styles for Result::expect)
 - #97354 (Updates to browser-ui-test)
 - #97424 (clippy::complexity fixes)

Failed merges:

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

2 years agoRollup merge of #97424 - matthiaskrgr:clippy_complexity_may26, r=oli-obk
Matthias Krüger [Thu, 26 May 2022 18:59:43 +0000 (20:59 +0200)]
Rollup merge of #97424 - matthiaskrgr:clippy_complexity_may26, r=oli-obk

clippy::complexity fixes

clone_on_copy
useless_format
bind_instead_of_map
filter_map_identity
useless_conversion
map_flatten
unnecessary_unwrap

2 years agoRollup merge of #97354 - GuillaumeGomez:browser-ui-test-update, r=notriddle
Matthias Krüger [Thu, 26 May 2022 18:59:42 +0000 (20:59 +0200)]
Rollup merge of #97354 - GuillaumeGomez:browser-ui-test-update, r=notriddle

Updates to browser-ui-test

I took the commits from #97317. Since the ubuntu 22.04 version, you either need to use `--no-sandbox` or use another binary to run the GUI tests. I couldn't find out why the chromium used by `browser-ui-test` isn't working anymore on this ubuntu version.

r? `@notriddle`

2 years agoRollup merge of #96033 - yaahc:expect-elaboration, r=scottmcm
Matthias Krüger [Thu, 26 May 2022 18:59:40 +0000 (20:59 +0200)]
Rollup merge of #96033 - yaahc:expect-elaboration, r=scottmcm

Add section on common message styles for Result::expect

Based on a question from https://github.com/rust-lang/project-error-handling/issues/50#issuecomment-1092339937

~~One thing I haven't decided on yet, should I duplicate this section on `Option::expect`, link to this section, or move it somewhere else and link to that location from both docs?~~: I ended up moving the section to `std::error` and referencing it from both `Result::expect` and `Option::expect`'s docs.

I think this section, when combined with the similar update I made on [`std::panic!`](https://doc.rust-lang.org/nightly/std/macro.panic.html#when-to-use-panic-vs-result) implies that we should possibly more aggressively encourage and support the "expect as precondition" style described in this section. The consensus among the libs team seems to be that panic should be used for bugs, not expected potential failure modes. The "expect as error message" style seems to align better with the panic for unrecoverable errors style where they're seen as normal errors where the only difference is a desire to kill the current execution unit (aka erlang style error handling). I'm wondering if we should be providing a panic hook similar to `human-panic` or more strongly recommending the "expect as precondition" style of expect message.

2 years agoAuto merge of #97046 - conradludgate:faster-ascii-case-conv-path, r=thomcc
bors [Thu, 26 May 2022 15:29:01 +0000 (15:29 +0000)]
Auto merge of #97046 - conradludgate:faster-ascii-case-conv-path, r=thomcc

improve case conversion happy path

Someone shared the source code for [Go's string case conversion](https://github.com/golang/go/blob/19156a54741d4f353c9e8e0860197ca95a6ee6ca/src/strings/strings.go#L558-L616).

It features a hot path for ascii-only strings (although I assume for reasons specific to go, they've opted for a read safe hot loop).

I've borrowed these ideas and also kept our existing code to provide a fast path + seamless utf-8 correct path fallback.

(Naive) Benchmarks can be found here https://github.com/conradludgate/case-conv

For the cases where non-ascii is found near the start, the performance of this algorithm does fall back to original speeds and has not had any measurable speed loss

2 years agoimprove case conversion happy path
Conrad Ludgate [Sat, 14 May 2022 17:44:31 +0000 (18:44 +0100)]
improve case conversion happy path

2 years agoAuto merge of #97168 - SparrowLii:accesses, r=cjgillot
bors [Thu, 26 May 2022 11:15:15 +0000 (11:15 +0000)]
Auto merge of #97168 - SparrowLii:accesses, r=cjgillot

omit `record_accesses` function when collecting `MonoItem`s

This PR fixes the FIXME in the impl of `record_accesses` function.
[Edit] We can call `instantiation_mode` when push the `MonoItem` into `neighbors`. This avoids extra local variables `accesses: SmallVec<[_; 128]>`

2 years agoclippy::complexity fixes
Matthias Krüger [Thu, 26 May 2022 11:14:24 +0000 (13:14 +0200)]
clippy::complexity fixes

clone_on_copy
useless_format
bind_instead_of_map
filter_map_identity
useless_conversion
map_flatten
unnecessary_unwrap

2 years agoAuto merge of #96742 - m-ou-se:bsd-no-ancillary, r=joshtriplett
bors [Thu, 26 May 2022 08:50:33 +0000 (08:50 +0000)]
Auto merge of #96742 - m-ou-se:bsd-no-ancillary, r=joshtriplett

Disable unix::net::ancillary on BSD.

See https://github.com/rust-lang/rust/issues/76915#issuecomment-1118954474

2 years agorebase, use Ty in CallArgument and re-insert static_assert_size on ConstraintCategory
b-naber [Wed, 25 May 2022 21:32:27 +0000 (23:32 +0200)]
rebase, use Ty in CallArgument and re-insert static_assert_size on ConstraintCategory

2 years agoAuto merge of #97410 - jyn514:tool-std-features, r=Mark-Simulacrum
bors [Thu, 26 May 2022 05:45:54 +0000 (05:45 +0000)]
Auto merge of #97410 - jyn514:tool-std-features, r=Mark-Simulacrum

Only allow `compiletest` to use `feature(test)`, not any other feature

Using language features occasionally causes issues when using nightly to bootstrap, rather than beta.
See #59264 for additional context.

2 years agoDisable unix::net::ancillary on BSD.
Mara Bos [Thu, 5 May 2022 19:01:07 +0000 (21:01 +0200)]
Disable unix::net::ancillary on BSD.

2 years agofix: undo old changes
Raiyan [Thu, 26 May 2022 02:12:50 +0000 (22:12 -0400)]
fix: undo old changes

2 years agofeat: refactored bootstrap files to use stderr consistently
Raiyan [Thu, 26 May 2022 02:01:55 +0000 (22:01 -0400)]
feat: refactored bootstrap files to use stderr consistently

2 years agoAuto merge of #97369 - tmiasko:codgen-ssa-atomic-ordering, r=michaelwoerister
bors [Thu, 26 May 2022 02:00:17 +0000 (02:00 +0000)]
Auto merge of #97369 - tmiasko:codgen-ssa-atomic-ordering, r=michaelwoerister

rustc_codegen_ssa: cleanup `AtomicOrdering`

* Remove unused `NotAtomic` ordering.
* Rename `Monotonic` to `Relaxed` - a Rust specific name.
* Derive copy and clone.

2 years agocall `instantiation_mode` when pushing a new mono_item
SparrowLii [Thu, 26 May 2022 01:36:54 +0000 (09:36 +0800)]
call `instantiation_mode` when pushing a new mono_item

2 years agoOnly allow `compiletest` to use `feature(test)`, not any other feature
Joshua Nelson [Wed, 25 May 2022 23:43:09 +0000 (18:43 -0500)]
Only allow `compiletest` to use `feature(test)`, not any other feature

Using language features occasionally causes issues when using nightly to bootstrap, rather than beta.
See #59264 for additional context.

2 years agoAuto merge of #97409 - GuillaumeGomez:rollup-808v9ge, r=GuillaumeGomez
bors [Wed, 25 May 2022 23:02:37 +0000 (23:02 +0000)]
Auto merge of #97409 - GuillaumeGomez:rollup-808v9ge, r=GuillaumeGomez

Rollup of 4 pull requests

Successful merges:

 - #97317 (Allow to click on setting text)
 - #97375 (Simplify implementation of `-Z gcc-ld`)
 - #97394 (Add more eslint rules)
 - #97407 (Update books)

Failed merges:

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

2 years agoAvoid adjusting file positions twice.
Nicholas Nethercote [Wed, 25 May 2022 04:01:18 +0000 (14:01 +1000)]
Avoid adjusting file positions twice.

`imported_source_files` adjusts lots of file positions, and then calls
`new_imported_source_file`, which then adjust them all again. This
commit combines the two adjustments into one, for a small perf win.

2 years agoAugment a comment.
Nicholas Nethercote [Wed, 25 May 2022 04:47:28 +0000 (14:47 +1000)]
Augment a comment.

2 years agoRollup merge of #97407 - ehuss:update-books, r=ehuss
Guillaume Gomez [Wed, 25 May 2022 22:32:12 +0000 (00:32 +0200)]
Rollup merge of #97407 - ehuss:update-books, r=ehuss

Update books

## reference

6 commits in 8e36971959ff238b5aa2575fbc7a2e09e1313e82..b74825d8f88b685e239ade00f00de68ba4cd63d4
2022-05-09 17:20:59 -0700 to 2022-05-20 14:30:30 -0700
- Inline assembly: Clarify references to quoted regs (rust-lang/reference#1191)
- Add tile registers to inline-assembly documentation (rust-lang/reference#1220)
- Upper bound on hashes in raw string literals (rust-lang/reference#1180)
- Remove footnote on warning about lifetime shadowing labels.
- Makes explanation for Spans in "Procedural Macros" clearer (rust-lang/reference#1219)
- Update "Match Expressions" to remove 'cold' (rust-lang/reference#1216)

## book

18 commits in d9415b7cbfcb4b24062683f429bd0ff535396362..b4dd5f00b87190ad5ef42cbc2a88a783c6ae57ef
2022-05-09 09:10:44 -0400 to 2022-05-24 21:37:06 -0400
- Snapshot of appendices for nostarch
- Update rust-analyzer URLs and make links less repetitive
- Correct byte string literal type. Fixes rust-lang/book#2631.
- Fix verb agreement. Fixes rust-lang/book#3176
- Propagate ch19 edits to src
- Edits to chapter 19 from nostarch
- Propagate ch18 edits to src
- Edits to ch18 from nostarch
- Propagate tech review edits to src ch5
- Responses to chapter 5 tech review
- Ch5 after tech review
- Merge branch 'ch7-edits'
- fix: mdBook authors
- Propagating ch17 edits to src
- Edits from nostarch for ch17
- Fix rust-lang/book#3152 - Wrong character used
- & is not valid inside image alt text
- Merge branch 'ch20'

## rust-by-example

2 commits in e9f93cfcf410bc092c9107b8a41a82f144c761f2..2ed26865e8c29ef939dc913a97bd321cadd72a9a
2022-05-08 18:24:06 -0300 to 2022-05-18 17:23:47 -0300
- Rework cpuid asm example. (rust-lang/rust-by-example#1542)
- chore: better description for eprint macro (rust-lang/rust-by-example#1541)

## rustc-dev-guide

11 commits in 0c02acdb6f48f03907a02ea8e537c3272b4fde9f..554c00e4805df7f7bffac7db408437d62d6dfb9a
2022-05-10 09:45:31 -0300 to 2022-05-24 17:15:35 -0700
- Cleanup rustdoc-internals
- Fix some wording on the "Incremental Compilation In Detail" page
- Exclude `tomlee.co` from link-checking (rust-lang/rustc-dev-guide#1356)
- Add note about patching dependencies and warnings. (rust-lang/rustc-dev-guide#1354)
- make sentence more simple (rust-lang/rustc-dev-guide#1353)
- Update some links and docs (rust-lang/rustc-dev-guide#1340)
- Replace a broken YouTube link (rust-lang/rustc-dev-guide#1295)
- Edit the "Compiler Source Code" chapter (rust-lang/rustc-dev-guide#1307)
- Add docs for logging of queries. (rust-lang/rustc-dev-guide#1350)
- Fix configuration names for vscode/r-a (rust-lang/rustc-dev-guide#1352)
- Update docs for deprecated attribute (rust-lang/rustc-dev-guide#1338)

2 years agoRollup merge of #97394 - GuillaumeGomez:more-eslint-rules, r=notriddle
Guillaume Gomez [Wed, 25 May 2022 22:32:11 +0000 (00:32 +0200)]
Rollup merge of #97394 - GuillaumeGomez:more-eslint-rules, r=notriddle

Add more eslint rules

This PR adds more eslint rules. Here are the explanations for each of them:

 * [space-infix-ops](https://eslint.org/docs/rules/space-infix-ops)
 * [space-before-function-paren](https://eslint.org/docs/rules/space-before-function-paren)
 * [space-before-blocks](https://eslint.org/docs/rules/space-before-blocks)
 * [comma-dangle](https://eslint.org/docs/rules/comma-dangle)
 * [comma-style](https://eslint.org/docs/rules/comma-style)
 * [max-len](https://eslint.org/docs/rules/max-len)
 * [eol-last](https://eslint.org/docs/rules/eol-last)

r? `@notriddle`

2 years agoRollup merge of #97375 - petrochenkov:zgccld, r=bjorn3
Guillaume Gomez [Wed, 25 May 2022 22:32:10 +0000 (00:32 +0200)]
Rollup merge of #97375 - petrochenkov:zgccld, r=bjorn3

Simplify implementation of `-Z gcc-ld`

- The logic is now unified for all targets (wasm targets should also be supported now)
- Additional "symlink" files like `ld64` are eliminated
- lld-wrapper is used for propagating the correct lld flavor
- Cleanup "unwrap or exit" logic in lld-wrapper

cc https://github.com/rust-lang/rust/issues/97352
r? `@bjorn3`

2 years agoRollup merge of #97317 - GuillaumeGomez:gui-settings-text-click, r=jsha
Guillaume Gomez [Wed, 25 May 2022 22:32:09 +0000 (00:32 +0200)]
Rollup merge of #97317 - GuillaumeGomez:gui-settings-text-click, r=jsha

Allow to click on setting text

You can test it [here](https://rustdoc.crud.net/imperio/gui-settings-text-click/doc/foo/index.html).

This PR allows to click on the text alongside the toggle to change it.

r? `@jsha`

2 years agoSimplify implementation of `-Z gcc-ld`
Vadim Petrochenkov [Tue, 24 May 2022 20:29:15 +0000 (23:29 +0300)]
Simplify implementation of `-Z gcc-ld`

- The logic is now unified for all targets (wasm targets should also be supported now)
- Additional "symlink" files like `ld64` are eliminated
- lld-wrapper is used for propagating the correct lld flavor
- Cleanup "unwrap or exit" logic in lld-wrapper

2 years agoAuto merge of #97403 - arlosi:update-cargo, r=ehuss
bors [Wed, 25 May 2022 20:35:49 +0000 (20:35 +0000)]
Auto merge of #97403 - arlosi:update-cargo, r=ehuss

Update cargo

10 commits in a4c1cd0eb6b18082a7e693f5a665548fe1534be4..39ad1039d9e3e1746177bf5d134af4c164f95528
2022-05-20 00:55:25 +0000 to 2022-05-25 00:50:02 +0000

* doc: discuss build script instruction order (rust-lang/cargo#10600)
* Require http-registry URLs to end with a '/' (rust-lang/cargo#10698)
* No printing executable names when running tests and benchmarks with json message format (rust-lang/cargo#10691)
* Restore proper error for crate not in local reg (rust-lang/cargo#10683)
* Update libcurl (rust-lang/cargo#10696)
* Fixed small typos (rust-lang/cargo#10693)
* fix bugs with `workspace` key and `update_toml` (rust-lang/cargo#10685)
* Bump to 0.64.0, update changelog (rust-lang/cargo#10687)
* List C compiler as a build dependency in README (rust-lang/cargo#10678)
* Add unstable `rustc-check-cfg` build script output (rust-lang/cargo#10539)

r? `@ehuss`

2 years agoUpdate books
Eric Huss [Wed, 25 May 2022 19:45:28 +0000 (12:45 -0700)]
Update books

2 years agofix broken doctest
Jane Lusby [Wed, 25 May 2022 19:20:48 +0000 (12:20 -0700)]
fix broken doctest

2 years agoupdate option and result references to expect message docs
Jane Lusby [Wed, 25 May 2022 18:37:39 +0000 (11:37 -0700)]
update option and result references to expect message docs

2 years agofix links
Jane Lusby [Wed, 25 May 2022 17:46:56 +0000 (10:46 -0700)]
fix links

2 years agoUpdate cargo
Arlo Siemsen [Wed, 25 May 2022 17:31:30 +0000 (10:31 -0700)]
Update cargo

2 years agoAuto merge of #97401 - Dylan-DPC:rollup-fh9e61o, r=Dylan-DPC
bors [Wed, 25 May 2022 16:39:37 +0000 (16:39 +0000)]
Auto merge of #97401 - Dylan-DPC:rollup-fh9e61o, r=Dylan-DPC

Rollup of 5 pull requests

Successful merges:

 - #97302 (Do writeback of Closure params before visiting the parent expression)
 - #97328 (rustc: Fix ICE in native library error reporting)
 - #97351 (Output correct type responsible for structural match violation)
 - #97398 (Add regression test for #82830)
 - #97400 (Fix a typo on Struct `Substructure`)

Failed merges:

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

2 years agobless existing test with compare-mode=nll and remove test
b-naber [Mon, 23 May 2022 07:50:32 +0000 (09:50 +0200)]
bless existing test with compare-mode=nll and remove test

2 years agoupdate tests
b-naber [Sun, 22 May 2022 15:07:35 +0000 (17:07 +0200)]
update tests

2 years agosuggest constraining dyn trait in impl in NLL
b-naber [Sun, 22 May 2022 15:04:49 +0000 (17:04 +0200)]
suggest constraining dyn trait in impl in NLL

2 years agomake TraitObject visitors public
b-naber [Sun, 22 May 2022 15:02:27 +0000 (17:02 +0200)]
make TraitObject visitors public

2 years agoadd def_id and substs to ConstraintCategory::CallArgument
b-naber [Sun, 22 May 2022 15:00:23 +0000 (17:00 +0200)]
add def_id and substs to ConstraintCategory::CallArgument

2 years agoRollup merge of #97400 - JohnTitor:typo-fix-substructure, r=cjgillot
Dylan DPC [Wed, 25 May 2022 15:37:23 +0000 (17:37 +0200)]
Rollup merge of #97400 - JohnTitor:typo-fix-substructure, r=cjgillot

Fix a typo on Struct `Substructure`

2 years agoRollup merge of #97398 - JohnTitor:issue-82830, r=compiler-errors
Dylan DPC [Wed, 25 May 2022 15:37:22 +0000 (17:37 +0200)]
Rollup merge of #97398 - JohnTitor:issue-82830, r=compiler-errors

Add regression test for #82830

Closes #82830
r? `@compiler-errors`

2 years agoRollup merge of #97351 - b-naber:adt-const-params-structural-match-violation, r=micha...
Dylan DPC [Wed, 25 May 2022 15:37:21 +0000 (17:37 +0200)]
Rollup merge of #97351 - b-naber:adt-const-params-structural-match-violation, r=michaelwoerister

Output correct type responsible for structural match violation

Previously we included the outermost type that caused a structural match violation in the error message and stated that that type must be annotated with `#[derive(Eq, PartialEq)]` even if it already had that annotation. This PR outputs the correct type in the error message.

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

2 years agoRollup merge of #97328 - petrochenkov:nativice, r=michaelwoerister
Dylan DPC [Wed, 25 May 2022 15:37:20 +0000 (17:37 +0200)]
Rollup merge of #97328 - petrochenkov:nativice, r=michaelwoerister

rustc: Fix ICE in native library error reporting

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

2 years agoRollup merge of #97302 - compiler-errors:writeback-ascending, r=cjgillot
Dylan DPC [Wed, 25 May 2022 15:37:18 +0000 (17:37 +0200)]
Rollup merge of #97302 - compiler-errors:writeback-ascending, r=cjgillot

Do writeback of Closure params before visiting the parent expression

This means that given the expression:

```
let x = |a: Vec<_>| {};
```

We will visit the HIR node for `a` before `x`, and report the ambiguity on the former instead of the latter. This also moves writeback for struct field ids and const blocks before, but the ordering of this and walking the expr doesn't seem to matter.

2 years agoFall through to check other arguments instead of bailing out on the first error
Oli Scherer [Wed, 25 May 2022 14:01:06 +0000 (14:01 +0000)]
Fall through to check other arguments instead of bailing out on the first error

2 years agoAuto merge of #94954 - SimonSapin:null-thin3, r=yaahc
bors [Wed, 25 May 2022 13:58:51 +0000 (13:58 +0000)]
Auto merge of #94954 - SimonSapin:null-thin3, r=yaahc

Extend ptr::null and null_mut to all thin (including extern) types

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

This change was accepted in https://rust-lang.github.io/rfcs/2580-ptr-meta.html

Note that this changes the signature of **stable** functions. The change should be backward-compatible, but it is **insta-stable** since it cannot (easily, at all?) be made available only through a `#![feature(…)]` opt-in.

The RFC also proposed the same change for `NonNull::dangling`, which makes sense it terms of its signature but not in terms of its implementation. `dangling` uses `align_of()` as an address. But what `align_of()` should be for extern types or whether it should be allowed at all remains an open question.

This commit depends on https://github.com/rust-lang/rust/pull/93977, which is not yet part of the bootstrap compiler. So `#[cfg]` is used to only apply the change in stage 1+. As far a I know bounds cannot be made conditional with `#[cfg]`, so the entire functions are duplicated. This is unfortunate but temporary.

Since this duplication makes it less obvious in the diff, the new definitions differ in:

* More permissive bounds (`Thin` instead of implied `Sized`)
* Different implementation
* Having `rustc_allow_const_fn_unstable(const_fn_trait_bound)`
* Having `rustc_allow_const_fn_unstable(ptr_metadata)`

2 years agoFix a typo on Struct `Substructure`
Yuki Okushi [Wed, 25 May 2022 13:25:37 +0000 (22:25 +0900)]
Fix a typo on Struct `Substructure`

2 years agoAdd regression test for #82830
Yuki Okushi [Wed, 25 May 2022 13:14:20 +0000 (22:14 +0900)]
Add regression test for #82830

2 years agoAdd new eslint rule "eol-last"
Guillaume Gomez [Wed, 25 May 2022 11:58:42 +0000 (13:58 +0200)]
Add new eslint rule "eol-last"