Commit graph

140352 commits

Author SHA1 Message Date
Ben Kimock
4c2d1be2a0 Emit a warning when Miri is used with optimizations 2023-03-17 18:29:12 -04:00
bors
3831a25490 Auto merge of #2817 - saethlin:rustup, r=saethlin
rustup

Doing a sync just before I do a rustc-push
2023-03-16 23:05:57 +00:00
Ben Kimock
ba1c09429e Merge from rustc 2023-03-16 19:03:22 -04:00
Ben Kimock
689f24e904 Preparing for merge from rustc 2023-03-16 19:03:17 -04:00
Neven Villani
782b869224 TB: select tests to run both TB and SB 2023-03-16 14:56:18 +01:00
Neven Villani
e243206ae3 TB: new tests 2023-03-16 14:56:18 +01:00
Neven Villani
8741303f6e TB: document TB changes in README 2023-03-16 14:56:16 +01:00
Neven Villani
8bbb0404f8 TB: integration 2023-03-16 14:54:00 +01:00
Neven Villani
0afab595b4 TB: Reborrow policy and connection to the main machine 2023-03-16 14:52:46 +01:00
Neven Villani
7d4e8b9bc0 TB: error and tree formatting 2023-03-16 14:52:46 +01:00
Neven Villani
eb3ff3ccb0 TB: tree traversal 2023-03-16 14:52:46 +01:00
Neven Villani
cd954dbf14 TB: public interface to permissions 2023-03-16 14:52:46 +01:00
Neven Villani
362863787b TB: Tree structure 2023-03-16 14:52:46 +01:00
Neven Villani
8c7104fb6c TB: Util: an efficient mapping for permissions 2023-03-16 14:52:46 +01:00
Neven Villani
8fcfd9e11d TB: encoding of the underlying state machine
+ properties about the transitions
2023-03-16 14:52:46 +01:00
bors
1203e0866e Auto merge of #106824 - m-ou-se:format-args-flatten, r=oli-obk
Flatten/inline format_args!() and (string and int) literal arguments into format_args!()

Implements https://github.com/rust-lang/rust/issues/78356

Gated behind `-Zflatten-format-args=yes`.

Part of #99012

This change inlines string literals, integer literals and nested format_args!() into format_args!() during ast lowering, making all of the following pairs result in equivalent hir:

```rust
println!("Hello, {}!", "World");
println!("Hello, World!");
```

```rust
println!("[info] {}", format_args!("error"));
println!("[info] error");
```

```rust
println!("[{}] {}", status, format_args!("error: {}", msg));
println!("[{}] error: {}", status, msg);
```

```rust
println!("{} + {} = {}", 1, 2, 1 + 2);
println!("1 + 2 = {}", 1 + 2);
```

And so on.

This is useful for macros. E.g. a `log::info!()` macro could just pass the tokens from the user directly into a `format_args!()` that gets efficiently flattened/inlined into a `format_args!("info: {}")`.

It also means that `dbg!(x)` will have its file, line, and expression name inlined:

```rust
eprintln!("[{}:{}] {} = {:#?}", file!(), line!(), stringify!(x), x); // before
eprintln!("[example.rs:1] x = {:#?}", x); // after
```

Which can be nice in some cases, but also means a lot more unique static strings than before if dbg!() is used a lot.
2023-03-16 13:46:52 +00:00
Mara Bos
653124ac44 Fix clippy. 2023-03-16 12:08:07 +01:00
Matthias Krüger
570636a586
Rollup merge of #109185 - notriddle:notriddle/primitive-tooltip, r=jsha
rustdoc: remove `std::` from primitive intra-doc link tooltips

Take the intra-doc link to the method `iter` from https://doc.rust-lang.org/nightly/std/slice/struct.Iter.html

Before: `method std::slice::iter`

After: `method slice::iter`
2023-03-16 08:57:09 +01:00
Matthias Krüger
f0205d55ce
Rollup merge of #109166 - lcnr:define_opaque_types-explicit, r=oli-obk
make `define_opaque_types` fully explicit

based on the idea of #108389. Moved `define_opaque_types` into the actual operations, e.g. `eq`, instead of `infcx.at` because normalization doesn't use `define_opaque_types` and even creates it's own `At` with a different `define_opaque_types` internally.

Somewhat surprisingly, coherence actually relies on `DefineOpaqueTypes::Yes` for soundness which was revealed because I've incorrectly used `DefineOpaqueTypes::No` in `equate_impl_headers`. It feels concerning that even though this is the case, we still sometimes use `DefineOpaqueTypes::No` in coherence. I did not look into this as part of this PR as it is purely changing the structure of the code without changing behavior in any way.

r? ```@oli-obk```
2023-03-16 08:57:07 +01:00
Matthias Krüger
6cf2f470b0
Rollup merge of #109139 - GuillaumeGomez:rustdoc-windows-wait-for-write, r=notriddle
rustdoc: DocFS: Replace rayon with threadpool and enable it for all targets

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

Switching to `threadpool` makes it a bit simpler for us to wait for all tasks in `DocFS` directly in the `Drop` implementation. I'm also curious if making all the writes into a thread pool could improve run time for rustdoc on all other platforms than Windows as well.

I'll run a perf check to see.

cc ```@ehuss```
r? ```@notriddle```
2023-03-16 08:57:06 +01:00
Matthias Krüger
aa881f16ec
Rollup merge of #108875 - notriddle:notriddle/return-trait, r=GuillaumeGomez
rustdoc: fix type search for `Option` combinators
2023-03-16 08:57:05 +01:00
Michael Howell
683c12cb91 rustdoc: remove std:: from primitive intra-doc link tooltips 2023-03-15 11:34:37 -07:00
Guillaume Gomez
e667872bfd Update docsfs module documentation 2023-03-15 16:47:14 +01:00
lcnr
d2b7604db9 always make define_opaque_types explicit 2023-03-15 14:00:15 +01:00
bors
3ad2fece14 Auto merge of #2806 - saethlin:better-install, r=RalfJung
Install binaries to the miri toolchain's sysroot

The default install produces this behavior:
```
$ cargo +miri miri --version
miri 0.1.0 (0ba1f4a0 2023-03-05)
$ cargo +nightly miri --version
miri 0.1.0 (0ba1f4a0 2023-03-05)
```
Which is not good. We've effectively erased the toolchain selection, and users may reasonably conclude that their rustup install is broken.

After this change, we now get this:
```
$ cargo +miri miri --version
miri 0.1.0 (0ba1f4a0 2023-03-05)
$ cargo +nightly miri --version
miri 0.1.0 (f63ccaf 2023-03-06)
```

Thanks `@jyn514` who all but wrote this for me.
2023-03-15 12:45:04 +00:00
Ralf Jung
3aa4de3fa8
use date-based cache key 2023-03-15 13:44:36 +01:00
Dylan DPC
a08516be86
Rollup merge of #109150 - weihanglo:update-cargo, r=weihanglo
Update cargo

14 commits in 7d3033d2e59383fd76193daf9423c3d141972a7d..4a3c588b1f0a8e2dc8dd8789dbf3b6a71b02ed49
2023-03-08 17:05:08 +0000 to 2023-03-14 14:05:36 +0000
- ci: make clean-test-output a script for reuse (rust-lang/cargo#11848)
- Accurately show status when downgrading dependencies (rust-lang/cargo#11839)
- docs(contrib): Move Design Principles earlier in the book (rust-lang/cargo#11842)
- docs(contrib): Point compilation docs to doc comments (rust-lang/cargo#11841)
- `cargo install --git` multiple packages with binaries found hint (rust-lang/cargo#11835)
- Disable flaky auth tests when `gitoxide` runs them (rust-lang/cargo#11830)
- Add some documentation on writing cross-compilation tests (rust-lang/cargo#11825)
- chore: Use sparse protocol on stable CI (rust-lang/cargo#11829)
- Notice for potential unexpected shell expansions in help text of `cargo-add` (rust-lang/cargo#11826)
- Add tracking issue to gitoxide unstable docs (rust-lang/cargo#11822)
- Bump crates-io to 0.36.0 (rust-lang/cargo#11820)
- Bump to 0.71.0; update changelog (rust-lang/cargo#11815)
- docs(contrib): Move overview to lib (rust-lang/cargo#11809)
- Fix semver check for 1.68 (rust-lang/cargo#11817)

r? `@ghost`
2023-03-15 17:51:33 +05:30
Dylan DPC
d133c36fa9
Rollup merge of #109111 - MU001999:master, r=jyn514
Create dirs for build_triple

Fixes #109103
2023-03-15 17:51:32 +05:30
Dylan DPC
c11399b2e2
Rollup merge of #108991 - ozkanonur:new-llvm-flag, r=albertlarsan68
add `enable-warnings` flag for llvm, and disable it by default.

This flag allows to turn off warnings of llvm compilation for people who are not interested on those warnings.
2023-03-15 17:51:31 +05:30
ozkanonur
2e7249fa0f add enable-warnings flag for llvm
Signed-off-by: ozkanonur <work@onurozkan.dev>
2023-03-15 13:20:02 +03:00
Ben Kimock
f18c39e98c Merge from rustc 2023-03-14 20:58:48 -04:00
Ben Kimock
a96b6a4449 Preparing for merge from rustc 2023-03-14 20:58:47 -04:00
Ben Kimock
43dff4f78f Don't use CI caches from before this branch 2023-03-14 19:22:25 -04:00
Ben Kimock
3ff7d3da54 Update docs to match
Co-authored-by: Ralf Jung <post@ralfj.de>
2023-03-14 19:22:17 -04:00
Weihang Lo
3c7df56e11
Update cargo
14 commits in 7d3033d2e59383fd76193daf9423c3d141972a7d..4a3c588b1f0a8e2dc8dd8789dbf3b6a71b02ed49
2023-03-08 17:05:08 +0000 to 2023-03-14 14:05:36 +0000
- ci: make clean-test-output a script for reuse (rust-lang/cargo#11848)
- Accurately show status when downgrading dependencies (rust-lang/cargo#11839)
- docs(contrib): Move Design Principles earlier in the book (rust-lang/cargo#11842)
- docs(contrib): Point compilation docs to doc comments (rust-lang/cargo#11841)
- `cargo install --git` multiple packages with binaries found hint (rust-lang/cargo#11835)
- Disable flaky auth tests when `gitoxide` runs them (rust-lang/cargo#11830)
- Add some documentation on writing cross-compilation tests (rust-lang/cargo#11825)
- chore: Use sparse protocol on stable CI (rust-lang/cargo#11829)
- Notice for potential unexpected shell expansions in help text of `cargo-add` (rust-lang/cargo#11826)
- Add tracking issue to gitoxide unstable docs (rust-lang/cargo#11822)
- Bump crates-io to 0.36.0 (rust-lang/cargo#11820)
- Bump to 0.71.0; update changelog (rust-lang/cargo#11815)
- docs(contrib): Move overview to lib (rust-lang/cargo#11809)
- Fix semver check for 1.68 (rust-lang/cargo#11817)
2023-03-14 22:54:57 +00:00
Guillaume Gomez
50f7520526 rustdoc: DocFS: Replace rayon with threadpool and enable it for all targets 2023-03-14 20:28:00 +01:00
Matthias Krüger
e006ee9be8
Rollup merge of #108722 - petrhosek:fuchsia-riscv, r=petrochenkov
Support for Fuchsia RISC-V target

Fuchsia is in the process of implementing the RISC-V support. This change implements the minimal Rust compiler support. The support for building runtime libraries will be implemented in follow up changes once Fuchsia SDK has the RISC-V support.
2023-03-14 17:40:03 +01:00
bors
669e751639 Auto merge of #104833 - Swatinem:async-identity-future, r=compiler-errors
Remove `identity_future` indirection

This was previously needed because the indirection used to hide some unexplained lifetime errors, which it turned out were related to the `min_choice` algorithm.

Removing the indirection also solves a couple of cycle errors, large moves and makes async blocks support the `#[track_caller]`annotation.

Fixes https://github.com/rust-lang/rust/issues/104826.
2023-03-14 10:12:58 +00:00
Mu001999
a4692f46c4 Create dir for build_triple 2023-03-14 11:22:45 +08:00
bors
c54af457d0 Auto merge of #109097 - matthiaskrgr:rollup-6ydc4ri, r=matthiaskrgr
Rollup of 9 pull requests

Successful merges:

 - #108419 (Stabilize `atomic_as_ptr`)
 - #108507 (use `as_ptr` to determine the address of atomics)
 - #108607 (Don't use fd-lock on Solaris in bootstrap)
 - #108830 (Treat projections with infer as placeholder during fast reject in new solver)
 - #109055 (create `config::tests::detect_src_and_out` test for bootstrap)
 - #109058 (Document BinOp::is_checkable)
 - #109081 (simd-wide-sum test: adapt for LLVM 17 codegen change)
 - #109083 (Update books)
 - #109088 (Gracefully handle `#[target_feature]` on statics)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2023-03-14 00:30:46 +00:00
Matthias Krüger
f6f238fbc0
Rollup merge of #109083 - rustbot:docs-update, r=ehuss
Update books

## rust-lang/nomicon

1 commits in 79b53665a7c61d171fb8c5ad0b73b371f9ee6ba7..1f3e4cd4fd88b5b5d45feb86a11b6d2f93e5a974
2023-03-12 21:51:29 UTC to 2023-03-12 21:51:29 UTC

- Change incorrect reference to "above" in ffi.md (rust-lang/nomicon#404)

## rust-lang/reference

4 commits in a9afb04b47a84a6753e4dc657348c324c876102c..24c87f6663aed55b05d2cc286878f28f21918825
2023-03-11 13:53:24 UTC to 2023-02-28 16:07:20 UTC

- Document movbe target feature (rust-lang/reference#1336)
- fix typo (rust-lang/reference#1339)
- fix: Typo/reference (rust-lang/reference#1338)
- Document `cmpxchg16b` target feature (rust-lang/reference#1331)

## rust-lang/rustc-dev-guide

13 commits in b06dab84083390e0ee1e998f466545a8a1a76a9f..b1b6d693cd1461e53de4132c1b183ace31cd36e5
2023-03-13 02:42:00 UTC to 2023-03-03 11:12:51 UTC

- Rename `config.toml.example` to `config.example.toml` (rust-lang/rustc-dev-guide#1641)
- fix typo `SubstRef` to `SubstsRef` (rust-lang/rustc-dev-guide#1642)
- tracing log along diff crates (rust-lang/rustc-dev-guide#1640)
- Fix Rust Analyzer settings location (rust-lang/rustc-dev-guide#1637)
- Reflect the changes in rust-lang/rust#67000 (rust-lang/rustc-dev-guide#1632)
- improve capacity note (rust-lang/rustc-dev-guide#1634)
- Remove mention to lexer/parser refactoring (rust-lang/rustc-dev-guide#1629)
- Update date reference about infer context variables (rust-lang/rustc-dev-guide#1630)
- Update explnation about `Body.basic_blocks` (rust-lang/rustc-dev-guide#1631)
- Add detail to contributing guide (rust-lang/rustc-dev-guide#1628)
- Making the sentence more clear (rust-lang/rustc-dev-guide#1624)
- Fixed typing error (rust-lang/rustc-dev-guide#1623)
- update error code docs to reflect recent changes (rust-lang/rustc-dev-guide#1625)
2023-03-13 21:55:38 +01:00
Matthias Krüger
f33292fa5d
Rollup merge of #109055 - ozkanonur:detect_src_and_out, r=albertlarsan68
create `config::tests::detect_src_and_out` test for bootstrap

Resolves one of the `FIXME` in bootstrap
2023-03-13 21:55:37 +01:00
Matthias Krüger
6cec8cb5c2
Rollup merge of #108830 - compiler-errors:new-solver-fast-reject-faster, r=lcnr
Treat projections with infer as placeholder during fast reject in new solver

r? ``@lcnr``

Kind of a shame that we need to change all of the call sites for `for_each_relevant_impl`, etc. to pass an extra parameter. I guess I could have the "default" fn which calls a configurable fn?
2023-03-13 21:55:36 +01:00
Matthias Krüger
b4c7fc4ea1
Rollup merge of #108607 - psumbera:solaris-no-flock-bootstrap, r=albertlarsan68
Don't use fd-lock on Solaris in bootstrap

...as Solaris is missing flock()

fixes #103630
2023-03-13 21:55:36 +01:00
Nilstrieb
58884a30a0 Revert "enable ThinLTO for rustc on x86_64-pc-windows-msvc dist builds"
This lead to a miscompilation in at least `char::is_whitespace` and
probably in more unknown places.....

This reverts commit 684663ed38.
2023-03-13 21:18:54 +01:00
rustbot
f044156487 Update books 2023-03-13 13:00:51 -04:00
bors
8efa635b40 Auto merge of #109069 - lnicola:rust-analyzer-2023-03-13, r=lnicola
⬆️ `rust-analyzer`

r? `@ghost`
2023-03-13 16:54:43 +00:00
Petr Sumbera
04dfedb3e9 Don't use fd-lock on Solaris in bootstrap
...as Solaris is missing flock()

fixes #103630
2023-03-13 17:43:04 +01:00
Michael Goulet
84d254ead0 Better names? 2023-03-13 16:34:16 +00:00
Michael Goulet
c32527fb92 Treat projections with infer as placeholder during fast reject in new solver 2023-03-13 16:34:16 +00:00