Commit Graph

208969 Commits

Author SHA1 Message Date
bors
bd4a56bce8 Auto merge of #2624 - WaffleLapkin:iforgor💀, r=RalfJung
Implement `ptr_mask` intrinsic

I promised I'll implement it, but then forgot 😅
2022-10-27 22:48:45 +00:00
bors
126dbdc9c7 Auto merge of #103629 - matthiaskrgr:rollup-r94tqfa, r=matthiaskrgr
Rollup of 8 pull requests

Successful merges:

 - #103110 (remove redundant Send impl for references)
 - #103255 (Clean up hidden type registration)
 - #103394 (Clarify documentation about the memory layout of `UnsafeCell`)
 - #103408 (Clean return-position `impl Trait` in traits correctly in rustdoc)
 - #103505 (rustdoc: parse self-closing tags and attributes in `invalid_html_tags`)
 - #103524 (rustc_metadata: Add struct and variant constructors to module children at encoding time)
 - #103544 (Add flag to forbid recovery in the parser)
 - #103616 (rustdoc: remove CSS workaround for Firefox 29)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2022-10-27 21:36:07 +00:00
Boxy
b3425587a6 tidy + move logic to fn 2022-10-27 22:29:16 +01:00
Boxy
ca5a6e43dd use proper spans 2022-10-27 22:18:26 +01:00
Boxy
c00ff9c4d0 DoIt 2022-10-27 21:48:47 +01:00
Philipp Krones
3f24108662
Move clippy::uninlined_format_args back to pedantic 2022-10-27 22:24:24 +02:00
Maybe Waffle
7663305dff Implement ptr_mask intrinsic 2022-10-27 23:47:50 +04:00
Camille GILLOT
cb1e7d9676 Only ban duplication across parameters. 2022-10-27 19:04:48 +00:00
Gary Guo
bfac2daef9 Ignore test on mingw32 2022-10-27 18:22:40 +01:00
Weihang Lo
4d9114fe80
Update cargo
6 commits in 9210810d1fd7b51ae0439a0a363cc50e36963455..7e484fc1a766f56dbc95380f45719698e0c82749
2022-10-25 22:31:50 +0000 to 2022-10-27 15:20:57 +0000
- fix(publish): Block until it is in index (rust-lang/cargo#11062)
- Add Accept-Encoding request header to enable compression (rust-lang/cargo#11292)
- Update contrib docs for highfive transition (rust-lang/cargo#11294)
- Migrate from highfive to triagebot (rust-lang/cargo#11293)
- Fix dupe word typos (rust-lang/cargo#11287)
- Fix confusing error messages when using -Zsparse-registry (rust-lang/cargo#11283)
2022-10-28 01:18:50 +08:00
Michael Howell
dd912add18 rustdoc: stop hiding focus outlines on non-rustdoc-toggle details tags
We really shouldn't be overriding this kind of stuff unless the browser
default is really broken (like outlining the thing that isn't clickable).
This directly reverts b8f4e74cbc.
2022-10-27 10:01:28 -07:00
Michael Goulet
4e0c27bbfd Erase regions from CallArgument, add test + bless 2022-10-27 16:26:55 +00:00
Michael Goulet
dce44faf5b Revert "Make ClosureOutlivesRequirement not rely on an unresolved type"
This reverts commit a6b5f95fb0.
2022-10-27 16:15:11 +00:00
Maybe Waffle
c8c4971073 Update miri 2022-10-27 19:10:33 +04:00
Rageking8
f4ac137f3c add test for issue 36007 2022-10-27 22:56:20 +08:00
Maybe Waffle
dc53c8f25f Update tooling 2022-10-27 18:41:26 +04:00
Michael Woerister
9117ea9758 Introduce UnordMap, UnordSet, and UnordBag (see MCP 533)
MCP 533: https://github.com/rust-lang/compiler-team/issues/533

Also, as an example, substitute UnordMap for FxHashMap in
used_trait_imports query result.
2022-10-27 13:23:26 +00:00
Matthias Krüger
ae4dc12519
Rollup merge of #103616 - rust-lang:notriddle/moz-box-sizing, r=GuillaumeGomez
rustdoc: remove CSS workaround for Firefox 29

CSS variables, which rustdoc now relies on, are only supported in Firefox 31 and later: https://www.mozilla.org/en-US/firefox/31.0/releasenotes/

This means it’s fine to also rely on unprefixed box-sizing, which is supported in Firefox 29 and later: https://www.mozilla.org/en-US/firefox/29.0/releasenotes/
2022-10-27 15:03:58 +02:00
Matthias Krüger
f9dfb6e32f
Rollup merge of #103544 - Nilstrieb:no-recovery-pls, r=compiler-errors
Add flag to forbid recovery in the parser

To start the effort of fixing #103534, this adds a new flag to the parser, which forbids the parser from doing recovery, which it shouldn't do in macros.

This doesn't add any new checks for recoveries yet and is just here to bikeshed the names for the functions here before doing more.

r? `@compiler-errors`
2022-10-27 15:03:58 +02:00
Matthias Krüger
4a01cab4b7
Rollup merge of #103524 - petrochenkov:modchild4, r=cjgillot
rustc_metadata: Add struct and variant constructors to module children at encoding time

instead of decoding time.

Continuation of https://github.com/rust-lang/rust/pull/95899.
The last time it caused some ICEs from generator use, but not everything seems ok.
2022-10-27 15:03:57 +02:00
Matthias Krüger
5623024cf8
Rollup merge of #103505 - notriddle:notriddle/rustdoc-self-closing-tags, r=GuillaumeGomez
rustdoc: parse self-closing tags and attributes in `invalid_html_tags`

Fixes #103460
2022-10-27 15:03:57 +02:00
Matthias Krüger
571771e54a
Rollup merge of #103408 - compiler-errors:rpitit-rustdoc, r=GuillaumeGomez
Clean return-position `impl Trait` in traits correctly in rustdoc

Fixes #103403
2022-10-27 15:03:56 +02:00
Matthias Krüger
c75e6f559f
Rollup merge of #103394 - Pointerbender:unsafecell-docs, r=Amanieu
Clarify documentation about the memory layout of `UnsafeCell`

This PR addresses a [comment](https://github.com/rust-lang/rust/pull/101717#issuecomment-1279908390) by `@RalfJung` in PR #101717 to further clarify the documentation of `UnsafeCell<T>`. The previous PR was merged already before we had a chance to correct this, hence this second PR :)

To goal of this PR is:

1. Split the paragraph about the memory layout of `UnsafeCell<T>` and the usage of `UnsafeCell::(raw_)get()` into two paragraphs, so that it is easier to digest for the reader.
2. Slightly simplify the previously added examples in order to reduce redundancy between the new examples and the examples that already [existed](ddd119b2fe/library/core/src/cell.rs (L1858-L1908)) before these 2 PRs (which remained untouched by both PRs).
2022-10-27 15:03:56 +02:00
Matthias Krüger
16e74c78a1
Rollup merge of #103255 - oli-obk:opaque_wrong_eq_relation, r=compiler-errors
Clean up hidden type registration

work on https://github.com/rust-lang/rust/issues/101186

Actually passing down the relation and using it instead of `eq` for the hidden type comparison has *no* effect whatsoever and allows for no further improvements at the call sites. I decided the increased complexity was not worth it and thus did not include that change in this PR.

r? `@compiler-errors`
2022-10-27 15:03:55 +02:00
Matthias Krüger
6d43dfb7bb
Rollup merge of #103110 - RalfJung:manual-send, r=thomcc
remove redundant Send impl for references

Also explain why the other instance is not redundant, move it next to the trait they are implementing, and out of the redundant module. This seems to go back all the way to 35ca50bd56, not sure why the module was added.

The instance for `&mut` is the default instance we get anyway, and we don't have anything similar for `Sync`, so IMO we should be consistent and not have the redundant instance here, either.
2022-10-27 15:03:55 +02:00
Guillaume Gomez
71e824de26 Add tests for source line numbers colors 2022-10-27 13:07:32 +02:00
Guillaume Gomez
0185be2ce4 Migrate line numbers CSS to CSS variables 2022-10-27 13:07:07 +02:00
Maybe Waffle
a17ccfa621 Accept TyCtxt instead of TyCtxtAt in Ty::is_* functions
Functions in answer:

- `Ty::is_freeze`
- `Ty::is_sized`
- `Ty::is_unpin`
- `Ty::is_copy_modulo_regions`
2022-10-27 15:06:08 +04:00
bors
0da281b606 Auto merge of #103623 - matthiaskrgr:rollup-318yc1t, r=matthiaskrgr
Rollup of 9 pull requests

Successful merges:

 - #103035 (Even nicer errors from assert_unsafe_precondition)
 - #103106 (Try to say that memory outside the AM is always exposed)
 - #103475 (Make param index generation a bit more robust)
 - #103525 (Move a wf-check into the site where the value is instantiated)
 - #103564 (library: allow some unused things in Miri)
 - #103586 (Process registered region obligation in `resolve_regions_with_wf_tys`)
 - #103592 (rustdoc: remove redundant CSS selector `.notable-traits .notable`)
 - #103593 (Remove an unused parser function (`Expr::returns`))
 - #103611 (Add test for issue 103574)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2022-10-27 10:05:16 +00:00
bors
d795f7e479 Auto merge of #2623 - RalfJung:cron, r=RalfJung
change cronjob time

This way it is again in my morning.
2022-10-27 07:38:19 +00:00
Ralf Jung
50af895ef7 change cronjob time 2022-10-27 09:36:40 +02:00
Matthias Krüger
2252f7aa78
Rollup merge of #103611 - Rageking8:fix-103574, r=lcnr
Add test for issue 103574

Fixes #103574

Together with some slight formatting.

r? `@lcnr`
2022-10-27 09:25:12 +02:00
Matthias Krüger
0f0c044228
Rollup merge of #103593 - compiler-errors:nit-remove-returns, r=fee1-dead
Remove an unused parser function (`Expr::returns`)

I removed the only usage in #97474
2022-10-27 09:25:12 +02:00
Matthias Krüger
29698dc38a
Rollup merge of #103592 - notriddle:notriddle/notable-traits-notable, r=GuillaumeGomez
rustdoc: remove redundant CSS selector `.notable-traits .notable`

The margin was already being set to 0 only a few lines lower.
2022-10-27 09:25:11 +02:00
Matthias Krüger
bf53e712c0
Rollup merge of #103586 - compiler-errors:issue-103573, r=jackh726
Process registered region obligation in `resolve_regions_with_wf_tys`

Fixes #103573
2022-10-27 09:25:11 +02:00
Matthias Krüger
8a29784400
Rollup merge of #103564 - RalfJung:miri-unused, r=thomcc
library: allow some unused things in Miri

Should help for https://github.com/rust-lang/rust/pull/102950.
2022-10-27 09:25:10 +02:00
Matthias Krüger
2bd49c34e5
Rollup merge of #103525 - oli-obk:const_impl_on_non_const_trait, r=lcnr
Move a wf-check into the site where the value is instantiated

r? ``@lcnr``
2022-10-27 09:25:10 +02:00
Matthias Krüger
d7ad6ad9ad
Rollup merge of #103475 - oli-obk:generic_param_indices, r=lcnr
Make param index generation a bit more robust

r? ````@lcnr````

While not really necessary for closure and anon const ids, it's strictly more correct
2022-10-27 09:25:09 +02:00
Matthias Krüger
0cd87148d9
Rollup merge of #103106 - saethlin:from_exposed_docs, r=thomcc
Try to say that memory outside the AM is always exposed

cc ``@Gankra`` ``@thomcc``

I want to confidently tell people that they can use `from_exposed_addr` to get a pointer for doing MMIO and/or other hardware interactions done with volatile reads/writes at particular addresses outside the Rust AM. Currently, the docs indicate that would be UB.

With this change, now the docs indicate that this is intended to be a valid use of `from_exposed_addr`.

r? ``@RalfJung``
2022-10-27 09:25:09 +02:00
Matthias Krüger
2937621aa7
Rollup merge of #103035 - saethlin:assert_unsafe_precondition3, r=thomcc
Even nicer errors from assert_unsafe_precondition

For example, now running `cargo test` with this patch I get things like:
```
$ cargo +stage1 test
    Finished test [unoptimized + debuginfo] target(s) in 0.01s
     Running unittests src/lib.rs (target/debug/deps/malloc_buf-9d105ddf86862995)

running 5 tests
thread 'tests::test_null_buf' panicked at 'unsafe precondition violated: is_aligned_and_not_null(data) &&
    crate::mem::size_of::<T>().saturating_mul(len) <= isize::MAX as usize', /home/ben/rust/library/core/src/slice/raw.rs:93:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread panicked while panicking. aborting.
error: test failed, to rerun pass `--lib`

Caused by:
  process didn't exit successfully: `/tmp/malloc_buf-1.0.0/target/debug/deps/malloc_buf-9d105ddf86862995` (signal: 6, SIGABRT: process abort signal)
```

This is still not perfect, but these are better for another PR:
* `stringify!` is trying to do clever pretty-printing on the `expr` inside `assert_unsafe_precondition` and can even add a newline.
* It would be nice to print a bit more information about where the problem is. Perhaps this is `cfg_attr(debug_assertions, track_caller)`, or perhaps it the function name added to `Location`.

cc ``@RalfJung`` this is what I was thinking of for https://github.com/rust-lang/rust/pull/102732#discussion_r989068907
2022-10-27 09:25:08 +02:00
bors
9dd3d29ec8 Auto merge of #103601 - compiler-errors:no-opaque-probe-in-nll-relate, r=oli-obk
Remove `commit_if_ok` probe from NLL type relation

It was not really necessary to add the `commit_if_ok` in #100092 -- I added it to protect us against weird inference error messages due to recursive RPIT calls, but we are always on the error path when this happens anyways, and I can't come up with an example that makes this manifest.

Fixes #103599

r? `@oli-obk` since you reviewed #100092, feel free to re-roll.

🅱️ 📢  beta-nominating this since it's on beta (which forks in ~a week~ two days 😨) -- worst case we could revert the original PR on beta and land this on nightly, to give it some extra soak time...
2022-10-27 07:24:39 +00:00
Pointerbender
166d8b8c2b add "Memory layout" subsection to documentation of UnsafeCell for additional clarity 2022-10-27 06:32:36 +02:00
Michael Howell
4d4b567bcc
rustdoc: remove CSS workaround for Firefox 29
CSS variables, which rustdoc now relies on, are only supported in Firefox 31 and later: https://www.mozilla.org/en-US/firefox/31.0/releasenotes/

This means it’s fine to also rely on unprefixed box-sizing, which is supported in Firefox 29 and later: https://www.mozilla.org/en-US/firefox/29.0/releasenotes/
2022-10-26 21:13:20 -07:00
bors
44fcfb0a96 Auto merge of #103605 - ehuss:mentions-spec, r=Mark-Simulacrum
Add Target Tier Policy notification.

This adds a notification posted to PRs when they add/modify a target spec.

This was hard-coded in highfive. I forgot to include this in https://github.com/rust-lang/rust/pull/103492.
2022-10-27 03:15:31 +00:00
Rageking8
2f2a97ee16 add tests and slight formatting 2022-10-27 10:17:27 +08:00
Ben Kimock
458aaa5a23 Print the precondition we violated, and visible through output capture
Co-authored-by: Ralf Jung <post@ralfj.de>
2022-10-26 22:09:17 -04:00
Michael Goulet
b1cc95da23 Remap early bound lifetimes too 2022-10-27 00:28:54 +00:00
bors
df57f7b438 Auto merge of #103604 - JohnTitor:rollup-q4ns2gh, r=JohnTitor
Rollup of 10 pull requests

Successful merges:

 - #103432 (rustdoc: don't mark Box<T> as Iterator, Read, etc)
 - #103526 (More dupe typos again)
 - #103537 (rustdoc: combine shared CSS between `.*-line-numbers`)
 - #103549 (llvm-16: Don't initialize removed legacy passes)
 - #103558 (Update cargo)
 - #103567 (ptr::eq: clarify that comparing dyn Trait is fragile)
 - #103579 (⬆️ rust-analyzer)
 - #103580 (Fix typo in docs for `guaranteed_ne`)
 - #103596 (thread::set_name: debug-assert that things went well)
 - #103598 (rustc_lexer::TokenKind improve docs)

Failed merges:

 - #103585 (Migrate source line numbers CSS to CSS variables)

r? `@ghost`
`@rustbot` modify labels: rollup
2022-10-26 23:58:24 +00:00
Eric Huss
27a6280eca Add Target Tier Policy notification. 2022-10-26 16:45:24 -07:00
Yuki Okushi
132883e455
Rollup merge of #103598 - tshepang:token-kind-docs, r=jackh726
rustc_lexer::TokenKind improve docs
2022-10-27 08:30:59 +09:00