Commit Graph

160812 Commits

Author SHA1 Message Date
David Tolnay
778ca204a6
Move Result::into_ok 2021-12-30 10:28:23 -08:00
David Tolnay
06ea5ebe4e
Move Result::expect_err and Result::unwrap_err 2021-12-30 10:27:43 -08:00
David Tolnay
aa2aca2c8c
Move Result::unwrap_or_default 2021-12-30 10:26:36 -08:00
David Tolnay
15f57a6c59
Move Result::expect and Result::unwrap 2021-12-30 10:25:42 -08:00
David Tolnay
5aa8f91ff0
Move Result::as_deref_mut 2021-12-30 10:24:23 -08:00
David Tolnay
eda61d8d8a
Move Result::as_deref 2021-12-30 10:23:46 -08:00
pierwill
0bac713569 Add negative impl for Ord, PartialOrd on LocalDefId
Add comment about why `LocalDefId` should not be `Ord`

Also fix some formatting in the doc comment.
2021-12-30 11:45:20 -06:00
bjorn3
92fbc8f591 Ignore new failing test_is_sorted test 2021-12-30 18:16:04 +01:00
bjorn3
0afd012837 Disable long running libcore tests
These only finish in reasonable time with optimizations enabled.

This patch file is copied from cg_clif.
2021-12-30 17:50:54 +01:00
bjorn3
d7fb7aa76d Disable portable-simd test
Support for portable-simd isn't implemented yet
2021-12-30 16:57:11 +01:00
bjorn3
a2c5d29fc9 Add missing feature gate 2021-12-30 16:41:11 +01:00
Guillaume Gomez
7c78ea5b53 Fix display of toggles on mobile 2021-12-30 16:21:50 +01:00
Guillaume Gomez
b77830d6d9 Update browser-ui-test version to have assert-position command 2021-12-30 16:21:50 +01:00
bors
b60e32c828 Auto merge of #92434 - matthiaskrgr:rollup-m8wuq0v, r=matthiaskrgr
Rollup of 4 pull requests

Successful merges:

 - #91519 (ast: Avoid aborts on fatal errors thrown from mutable AST visitor)
 - #92414 (Fix spacing of pretty printed const item without body)
 - #92423 (Add UI test for #92292)
 - #92427 (Use `UnsafeCell::get_mut()` in `core::lazy::OnceCell::get_mut()`)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2021-12-30 14:52:50 +00:00
bjorn3
31482a94a0 Import std::arch::asm 2021-12-30 15:36:30 +01:00
bjorn3
049b6aeba4 Rustup to rustc 1.59.0-nightly (78fd0f633 2021-12-29) 2021-12-30 15:30:27 +01:00
bjorn3
ebc6ad4185 Sync from rust 65d8785f0a 2021-12-30 15:25:38 +01:00
flip1995
4bb6fde5f9
Merge commit '0eff589afc83e21a03a168497bbab6b4dfbb4ef6' into clippyup 2021-12-30 15:10:43 +01:00
bjorn3
a8e6d5b04d Merge commit '40b00f4200fbdeefd11815398cb46394b8cb0a5e' into sync_cg_clif-2021-12-30 2021-12-30 14:53:41 +01:00
bors
0eff589afc Auto merge of #8196 - flip1995:rustup, r=flip1995
Rustup

r? `@ghost`

changelog: none
2021-12-30 13:22:47 +00:00
flip1995
b0f9894491
Bump nightly version -> 2021-12-30 2021-12-30 14:18:01 +01:00
flip1995
e45842e360
Merge remote-tracking branch 'upstream/master' into rustup 2021-12-30 14:17:53 +01:00
bjorn3
40b00f4200 Disable incremental compilation on CI
Fixes #1198
2021-12-30 14:07:58 +01:00
Matthias Krüger
c10fe04484
Rollup merge of #92427 - ChayimFriedman2:patch-1, r=kennytm
Use `UnsafeCell::get_mut()` in `core::lazy::OnceCell::get_mut()`

This removes one unnecessary `unsafe` block.
2021-12-30 13:12:36 +01:00
Matthias Krüger
a23ef617b3
Rollup merge of #92423 - weirane:ui-92292, r=fee1-dead
Add UI test for #92292

Closes #92292
2021-12-30 13:12:35 +01:00
Matthias Krüger
e810487b4d
Rollup merge of #92414 - dtolnay:constnoexpr, r=oli-obk
Fix spacing of pretty printed const item without body

Follow-up to #92238 fixing one of the FIXMEs.

```rust
macro_rules! repro {
    ($item:item) => {
        stringify!($item)
    };
}

fn main() {
    println!("{}", repro!(extern "C" { static S: i32; }));
}
```

Before: `extern "C" { static S: i32 ; }`
After: `extern "C" { static S: i32; }`
2021-12-30 13:12:34 +01:00
Matthias Krüger
b9f7197ab3
Rollup merge of #91519 - petrochenkov:cratexp2, r=Aaron1011
ast: Avoid aborts on fatal errors thrown from mutable AST visitor

Set the node to some dummy value and rethrow the error instead.

When using the old aborting `visit_clobber` in `InvocationCollector::visit_crate` the next tests abort due to fatal errors:
```
ui\modules\path-invalid-form.rs
ui\modules\path-macro.rs
ui\modules\path-no-file-name.rs
ui\parser\issues\issue-5806.rs
ui\parser\mod_file_with_path_attr.rs
```

Follow up to https://github.com/rust-lang/rust/pull/91313.
2021-12-30 13:12:33 +01:00
bjorn3
c63d8f3f96 Move incr comp enable to the build system 2021-12-30 13:03:32 +01:00
bjorn3
f97670a315 Don't enable optimizations in the dev profile
I rarely use the dev profile anyway.
2021-12-30 13:01:38 +01:00
bjorn3
f6d0e14b79 Fix dead code warning on windows 2021-12-30 12:56:45 +01:00
bjorn3
6b4e640dcb Only deny warnings for cg_clif build itself
cc #1213
2021-12-30 12:40:23 +01:00
bors
f8d4ee7c7a Auto merge of #89336 - Aaron1011:variance-struct-diag, r=cjgillot
Refactor variance diagnostics to work with more types

Instead of special-casing mutable pointers/references, we
now support general generic types (currently, we handle
`ty::Ref`, `ty::RawPtr`, and `ty::Adt`)

When a `ty::Adt` is involved, we show an additional note
explaining which of the type's generic parameters is
invariant (e.g. the `T` in `Cell<T>`). Currently, we don't
explain *why* a particular generic parameter ends up becoming
invariant. In the general case, this could require printing
a long 'backtrace' of types, so doing this would be
more suitable for a follow-up PR.

We still only handle the case where our variance switches
to `ty::Invariant`.
2021-12-30 11:34:24 +00:00
bjorn3
304a50b768 Rustup to rustc 1.59.0-nightly (78fd0f633 2021-12-29) 2021-12-30 12:23:45 +01:00
bjorn3
4b1a2438f8 Allow false positive unreachable code warning 2021-12-30 12:23:32 +01:00
bjorn3
40e88469ce Enforce rustfmt on CI
Fixes #1214
2021-12-30 12:11:07 +01:00
bjorn3
9bcdb53053 Rustfmt 2021-12-30 12:10:59 +01:00
bjorn3
7c62357bce Deny warnings on CI
Fixes #1213
2021-12-30 12:05:54 +01:00
bjorn3
0dd3d28cff Rename cargo executable to cargo-clif
This allows executing it like cargo clif build if you add it to your
PATH. It also fixes infinite recursion on Windows when invoking it as
Windows includes the current directory in PATH by default.

Fixes #971
2021-12-30 11:39:30 +01:00
bors
65d8785f0a Auto merge of #92377 - compiler-errors:rustdoc-lifetimes, r=camelid,jyn514
remove in_band_lifetimes from librustdoc

r? `@camelid`

closes #92368
2021-12-30 08:26:07 +00:00
Erik Desjardins
64da730a41 add test for noop drop in landing pad 2021-12-30 01:03:17 -05:00
Erik Desjardins
e4463b2453 keep noinline for system llvm < 14 2021-12-30 00:15:51 -05:00
Chayim Refael Friedman
e86ecdf9fe
Use UnsafeCell::get_mut() in core::lazy::OnceCell::get_mut()
This removes one unnecessary `unsafe` block.
2021-12-30 05:04:44 +02:00
bors
1b3a5f29dd Auto merge of #91125 - eskarn:llvm-passes-plugin-support, r=nagisa
Allow loading LLVM plugins with both legacy and new pass manager

Opening a draft PR to get feedback and start discussion on this feature. There is already a codegen option `passes` which allow giving a list of LLVM pass names, however we currently can't use a LLVM pass plugin (as described here : https://llvm.org/docs/WritingAnLLVMPass.html), the only available passes are the LLVM built-in ones.

The proposed modification would be to add another codegen option `pass-plugins`, which can be set with a list of paths to shared library files. These libraries are loaded using the LLVM function `PassPlugin::Load`, which calls the expected symbol `lvmGetPassPluginInfo`, and register the pipeline parsing and optimization callbacks.

An example usage with a single plugin and 3 passes would look like this in the `.cargo/config`:

```toml
rustflags = [
    "-C", "pass-plugins=/tmp/libLLVMPassPlugin",
    "-C", "passes=pass1 pass2 pass3",
]
```
This would give the same functionality as the opt LLVM tool directly integrated in rust build system.

Additionally, we can also not specify the `passes` option, and use a plugin which inserts passes in the optimization pipeline, as one could do using clang.
2021-12-30 02:53:09 +00:00
Caleb Cartwright
521fdcbe4d Merge commit '4a053f206fd6799a25823c307f7d7f9d897be118' into sync-rustfmt-subtree 2021-12-29 20:49:39 -06:00
Wang Ruochen
12b59b4027
Add UI test for #92292
Closes #92292
2021-12-29 16:06:26 -08:00
Aaron Hill
b15cb29a4a
Refactor variance diagnostics to work with more types
Instead of special-casing mutable pointers/references, we
now support general generic types (currently, we handle
`ty::Ref`, `ty::RawPtr`, and `ty::Adt`)

When a `ty::Adt` is involved, we show an additional note
explaining which of the type's generic parameters is
invariant (e.g. the `T` in `Cell<T>`). Currently, we don't
explain *why* a particular generic parameter ends up becoming
invariant. In the general case, this could require printing
a long 'backtrace' of types, so doing this would be
more suitable for a follow-up PR.

We still only handle the case where our variance switches
to `ty::Invariant`.
2021-12-29 18:53:40 -05:00
David Lattimore
4a053f206f Do not flatten match arm block with leading attributes
This is a backport of #4124.

Fixes #4109
2021-12-29 17:43:58 -06:00
bors
d331cb710f Auto merge of #88354 - Jmc18134:hint-space-pauth-opt, r=nagisa
Add codegen option for branch protection and pointer authentication on AArch64

The branch-protection codegen option enables the use of hint-space pointer
authentication code for AArch64 targets.
2021-12-29 22:35:11 +00:00
David Tolnay
bc1a1ff3c8
Fix whitespace in pretty printed PatKind::Range 2021-12-29 13:02:14 -08:00
Erik Desjardins
2b662217e7 Mark drop calls in landing pads cold instead of noinline
Now that deferred inlining has been disabled in LLVM,
this shouldn't cause catastrophic size blowup.
2021-12-29 15:47:49 -05:00