Commit Graph

220877 Commits

Author SHA1 Message Date
Matthias Krüger
297e3a1dae
Rollup merge of #109656 - weihanglo:update-cargo, r=weihanglo
Update cargo

9 commits in 15d090969743630bff549a1b068bcaa8174e5ee3..145219a9f089f8b57c09f40525374fbade1e34ae 2023-03-21 17:54:28 +0000 to 2023-03-27 01:56:36 +0000
- doc(contrib): missing quotation mark (rust-lang/cargo#11894)
- Update changelog for 1.68.2 (rust-lang/cargo#11893)
- Add the old github keys as revoked (rust-lang/cargo#11889)
- Update proptest (rust-lang/cargo#11886)
- Added new GitHub RSA Host Key (rust-lang/cargo#11883)
- doc: Fix registries.name.index for sparse (rust-lang/cargo#11880)
- docs(contrib): Replace architecture with redirects (rust-lang/cargo#11876)
- docs: fix typos in `cargo_compile/mod.rs` (rust-lang/cargo#11874)
- docs(contrub): Remove unused file (rust-lang/cargo#11873)

r? `@ghost`
2023-03-27 15:32:43 +02:00
Matthias Krüger
b885e5fdfc
Rollup merge of #109650 - Nilstrieb:i-will-not-review-your-code, r=albertlarsan68
Remove Nilstrieb from review rotation

I currently don't have enough time to be on rotation. You can still request a review from me and I may still steal PRs sometimes though.
2023-03-27 15:32:42 +02:00
Matthias Krüger
7f6b406fa1
Rollup merge of #109582 - scottmcm:local-ref-pending, r=oli-obk
Refactor: Separate `LocalRef` variant for not-evaluated-yet operands

As I was reading through this, I noticed that almost every place that was using this needed to distinguish between Some vs None in the match arm anyway, so thought that separating the cases at the variant level might be clearer instead.

I like how it ended up; let me know what you think!
2023-03-27 15:32:42 +02:00
Matthias Krüger
9c73bf9038
Rollup merge of #109580 - compiler-errors:new-solver-fixmes, r=lcnr
Remove some stale FIXMEs in new solver

Some FIXMEs are no longer needed
2023-03-27 15:32:41 +02:00
Matthias Krüger
3917644b0e
Rollup merge of #109418 - rohaquinlop:108240-rename-native.rs-to-llvm.rs, r=Mark-Simulacrum
Rename 'src/bootstrap/native.rs' to llvm.rs

Fixed #108240

Renamed 'native.rs' to 'llvm.rs', also moved `TestHelpers` to `test.rs`. Replaced all the `native.rs` occurrences at `src/bootstrap` files to `llvm.rs`
2023-03-27 15:32:41 +02:00
Matthias Krüger
84a7540a83
Rollup merge of #108625 - jyn514:config-toml-cleanups, r=albertlarsan68
More config.toml.example cleanups

- Link to more documentation
- Move `changelog-seen` into the "Global Settings" section
- Update incorrect comments on `llvm.link-shared` and `rust.debug-assertions`
- Use the correct default in the commented-out example more often
- Clarify that `docs` and `compiler-docs` only control the default, they're not a hard-off switch.
- Document `-vvv` and `local-rebuild`
- Minor improvements to doc-comments in config.toml.example

This also sets `download-rustc = false`; that was already the default, but it will be helpful in case the default changes (https://jyn.dev/2023/01/12/Bootstrapping-Rust-in-2023.html).
2023-03-27 15:32:40 +02:00
Mara Bos
6c72a002a6 Add test for span of implicit format args captures. 2023-03-27 14:57:02 +02:00
Mara Bos
769886cc35 Bless mir-opt tests.
(Only the lifetime spans changed.)
2023-03-27 14:57:02 +02:00
Mara Bos
7f395f1eff Bless UI tests. 2023-03-27 14:56:59 +02:00
Mara Bos
1b3fda4978 Use span of placeholders in format_args!() expansion. 2023-03-27 14:53:48 +02:00
Oli Scherer
5ae6caa0f0 Use the FnPtr trait to avoid implementing common traits via macros 2023-03-27 12:19:52 +00:00
Oli Scherer
9e27c6c133 Some tracing/instrument cleanups 2023-03-27 12:19:15 +00:00
lcnr
0c13565ca6 Add a builtin FnPtr trait 2023-03-27 12:16:54 +00:00
The 8472
69db91b8b2 Change advance(_back)_by to return usize instead of Result<(), usize>
A successful advance is now signalled by returning `0` and other values now represent the remaining number
of steps that couldn't be advanced as opposed to the amount of steps that have been advanced during a partial advance_by.

This simplifies adapters a bit, replacing some `match`/`if` with arithmetic. Whether this is beneficial overall depends
on whether `advance_by` is mostly used as a building-block for other iterator methods and adapters or whether
we also see uses by users where `Result` might be more useful.
2023-03-27 14:11:49 +02:00
Joshua Nelson
20ca24e3c5 More config.toml.example cleanups
- Link to more documentation
- Move `changelog-seen` into the "Global Settings" section
- Update incorrect comments on `llvm.link-shared` and
  `rust.debug-assertions`
- Use the correct default in the commented-out example more often
- Clarify that `docs` and `compiler-docs` only control the default,
  they're not a hard-off switch.
- Document `-vvv` and `local-rebuild`
- Minor improvements to doc-comments in config.toml.example

This also sets `download-rustc = false`; that was already the default,
but it will be helpful in case the default changes
(https://jyn.dev/2023/01/12/Bootstrapping-Rust-in-2023.html).
2023-03-27 07:07:49 -05:00
Raoul Strackx
64927b973b Fix LVI test post LLVM 16 update 2023-03-27 13:48:38 +02:00
Krasimir Georgiev
684e7a5461 llvm-wrapper: adapt for LLVM API change
Adapts the wrapper for the LLVM commit 377e1311d5.
2023-03-27 11:12:47 +00:00
Pietro Albini
32189d3d1a
backport 1.68.1 and 1.68.2 release notes to master 2023-03-27 13:03:04 +02:00
bors
553ecbe8ba Auto merge of #109652 - matthiaskrgr:rollup-pbw3hi3, r=matthiaskrgr
Rollup of 8 pull requests

Successful merges:

 - #97506 (Stabilize `nonnull_slice_from_raw_parts`)
 - #98651 (Follow C-RW-VALUE in std::io::Cursor example)
 - #102742 (Remove unnecessary raw pointer in __rust_start_panic arg)
 - #109587 (Use an IndexVec to debug fingerprints.)
 - #109613 (fix type suggestions in match arms)
 - #109633 (Fix "Directly go to item in search if there is only one result" setting)
 - #109635 (debuginfo: Get pointer size/align from tcx.data_layout instead of layout_of)
 - #109641 (Don't elaborate non-obligations into obligations)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2023-03-27 10:44:27 +00:00
Weihang Lo
24369232cc
Update cargo
9 commits in 15d090969743630bff549a1b068bcaa8174e5ee3..145219a9f089f8b57c09f40525374fbade1e34ae
2023-03-21 17:54:28 +0000 to 2023-03-27 01:56:36 +0000
- doc(contrib): missing quotation mark (rust-lang/cargo#11894)
- Update changelog for 1.68.2 (rust-lang/cargo#11893)
- Add the old github keys as revoked (rust-lang/cargo#11889)
- Update proptest (rust-lang/cargo#11886)
- Added new GitHub RSA Host Key (rust-lang/cargo#11883)
- doc: Fix registries.name.index for sparse (rust-lang/cargo#11880)
- docs(contrib): Replace architecture with redirects (rust-lang/cargo#11876)
- docs: fix typos in `cargo_compile/mod.rs` (rust-lang/cargo#11874)
- docs(contrub): Remove unused file (rust-lang/cargo#11873)
2023-03-27 16:06:25 +08:00
Matthias Krüger
6535e66fa5
Rollup merge of #109641 - compiler-errors:dont-elaborate-non-obl, r=oli-obk
Don't elaborate non-obligations into obligations

It's suspicious to elaborate a `PolyTraitRef` or `Predicate` into an `Obligation`, since the former does not have a param-env associated with it, but the latter does. This is a footgun that, while not being misused *currently* in the compiler, easily could be misused by someone less familiar with the elaborator's inner workings.

This PR just changes the API -- ideally, the elaborator wouldn't even have to deal with obligations if we're not elaborating obligations, but that would require a bit more abstraction than I could be bothered with today.
2023-03-27 08:46:55 +02:00
Matthias Krüger
2b7dc94535
Rollup merge of #109635 - Nilstrieb:debrrruginfo, r=compiler=errors
debuginfo: Get pointer size/align from tcx.data_layout instead of layout_of

This avoids some type interning and a query execution. It also just makes the code simpler.
2023-03-27 08:46:54 +02:00
Matthias Krüger
b39db705f5
Rollup merge of #109633 - GuillaumeGomez:fix-go-to-only-setting, r=notriddle
Fix "Directly go to item in search if there is only one result" setting

Part of #66181.

The setting was actually broken, so I fixed it when I added the GUI test.

r? `@notriddle`
2023-03-27 08:46:53 +02:00
Matthias Krüger
04b8523c46
Rollup merge of #109613 - lukas-code:match-str-to-char-suggestion, r=compiler-errors
fix type suggestions in match arms

fix https://github.com/rust-lang/rust/issues/109586
2023-03-27 08:46:53 +02:00
Matthias Krüger
32aa4c03d9
Rollup merge of #109587 - cjgillot:no-hashmap-fingerprint, r=Nilstrieb
Use an IndexVec to debug fingerprints.

Uncontroversial part of https://github.com/rust-lang/rust/pull/109050
2023-03-27 08:46:52 +02:00
Matthias Krüger
704991c959
Rollup merge of #102742 - bjorn3:cleanup_rust_start_panic, r=ChrisDenton
Remove unnecessary raw pointer in __rust_start_panic arg

It is no longer necessary as __rust_start_panic switched to the Rust abi.
2023-03-27 08:46:52 +02:00
Matthias Krüger
fe0b0428b8
Rollup merge of #98651 - mattfbacon:master, r=ChrisDenton
Follow C-RW-VALUE in std::io::Cursor example

rustc-dev-guide says to do this:

r? ``@steveklabnik``
2023-03-27 08:46:51 +02:00
Matthias Krüger
102bbbd940
Rollup merge of #97506 - JohnTitor:stabilize-nonnull-slice-from-raw-parts, r=m-ou-se,the8472
Stabilize `nonnull_slice_from_raw_parts`

FCP is done: https://github.com/rust-lang/rust/issues/71941#issuecomment-1100910416
Note that this doesn't const-stabilize `NonNull::slice_from_raw_parts` as `slice_from_raw_parts_mut` isn't const-stabilized yet. Given #67456 and #57349, it's not likely available soon, meanwhile, stabilizing only the feature makes some sense, I think.

Closes #71941
2023-03-27 08:46:50 +02:00
nils
dd5b690fc9 Remove Nilstrieb from review rotation
I currently don't have enough time to be on rotation. You can still
request a review from me and I may still steal PRs sometimes though.
2023-03-27 08:26:29 +02:00
bors
7a0600714a Auto merge of #109091 - Nilstrieb:match-on-attr, r=cjgillot
Cleanup `codegen_fn_attrs`

The `match` control flow construct has been stable since 1.0, we should use it here.

Sorry for the hard to review diff, I did try to at least split it into two commits. But looking at before-after side-by-side (instead of whatever github is doing) is probably the easiest way to make sure that I didn't forget about anything.

On top of #109088, you can wait for that
2023-03-27 05:01:19 +00:00
bors
1d5820784e Auto merge of #109643 - nikic:fix-mingw, r=pietroalbini
Limit to one link job on mingw builders

This is another attempt to work around
https://github.com/rust-lang/rust/issues/108227.

By limiting to one link job, we should be able to avoid file name clashes in mkstemp().
2023-03-26 22:00:17 +00:00
Nikita Popov
dd7db8b1df Limit to one job on mingw builders
This is another attempt to work around
https://github.com/rust-lang/rust/issues/108227.

By limiting to one link job, we should be able to avoid file name
clashes in mkstemp().
2023-03-26 23:52:59 +02:00
Michael Goulet
1ce4b37900 Don't elaborate non-obligations into obligations 2023-03-26 20:33:54 +00:00
bors
db0cbc48d4 Auto merge of #109357 - saethlin:inline-as-deref, r=thomcc
Add #[inline] to as_deref

While working on https://github.com/rust-lang/rust/pull/109247 I found an `as_deref` call in the compiler that should have been inlined. This fixes the missing inlining (but doesn't address the perf issues I was chasing).

r? `@thomcc`
2023-03-26 18:32:17 +00:00
Nilstrieb
72c917d4be debuginfo: Get pointer size/align from tcx.data_layout instead of layout_of
This avoids some type interning and a query execution. It also just
makes the code simpler.
2023-03-26 20:05:17 +02:00
bjorn3
e9815d6638 Add missing needs-asm-support annotation to ui/simple_global_asm.rs 2023-03-26 17:30:29 +00:00
bjorn3
b874502a20 Remove unnecessary raw pointer in __rust_start_panic arg
It is no longer necessary as __rust_start_panic switched to the Rust abi.
2023-03-26 16:40:18 +00:00
Guillaume Gomez
bc9eec04b7 Add GUI test for "Directly go to item in search if there is only one result" setting 2023-03-26 17:50:09 +02:00
Guillaume Gomez
28982a1e47 Fix "Directly go to item in search if there is only one result" setting 2023-03-26 17:50:09 +02:00
Alex Huang
2fe4cad77f Allow passing the --nocapture flag to compiletest 2023-03-26 09:45:53 -04:00
bors
89c2e3d3d7 Auto merge of #109626 - matthiaskrgr:rollup-k0y7bdd, r=matthiaskrgr
Rollup of 6 pull requests

Successful merges:

 - #109007 (rustdoc: skip `// some variants omitted` if enum is `#[non_exhaustive]`)
 - #109593 (Rustdoc Book refer to rustdoc::missing_doc_code_examples. Fixes #109592.)
 - #109595 (Improve "Auto-hide trait implementation documentation" GUI test)
 - #109619 (Still-further-specializable projections are ambiguous in new solver)
 - #109620 (Correct typo (`back_box` -> `black_box`))
 - #109621 (Refactor: `VariantIdx::from_u32(0)` -> `FIRST_VARIANT`)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2023-03-26 12:05:38 +00:00
Ali MJ Al-Nasrawy
2a3177a8bc tolerate region vars in implied bounds
See https://github.com/rust-lang/rust/issues/109628.
2023-03-26 14:37:24 +03:00
Ali MJ Al-Nasrawy
b20aa97d48 exhaustive match on implied bounds regions 2023-03-26 11:43:12 +03:00
Ali MJ Al-Nasrawy
9cfb5f73ba add test 2023-03-26 11:43:12 +03:00
Ali MJ Al-Nasrawy
d1743c9817 resolve regions before implied bounds 2023-03-26 11:43:12 +03:00
Ali MJ Al-Nasrawy
b197f1ac2e remove obsolete givens from regionck 2023-03-26 11:43:12 +03:00
Matthias Krüger
4aa4ce6ee2
Rollup merge of #109621 - scottmcm:update-variantidx, r=compiler-errors
Refactor: `VariantIdx::from_u32(0)` -> `FIRST_VARIANT`

Since structs are always `VariantIdx(0)`, there's a bunch of files where the only reason they had `VariantIdx` or `vec::Idx` imported at all was to get the first variant.

So this uses a constant for that, and adds some doc-comments to `VariantIdx` while I'm there, since [it doesn't have any today](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_target/abi/struct.VariantIdx.html).
2023-03-26 08:39:28 +02:00
Matthias Krüger
776a8f4eca
Rollup merge of #109620 - eievui5:patch-1, r=compiler-errors
Correct typo (`back_box` -> `black_box`)
2023-03-26 08:39:28 +02:00
Matthias Krüger
705435fe01
Rollup merge of #109619 - compiler-errors:new-solver-still-further-specializable, r=BoxyUwU
Still-further-specializable projections are ambiguous in new solver

Fixes https://github.com/rust-lang/rust/pull/108896/files#r1148450781

r? ``@BoxyUwU`` (though feel free to re-roll)

---

This can be used to create an unsound transmute function with the new solver:

```rust
#![feature(specialization)]

trait Default {
   type Id;

   fn intu(&self) -> &Self::Id;
}

impl<T> Default for T {
   default type Id = T;

   fn intu(&self) -> &Self::Id {
        self
   }
}

fn transmute<T: Default<Id = U>, U: Copy>(t: T) -> U {
    *t.intu()
}

use std::num::NonZeroU8;
fn main() {
    let s = transmute::<u8, Option<NonZeroU8>>(0);
    assert_eq!(s, None);
}
```
2023-03-26 08:39:27 +02:00
Matthias Krüger
236178698a
Rollup merge of #109595 - GuillaumeGomez:improve-gui-test-auto-hide-trait, r=notriddle
Improve "Auto-hide trait implementation documentation" GUI test

Part of #66181.

I'll start working on the `include` command for `browser-ui-test` so we can greatly reduce the duplicated code between setting tests.

r? ``@notriddle``
2023-03-26 08:39:27 +02:00