]> git.lizzy.rs Git - rust.git/log
rust.git
3 years agoEarly return to decrease indentation
Dániel Buga [Wed, 14 Oct 2020 08:58:12 +0000 (10:58 +0200)]
Early return to decrease indentation

3 years agoRemove weird slice conversion
Dániel Buga [Wed, 14 Oct 2020 08:48:03 +0000 (10:48 +0200)]
Remove weird slice conversion

3 years agoClean up surprising borrow
Dániel Buga [Wed, 14 Oct 2020 08:43:51 +0000 (10:43 +0200)]
Clean up surprising borrow

3 years agoAuto merge of #77850 - kornelski:resizedefault, r=dtolnay
bors [Fri, 16 Oct 2020 12:11:32 +0000 (12:11 +0000)]
Auto merge of #77850 - kornelski:resizedefault, r=dtolnay

Remove deprecated unstable Vec::resize_default

It's [been deprecated](https://github.com/rust-lang/rust/pull/57656) for 15 releases.

3 years agoAuto merge of #77809 - nasso:master, r=jyn514,guillaumegomez
bors [Fri, 16 Oct 2020 09:58:45 +0000 (09:58 +0000)]
Auto merge of #77809 - nasso:master, r=jyn514,guillaumegomez

Add settings to rustdoc to use the system theme

This PR adds new settings to `rustdoc` to use the operating system color scheme.

![click](https://user-images.githubusercontent.com/11479594/95668052-bf604e80-0b6e-11eb-8a17-473aaae510c9.gif)

`rustdoc` actually had [basic support for this](https://github.com/rust-lang/rust/blob/b1af43bc63bc7417938df056f7f25d456cc11b0e/src/librustdoc/html/static/storage.js#L121), but the setting wasn't visible and couldn't be set back once the theme was explicitly set by the user. It also didn't update if the operating system theme preference changed while viewing a page.

I'm using [this method](https://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries/Testing_media_queries#Receiving_query_notifications) to query and listen to changes to the `(prefers-color-scheme: dark)` media query. I kept the old method (based on `getComputedStyle`) as a fallback in case the user-agent doesn't support `window.matchMedia` (so like... [pretty much nobody](https://caniuse.com/?search=matchMedia)).

Since there's now more than one official ""dark"" theme in `rustdoc` (and also to support custom/third-party themes), the preferred dark and light themes can be configured in the settings page (the defaults are just "dark" and "light").

This is also my very first "proper" PR to Rust! Please let me know if I did anything wrong :).

3 years agoAuto merge of #77666 - fusion-engineering-forks:vxworks-cleanup, r=dtolnay
bors [Fri, 16 Oct 2020 07:44:35 +0000 (07:44 +0000)]
Auto merge of #77666 - fusion-engineering-forks:vxworks-cleanup, r=dtolnay

Vxworks / Unix deduplication

`sys/vxworks` was almost entirely an (outdated) copy of `sys/unix`. I went through every file to check the differences and tried to figure out if they were simply outdated or intentional differences between `unix` and `vxworks`. Most of them did not have any `vxworks`-specific changes, so are deleted. I've added some minor `cfg(target_os = "vxworks")`-specific things to `sys/unix` to allow for deduplication.

Before this change, the vxworks target didn't compile because its outdated process implementation did not match the expected interface anymore. This also fixes that: `std` compiles again for `x86_64-wrs-vxworks`.

It's probably good to merge `sys/vxworks` entirely into `sys/unix`, but it might be better to to that in a follow-up PR.

`@rustbot` modify labels: +T-libs +C-cleanup

3 years agoAuto merge of #77962 - bugadani:arena2, r=Mark-Simulacrum
bors [Fri, 16 Oct 2020 04:40:53 +0000 (04:40 +0000)]
Auto merge of #77962 - bugadani:arena2, r=Mark-Simulacrum

Remove arena's dependency on `rustc_data_structures`

`rustc_arena` currently has a dependency on `rustc_data_structures` because of a trivial "don't inline me" function. This PR copies that function and removes the dependency.

3 years agoTake some of sys/vxworks/process/* from sys/unix instead.
Mara Bos [Wed, 7 Oct 2020 18:38:25 +0000 (20:38 +0200)]
Take some of sys/vxworks/process/* from sys/unix instead.

3 years agoTake sys/vxworks/{os,path,pipe} from sys/unix instead.
Mara Bos [Wed, 7 Oct 2020 18:38:25 +0000 (20:38 +0200)]
Take sys/vxworks/{os,path,pipe} from sys/unix instead.

3 years agoTake sys/vxworks/{fd,fs,io} from sys/unix instead.
Mara Bos [Wed, 7 Oct 2020 18:38:25 +0000 (20:38 +0200)]
Take sys/vxworks/{fd,fs,io} from sys/unix instead.

3 years agoTake sys/vxworks/cmath from sys/unix instead.
Mara Bos [Wed, 7 Oct 2020 18:38:25 +0000 (20:38 +0200)]
Take sys/vxworks/cmath from sys/unix instead.

3 years agoTake sys/vxworks/args from sys/unix instead.
Mara Bos [Wed, 7 Oct 2020 18:38:25 +0000 (20:38 +0200)]
Take sys/vxworks/args from sys/unix instead.

3 years agoTake sys/vxworks/memchar from sys/unix instead.
Mara Bos [Wed, 7 Oct 2020 18:38:25 +0000 (20:38 +0200)]
Take sys/vxworks/memchar from sys/unix instead.

3 years agoTake sys/vxworks/net from sys/unix instead.
Mara Bos [Wed, 7 Oct 2020 18:38:25 +0000 (20:38 +0200)]
Take sys/vxworks/net from sys/unix instead.

3 years agoTake sys/vxworks/ext/* from sys/unix instead.
Mara Bos [Wed, 7 Oct 2020 18:38:25 +0000 (20:38 +0200)]
Take sys/vxworks/ext/* from sys/unix instead.

3 years agoAdd weak macro to vxworks.
Mara Bos [Wed, 7 Oct 2020 18:38:25 +0000 (20:38 +0200)]
Add weak macro to vxworks.

3 years agoTake sys/vxworks/alloc from sys/unix instead.
Mara Bos [Wed, 7 Oct 2020 17:09:07 +0000 (19:09 +0200)]
Take sys/vxworks/alloc from sys/unix instead.

3 years agoTake sys/vxworks/thread_local_key from sys/unix instead.
Mara Bos [Wed, 7 Oct 2020 17:01:56 +0000 (19:01 +0200)]
Take sys/vxworks/thread_local_key from sys/unix instead.

3 years agoTake sys/vxworks/stdio from sys/unix instead.
Mara Bos [Wed, 7 Oct 2020 17:01:56 +0000 (19:01 +0200)]
Take sys/vxworks/stdio from sys/unix instead.

3 years agoTake sys/vxworks/thread from sys/unix instead.
Mara Bos [Wed, 7 Oct 2020 17:01:56 +0000 (19:01 +0200)]
Take sys/vxworks/thread from sys/unix instead.

3 years agoTake sys/vxworks/stack_overflow from sys/unix instead.
Mara Bos [Wed, 7 Oct 2020 17:01:56 +0000 (19:01 +0200)]
Take sys/vxworks/stack_overflow from sys/unix instead.

3 years agoTake sys/vxworks/time from sys/unix instead.
Mara Bos [Wed, 7 Oct 2020 17:01:56 +0000 (19:01 +0200)]
Take sys/vxworks/time from sys/unix instead.

3 years agoTake sys/vxworks/rwlock from sys/unix instead.
Mara Bos [Wed, 7 Oct 2020 17:01:56 +0000 (19:01 +0200)]
Take sys/vxworks/rwlock from sys/unix instead.

3 years agoTake sys/vxworks/condvar from sys/unix instead.
Mara Bos [Wed, 7 Oct 2020 17:01:56 +0000 (19:01 +0200)]
Take sys/vxworks/condvar from sys/unix instead.

3 years agoTake sys/vxworks/mutex from sys/unix instead.
Mara Bos [Wed, 7 Oct 2020 17:01:27 +0000 (19:01 +0200)]
Take sys/vxworks/mutex from sys/unix instead.

3 years agoAuto merge of #77947 - tmiasko:promoted-scope, r=oli-obk
bors [Fri, 16 Oct 2020 02:27:49 +0000 (02:27 +0000)]
Auto merge of #77947 - tmiasko:promoted-scope, r=oli-obk

Create a single source scope for promoteds

A promoted inherits all scopes from the parent body.  At the same time,
almost all statements and terminators inside the promoted body so far
refer only to one of those scopes: the outermost one.

Instead of inheriting all scopes, inherit only a single scope
corresponding to the location of the promoted, making sure that there
are no references to other scopes.

3 years agoAuto merge of #78001 - Dylan-DPC:rollup-zq3kxth, r=Dylan-DPC
bors [Fri, 16 Oct 2020 00:18:13 +0000 (00:18 +0000)]
Auto merge of #78001 - Dylan-DPC:rollup-zq3kxth, r=Dylan-DPC

Rollup of 14 pull requests

Successful merges:

 - #75023 (ensure arguments are included in count mismatch span)
 - #75265 (Add `str::{Split,RSplit,SplitN,RSplitN,SplitTerminator,RSplitTerminator,SplitInclusive}::as_str` methods)
 - #75675 (mangling: mangle impl params w/ v0 scheme)
 - #76084 (Refactor io/buffered.rs into submodules)
 - #76119 (Stabilize move_ref_pattern)
 - #77493 (ICEs should always print the top of the query stack)
 - #77619 (Use futex-based thread-parker for Wasm32.)
 - #77646 (For backtrace, use StaticMutex instead of a raw sys Mutex.)
 - #77648 (Static mutex is static)
 - #77657 (Cleanup cloudabi mutexes and condvars)
 - #77672 (Simplify doc-cfg rendering based on the current context)
 - #77780 (rustc_parse: fix spans on cast and range exprs with attrs)
 - #77935 (BTreeMap: make PartialCmp/PartialEq explicit and tested)
 - #77980 (Fix intra doc link for needs_drop)

Failed merges:

r? `@ghost`

3 years agoRollup merge of #77980 - Manishearth:needs-drop-intra, r=jyn514
Dylan DPC [Fri, 16 Oct 2020 00:10:25 +0000 (02:10 +0200)]
Rollup merge of #77980 - Manishearth:needs-drop-intra, r=jyn514

Fix intra doc link for needs_drop

It currently links to itself. Oops.

r? @jyn514

3 years agoRollup merge of #77935 - ssomers:btree_cleanup_1, r=Mark-Simulacrum
Dylan DPC [Fri, 16 Oct 2020 00:10:24 +0000 (02:10 +0200)]
Rollup merge of #77935 - ssomers:btree_cleanup_1, r=Mark-Simulacrum

BTreeMap: make PartialCmp/PartialEq explicit and tested

Follow-up on a topic raised in #77612

r? @Mark-Simulacrum

3 years agoRollup merge of #77780 - calebcartwright:cast-expr-attr-span, r=oli-obk
Dylan DPC [Fri, 16 Oct 2020 00:10:22 +0000 (02:10 +0200)]
Rollup merge of #77780 - calebcartwright:cast-expr-attr-span, r=oli-obk

rustc_parse: fix spans on cast and range exprs with attrs

Currently the span for cast and range expressions does not include the span of attributes associated to the lhs which is causing some issues for us in rustfmt.

```rust
fn foo() -> i64 {
    #[attr]
    1u64 as i64
}

fn bar() -> Range<i32> {
    #[attr]
    1..2
}
```

This corrects the span for cast and range expressions to fully include the span of child nodes

3 years agoRollup merge of #77672 - Nemo157:simplify-cfg, r=jyn514
Dylan DPC [Fri, 16 Oct 2020 00:10:19 +0000 (02:10 +0200)]
Rollup merge of #77672 - Nemo157:simplify-cfg, r=jyn514

Simplify doc-cfg rendering based on the current context

For sub-items on a page don't show cfg that has already been rendered on
a parent item. At its simplest this means not showing anything that is
shown in the portability message at the top of the page, but also for
things like fields of an enum variant if that variant itself is
cfg-gated then don't repeat those cfg on each field of the variant.

This does not touch trait implementation rendering, as that is more
complex and there are existing issues around how it deals with doc-cfg
that need to be fixed first.

### Screenshots, left is current, right is new:

![image](https://user-images.githubusercontent.com/81079/95387261-c2e6a200-08f0-11eb-90d4-0a9734acd922.png)

![image](https://user-images.githubusercontent.com/81079/95387458-06411080-08f1-11eb-81f7-5dd7f37695dd.png)

![image](https://user-images.githubusercontent.com/81079/95387702-6637b700-08f1-11eb-82f4-46b6cd9b24f2.png)

![image](https://user-images.githubusercontent.com/81079/95387905-b9aa0500-08f1-11eb-8d95-8b618d31d419.png)

![image](https://user-images.githubusercontent.com/81079/95388300-5bc9ed00-08f2-11eb-9ac9-b92cbdb60b89.png)

cc #43781

3 years agoRollup merge of #77657 - fusion-engineering-forks:cleanup-cloudabi-sync, r=dtolnay
Dylan DPC [Fri, 16 Oct 2020 00:10:17 +0000 (02:10 +0200)]
Rollup merge of #77657 - fusion-engineering-forks:cleanup-cloudabi-sync, r=dtolnay

Cleanup cloudabi mutexes and condvars

This gets rid of lots of unnecessary unsafety.

All the AtomicU32s were wrapped in UnsafeCell or UnsafeCell<MaybeUninit>, and raw pointers were used to get to the AtomicU32 inside. This change cleans that up by using AtomicU32 directly.

Also replaces a UnsafeCell<u32> by a safer Cell<u32>.

@rustbot modify labels: +C-cleanup

3 years agoRollup merge of #77648 - fusion-engineering-forks:static-mutex, r=dtolnay
Dylan DPC [Fri, 16 Oct 2020 00:10:15 +0000 (02:10 +0200)]
Rollup merge of #77648 - fusion-engineering-forks:static-mutex, r=dtolnay

Static mutex is static

StaticMutex is only ever used with as a static (as the name already suggests). So it doesn't have to be generic over a lifetime, but can simply assume 'static.

This 'static lifetime guarantees the object is never moved, so this is no longer a manually checked requirement for unsafe calls to lock().

@rustbot modify labels: +T-libs +A-concurrency +C-cleanup

3 years agoRollup merge of #77646 - fusion-engineering-forks:use-static-mutex, r=dtolnay
Dylan DPC [Fri, 16 Oct 2020 00:10:13 +0000 (02:10 +0200)]
Rollup merge of #77646 - fusion-engineering-forks:use-static-mutex, r=dtolnay

For backtrace, use StaticMutex instead of a raw sys Mutex.

The code used the very unsafe `sys::mutex::Mutex` directly, and built its own unlock-on-drop wrapper around it. The StaticMutex wrapper already provides that and is easier to use safely.

@rustbot modify labels: +T-libs +C-cleanup

3 years agoRollup merge of #77619 - fusion-engineering-forks:wasm-parker, r=dtolnay
Dylan DPC [Fri, 16 Oct 2020 00:10:11 +0000 (02:10 +0200)]
Rollup merge of #77619 - fusion-engineering-forks:wasm-parker, r=dtolnay

Use futex-based thread-parker for Wasm32.

This uses the existing `sys_common/thread_parker/futex.rs` futex-based thread parker (that was already used for Linux) for wasm32 as well (if the wasm32 atomics target feature is enabled, which is not the case by default).

Wasm32 provides the basic futex operations as instructions: https://webassembly.github.io/threads/syntax/instructions.html

These are now exposed from `sys::futex::{futex_wait, futex_wake}`, just like on Linux. So, `thread_parker/futex.rs` stays completely unmodified.

3 years agoRollup merge of #77493 - hosseind88:ICEs_should_always_print_the_top_of_the_query_sta...
Dylan DPC [Fri, 16 Oct 2020 00:10:09 +0000 (02:10 +0200)]
Rollup merge of #77493 - hosseind88:ICEs_should_always_print_the_top_of_the_query_stack, r=oli-obk

ICEs should always print the top of the query stack

see #76920

3 years agoRollup merge of #76119 - Amjad50:stabilizing-move_ref_pattern, r=nikomatsakis
Dylan DPC [Fri, 16 Oct 2020 00:10:07 +0000 (02:10 +0200)]
Rollup merge of #76119 - Amjad50:stabilizing-move_ref_pattern, r=nikomatsakis

Stabilize move_ref_pattern

# Implementation
- Initially the rule was added in the run-up to 1.0. The AST-based borrow checker was having difficulty correctly enforcing match expressions that combined ref and move bindings, and so it was decided to simplify forbid the combination out right.
- The move to MIR-based borrow checking made it possible to enforce the rules in a finer-grained level, but we kept the rule in place in an effort to be conservative in our changes.
- In #68376, @Centril lifted the restriction but required a feature-gate.
- This PR removes the feature-gate.

Tracking issue: #68354.

# Description
This PR is to stabilize the feature `move_ref_pattern`, which allows patterns
containing both `by-ref` and `by-move` bindings at the same time.

For example: `Foo(ref x, y)`, where `x` is `by-ref`,
and `y` is `by-move`.

The rules of moving a variable also apply here when moving *part* of a variable,
such as it can't be referenced or moved before.

If this pattern is used, it would result in *partial move*, which means that
part of the variable is moved. The variable that was partially moved from
cannot be used as a whole in this case, only the parts that are still
not moved can be used.

## Documentation
- The reference (rust-lang/reference#881)
- Rust by example (rust-lang/rust-by-example#1377)

## Tests
There are many tests, but I think one of the comperhensive ones:
- [borrowck-move-ref-pattern-pass.rs](https://github.com/Centril/rust/blob/85fbf49ce0e2274d0acf798f6e703747674feec3/src/test/ui/pattern/move-ref-patterns/borrowck-move-ref-pattern-pass.rs)
- [borrowck-move-ref-pattern.rs](https://github.com/Centril/rust/blob/85fbf49ce0e2274d0acf798f6e703747674feec3/src/test/ui/pattern/move-ref-patterns/borrowck-move-ref-pattern.rs)

# Examples

```rust
#[derive(PartialEq, Eq)]
struct Finished {}

#[derive(PartialEq, Eq)]
struct Processing {
    status: ProcessStatus,
}

#[derive(PartialEq, Eq)]
enum ProcessStatus {
    One,
    Two,
    Three,
}

#[derive(PartialEq, Eq)]
enum Status {
    Finished(Finished),
    Processing(Processing),
}

fn check_result(_url: &str) -> Status {
    // fetch status from some server
    Status::Processing(Processing {
        status: ProcessStatus::One,
    })
}

fn wait_for_result(url: &str) -> Finished {
    let mut previous_status = None;
    loop {
        match check_result(url) {
            Status::Finished(f) => return f,
            Status::Processing(p) => {
                match (&mut previous_status, p.status) {
                    (None, status) => previous_status = Some(status), // first status
                    (Some(previous), status) if *previous == status => {} // no change, ignore
                    (Some(previous), status) => { // Now it can be used
                        // new status
                        *previous = status;
                    }
                }
            }
        }
    }
}
```

Before, we would have used:
```rust
                match (&previous_status, p.status) {
                    (Some(previous), status) if *previous == status => {} // no change, ignore
                    (_, status) => {
                        // new status
                        previous_status = Some(status);
                    }
                }
```

Demonstrating *partial move*
```rust
fn main() {
    #[derive(Debug)]
    struct Person {
        name: String,
        age: u8,
    }

    let person = Person {
        name: String::from("Alice"),
        age: 20,
    };

    // `name` is moved out of person, but `age` is referenced
    let Person { name, ref age } = person;

    println!("The person's age is {}", age);

    println!("The person's name is {}", name);

    // Error! borrow of partially moved value: `person` partial move occurs
    //println!("The person struct is {:?}", person);

    // `person` cannot be used but `person.age` can be used as it is not moved
    println!("The person's age from person struct is {}", person.age);
}
```

3 years agoRollup merge of #76084 - Lucretiel:split-buffered, r=dtolnay
Dylan DPC [Fri, 16 Oct 2020 00:10:04 +0000 (02:10 +0200)]
Rollup merge of #76084 - Lucretiel:split-buffered, r=dtolnay

Refactor io/buffered.rs into submodules

This pull request splits `BufWriter`, `BufReader`, `LineWriter`, and `LineWriterShim` (along with their associated tests) into separate submodules. It contains no functional changes. This change is being made in anticipation of adding another type of buffered writer which can be switched between line- and block-buffering mode.

Part of a series of pull requests resolving #60673.

3 years agoRollup merge of #75675 - davidtwco:symbol-mangling-impl-params, r=eddyb
Dylan DPC [Fri, 16 Oct 2020 00:10:02 +0000 (02:10 +0200)]
Rollup merge of #75675 - davidtwco:symbol-mangling-impl-params, r=eddyb

mangling: mangle impl params w/ v0 scheme

This PR modifies v0 symbol mangling to include all generic parameters from impl blocks (not just those used in the self type) - an alternative fix to #75326.

```
original:
   _RNCNvXCs4fqI2P2rA04_19impl_param_manglingINtB4_3FooppENtNtNtNtCsfnEnqCNU58Z_4core4iter6traits8iterator8Iterator4next0B4_
//        |------------ B4_ ----------------|
// _R (N C (N v (X (C ((s 4fqI2p2rA04_) 19impl_param_mangling)) (I (N t B4_ 3Foo) pp E) (N t (N t (N t (N t (C ((s fnEnqCNU58Z_) 4core)) 4iter) 6traits) 8iterator) 8Iterator)) 4next) 0) B4_

modified:
   _RNvXINICs4fqI2P2rA04_11issue_753260pppEINtB5_3FooppENtNtNtNtCsfnEnqCNU58Z_4core4iter6traits8iterator8Iterator4nextB5_
// _R (N v (X (I (N I (C ((s 4fqI2P2rA04_) 11issue_75326)) 0) ppp E) (I (N t B5_ 3Foo) pp E) (N t (N t (N t (N t (C ((s fnEnqCNU58Z_) 4core)) 4iter) 6traits) 8iterator) 8Iterator)) 4next) B5_
//            |     ^                                              |
//            |     |                                              |
//            |     new impl namespace                             |
```

~~Submitted as a draft as after some discussion w/ @eddyb, I'm going to do some investigation into (yet more alternative) changes to polymorphization that might remove the necessity for this.~~

r? @eddyb

3 years agoRollup merge of #75265 - WaffleLapkin:str_split_as_str, r=dtolnay
Dylan DPC [Fri, 16 Oct 2020 00:10:00 +0000 (02:10 +0200)]
Rollup merge of #75265 - WaffleLapkin:str_split_as_str, r=dtolnay

Add `str::{Split,RSplit,SplitN,RSplitN,SplitTerminator,RSplitTerminator,SplitInclusive}::as_str` methods

tl;dr this allows viewing unyelded part of str-split-iterators, like so:
```rust
let mut split = "Mary had a little lamb".split(' ');
assert_eq!(split.as_str(), "Mary had a little lamb");
split.next();
assert_eq!(split.as_str(), "had a little lamb");
split.by_ref().for_each(drop);
assert_eq!(split.as_str(), "");
```

--------------

This PR adds semi-identical `as_str` methods to most str-split-iterators with signatures like `&'_ Split<'a, P: Pattern<'a>> -> &'a str` (Note: output `&str` lifetime is bound to the `'a`, not the `'_`). The methods are similar to [`Chars::as_str`]

`SplitInclusive::as_str` is under `"str_split_inclusive_as_str"` feature gate, all other methods are under `"str_split_as_str"` feature gate.

Before this PR you had to sum `len`s of all yielded parts or collect into `String` to emulate `as_str`.

[`Chars::as_str`]: https://doc.rust-lang.org/core/str/struct.Chars.html#method.as_str

3 years agoRollup merge of #75023 - euclio:argument-span, r=estebank
Dylan DPC [Fri, 16 Oct 2020 00:09:58 +0000 (02:09 +0200)]
Rollup merge of #75023 - euclio:argument-span, r=estebank

ensure arguments are included in count mismatch span

The current diagnostic isn't very helpful if the function header spans multiple lines. Lines comprising the function signature may be elided to keep the diagnostic short, but these lines are essential to fixing the error. This is made worse when the function has a body, because the last two lines of the span are then dedicated to showing the end of the body, which is irrelevant.

This PR changes the span to be a multispan made up of the header and the the arguments, ensuring they won't be elided. It also discards the function body from the span.

[Old](https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=f92d9f81a8c9416f0f04e4e09923b6d4):

```
error[E0061]: this function takes 6 arguments but 1 argument was supplied
  --> src/main.rs:18:5
   |
1  | / fn bar(
2  | |     a: i32,
3  | |     b: i32,
4  | |     c: i32,
...  |
14 | |     println!("{}", f);
15 | | }
   | |_- defined here
...
18 |       bar(1);
   |       ^^^ - supplied 1 argument
   |       |
   |       expected 6 arguments
```

New:

```
error[E0061]: this function takes 6 arguments but 1 argument was supplied
  --> $DIR/not-enough-arguments.rs:28:3
   |
LL |   bar(1);
   |   ^^^ - supplied 1 argument
   |   |
   |   expected 6 arguments
   |
note: function defined here
  --> $DIR/not-enough-arguments.rs:9:1
   |
LL | / fn bar(
LL | |     a: i32,
   | |     ^^^^^^^
LL | |     b: i32,
   | |     ^^^^^^^
LL | |     c: i32,
   | |     ^^^^^^^
LL | |     d: i32,
   | |     ^^^^^^^
LL | |     e: i32,
   | |     ^^^^^^^
LL | |     f: i32,
   | |     ^^^^^^^
LL | | ) {
   | |_^
```

3 years agofill in the tracking issue
Waffle [Thu, 15 Oct 2020 22:11:39 +0000 (01:11 +0300)]
fill in the tracking issue

3 years agoAuto merge of #77981 - GuillaumeGomez:rollup-64ydc5g, r=GuillaumeGomez
bors [Thu, 15 Oct 2020 19:03:32 +0000 (19:03 +0000)]
Auto merge of #77981 - GuillaumeGomez:rollup-64ydc5g, r=GuillaumeGomez

Rollup of 3 pull requests

Successful merges:

 - #77963 (Fix link to foreign calling conventions)
 - #77978 (Fix typo in documentation)
 - #77979 (Hide help button on mobile)

Failed merges:

r? `@ghost`

3 years agoAuto merge of #77943 - est31:target_refactor, r=petrochenkov
bors [Thu, 15 Oct 2020 16:50:00 +0000 (16:50 +0000)]
Auto merge of #77943 - est31:target_refactor, r=petrochenkov

No more target.target

Two main changes of this PR:

* Turn `target_pointer_width` into an integer and rename to `pointer_width`.
  The compiler only allowed three valid values for the width anyways.
  An integer is more natural for this value, and saves a few allocations
  and copies.
* Remove the `rustc_session::config::Config` wrapper and replace it with
  its inner member `Target`. Aka. no more `target.target`. This makes life so
  much easier, but it also causes a ton of downstream breakage.

Some changes of this PR were done using tooling. These tooling-made changes
were isolated to their own commits to make review easier.
It's best to review the PR commit-by-commit.

Miri PR: https://github.com/rust-lang/miri/pull/1583

I request p=10 bors priority because of the breakage.

3 years agoSet preferred-dark-theme to the last dark theme
nasso [Thu, 15 Oct 2020 16:03:25 +0000 (18:03 +0200)]
Set preferred-dark-theme to the last dark theme

If the user doesn't have a preferred dark theme but is already using a
dark theme, set the preferred dark theme to be that theme

3 years agoRollup merge of #77979 - GuillaumeGomez:hide-help-button, r=jyn514
Guillaume Gomez [Thu, 15 Oct 2020 16:00:32 +0000 (18:00 +0200)]
Rollup merge of #77979 - GuillaumeGomez:hide-help-button, r=jyn514

Hide help button on mobile

Addresses #77899.

This PR is just a quick fix for now: we're still debating about whether or not we want to display this help popup and if so, how. I'll open an issue once this PR is merged to discuss about it.

Before:

![Screenshot from 2020-10-15 17-56-39](https://user-images.githubusercontent.com/3050060/96155127-df499680-0f0f-11eb-8a13-77c537141f21.png)

After:

![Screenshot from 2020-10-15 17-55-06](https://user-images.githubusercontent.com/3050060/96154957-ac070780-0f0f-11eb-9d90-7d8f79a6bf37.png)

r? @jyn514

3 years agoRollup merge of #77978 - strct:patch-2, r=jonas-schievink
Guillaume Gomez [Thu, 15 Oct 2020 16:00:30 +0000 (18:00 +0200)]
Rollup merge of #77978 - strct:patch-2, r=jonas-schievink

Fix typo in documentation

3 years agoRollup merge of #77963 - kraai:fix-foreign-calling-conventions-link, r=jonas-schievink
Guillaume Gomez [Thu, 15 Oct 2020 16:00:29 +0000 (18:00 +0200)]
Rollup merge of #77963 - kraai:fix-foreign-calling-conventions-link, r=jonas-schievink

Fix link to foreign calling conventions

3 years agoFix intra doc link for needs_drop
Manish Goregaokar [Thu, 15 Oct 2020 15:53:09 +0000 (08:53 -0700)]
Fix intra doc link for needs_drop

3 years agoHide help button on mobile devices
Guillaume Gomez [Thu, 15 Oct 2020 15:28:42 +0000 (17:28 +0200)]
Hide help button on mobile devices

3 years agoFix typo in documentation
strct [Thu, 15 Oct 2020 14:57:19 +0000 (16:57 +0200)]
Fix typo in documentation

3 years agoensure arguments are included in count mismatch span
Andy Russell [Thu, 24 Sep 2020 02:43:32 +0000 (22:43 -0400)]
ensure arguments are included in count mismatch span

3 years agofix off-by-one in parameter spans
Andy Russell [Sat, 26 Sep 2020 17:46:00 +0000 (13:46 -0400)]
fix off-by-one in parameter spans

3 years agomangling: encode all impl parameters
David Wood [Mon, 24 Aug 2020 14:39:31 +0000 (15:39 +0100)]
mangling: encode all impl parameters

This commit modifies v0 symbol mangling to include all generic
parameters from impl blocks (not just those used in the self type).

Signed-off-by: David Wood <david@davidtw.co>
3 years agomangling: non-monomorphic `#[rustc_symbol_name]`
David Wood [Tue, 18 Aug 2020 17:40:03 +0000 (18:40 +0100)]
mangling: non-monomorphic `#[rustc_symbol_name]`

This commit adjust `#[rustc_symbol_name]` so that it can be applied to
non-monomorphic functions without producing an ICE.

Signed-off-by: David Wood <david@davidtw.co>
3 years agoRemove rustc_session::config::Config
est31 [Wed, 14 Oct 2020 16:42:13 +0000 (18:42 +0200)]
Remove rustc_session::config::Config

The wrapper type led to tons of target.target
across the compiler. Its ptr_width field isn't
required any more, as target_pointer_width
is already present in parsed form.

3 years agoReplace target.target with target and target.ptr_width with target.pointer_width
est31 [Thu, 15 Oct 2020 09:44:00 +0000 (11:44 +0200)]
Replace target.target with target and target.ptr_width with target.pointer_width

Preparation for a subsequent change that replaces
rustc_target::config::Config with its wrapped Target.

On its own, this commit breaks the build. I don't like making
build-breaking commits, but in this instance I believe that it
makes review easier, as the "real" changes of this PR can be
seen much more easily.

Result of running:

find compiler/ -type f -exec sed -i -e 's/target\.target\([)\.,; ]\)/target\1/g' {} \;
find compiler/ -type f -exec sed -i -e 's/target\.target$/target/g' {} \;
find compiler/ -type f -exec sed -i -e 's/target.ptr_width/target.pointer_width/g' {} \;
./x.py fmt

3 years agoRename target_pointer_width to pointer_width and turn it into an u32
est31 [Wed, 14 Oct 2020 16:22:10 +0000 (18:22 +0200)]
Rename target_pointer_width to pointer_width and turn it into an u32

Rename target_pointer_width to pointer_width because it is already
member of the Target struct.

The compiler supports only three valid values for target_pointer_width:
16, 32, 64. Thus it can safely be turned into an int.
This means less allocations and clones as well as easier handling of the type.

3 years agoUse integer literals for builtin target_pointer_width fields
est31 [Wed, 14 Oct 2020 16:08:12 +0000 (18:08 +0200)]
Use integer literals for builtin target_pointer_width fields

Also change target_pointer_width to pointer_width.

Preparation for a subsequent type change of
target_pointer_width to an integer together with a rename
to pointer_width.

On its own, this commit breaks the build. I don't like making
build-breaking commits, but in this instance I believe that it
makes review easier, as the "real" changes of this PR can be
seen much more easily.

Result of running:

find compiler/rustc_target/src/spec/ -type f -exec sed -i -e 's/target_pointer_width: "\(.*\)"\..*,/pointer_width: \1,/g' {} \;

3 years agoArena: Copy cold_path and remove rustc_data_structures dependency
Dániel Buga [Thu, 15 Oct 2020 07:07:02 +0000 (09:07 +0200)]
Arena: Copy cold_path and remove rustc_data_structures dependency

3 years agoAuto merge of #77952 - ehuss:update-cargo, r=ehuss
bors [Thu, 15 Oct 2020 08:50:36 +0000 (08:50 +0000)]
Auto merge of #77952 - ehuss:update-cargo, r=ehuss

Update cargo

11 commits in 9d1a4863abd9237dbf9d1b74c78632b6a205f6bb..12db56cdedbc2c26a9aa18f994c0188cdcc67df5
2020-10-05 18:29:52 +0000 to 2020-10-14 23:07:45 +0000
- Reinstate CARGO_PRIMARY_PACKAGE (take 2) (rust-lang/cargo#8758)
- Add actionable help message for --features (rust-lang/cargo#8773)
- Fix panic in `cargo doc` with -Zfeatures=itarget (rust-lang/cargo#8777)
- Update git2. (rust-lang/cargo#8778)
- Document RUSTFMT environment variable (rust-lang/cargo#8767)
- Update crossbeam-utils requirement from 0.7 to 0.8 (rust-lang/cargo#8769)
- Update toml dependency (rust-lang/cargo#8772)
- Mark proc-macro crates (rust-lang/cargo#8765)
- cargo-tree: mention special target `all` in CLI help text (rust-lang/cargo#8766)
- Bump to 0.50.0, update changelog (rust-lang/cargo#8764)
- Update deprecated GitHub add-path in workflows. (rust-lang/cargo#8760)

3 years agoFix link to foreign calling conventions
Matthew Kraai [Thu, 15 Oct 2020 07:57:22 +0000 (00:57 -0700)]
Fix link to foreign calling conventions

3 years agoAuto merge of #77948 - cuviper:rust-llvm11, r=nikic
bors [Thu, 15 Oct 2020 06:25:32 +0000 (06:25 +0000)]
Auto merge of #77948 - cuviper:rust-llvm11, r=nikic

Rebase LLVM onto 11.0.0 final

3 years agoAuto merge of #77873 - sexxi-goose:use_tuple_inference_for_closures, r=nikomatsakis
bors [Thu, 15 Oct 2020 04:17:10 +0000 (04:17 +0000)]
Auto merge of #77873 - sexxi-goose:use_tuple_inference_for_closures, r=nikomatsakis

Replace tuple of infer vars for upvar_tys with single infer var

This commit allows us to decide the number of captures required after
completing capture ananysis, which is required as part of implementing
RFC-2229.

closes https://github.com/rust-lang/project-rfc-2229/issues/4
r? `@nikomatsakis`

3 years agoAuto merge of #77756 - alarsyo:setup-llvm-detect, r=jyn514
bors [Thu, 15 Oct 2020 02:10:11 +0000 (02:10 +0000)]
Auto merge of #77756 - alarsyo:setup-llvm-detect, r=jyn514

Detect configuration for LLVM during setup

This is a first draft to address #77579, setting `download-ci-llvm` to true on Linux, but I could also implement the `if-available` setting mentioned in the issue.

On other platforms I was thinking about using [the which crate](https://crates.io/crates/which), if adding a dependency on it is considered okay of course, to detect the presence of `llvm-config` in the path, and use it if found. Still a work in progress of course.

3 years agoUpdate cargo
Eric Huss [Wed, 14 Oct 2020 22:16:47 +0000 (15:16 -0700)]
Update cargo

3 years agoAuto merge of #77954 - JohnTitor:rollup-bpoy497, r=JohnTitor
bors [Wed, 14 Oct 2020 23:11:04 +0000 (23:11 +0000)]
Auto merge of #77954 - JohnTitor:rollup-bpoy497, r=JohnTitor

Rollup of 9 pull requests

Successful merges:

 - #77570 (Allow ascii whitespace char for doc aliases )
 - #77739 (Remove unused code)
 - #77753 (Check html comments)
 - #77879 (Provide better documentation and help messages for x.py setup)
 - #77902 (Include aarch64-pc-windows-msvc in the dist manifests)
 - #77934 (Document -Z codegen-backend in the unstable book)
 - #77936 (Remove needless alloc_slice)
 - #77946 (Validate references to source scopes)
 - #77951 (Update books)

Failed merges:

r? `@ghost`

3 years agoRollup merge of #77951 - ehuss:update-books, r=ehuss
Yuki Okushi [Wed, 14 Oct 2020 22:32:40 +0000 (07:32 +0900)]
Rollup merge of #77951 - ehuss:update-books, r=ehuss

Update books

## reference

5 commits in 56a13c082ee90736c08d6abdcd90462517b703d3..1b78182e71709169dc0f1c3acdc4541b6860e1c4
2020-09-14 23:20:16 -0700 to 2020-10-11 13:53:47 -0700
- Specify that SSE4.1 includes SSSE3 instead of SSE3 (rust-lang-nursery/reference#892)
- Fix mutable expressions that can be dereferenced (rust-lang-nursery/reference#890)
- Fix grammar in memory model (rust-lang-nursery/reference#889)
- Add style checks. (rust-lang-nursery/reference#886)
- Add description for LUB Coercion (rust-lang-nursery/reference#808)

## book

1 commits in cb28dee95e5e50b793e6ba9291c5d1568d3ad72e..451a1e30f2dd137aa04e142414eafb8d05f87f84
2020-09-09 10:06:00 -0500 to 2020-10-05 09:11:18 -0500
- clarify description of when ? can be used (rust-lang/book#2471)

## rust-by-example

1 commits in 7d3ff1c12db08a847a57a054be4a7951ce532d2d..152475937a8d8a1f508d8eeb57db79139bc803d9
2020-09-28 15:54:25 -0300 to 2020-10-09 09:29:50 -0300
- Add 1.45.0 cast documentation (rust-lang/rust-by-example#1384)

## embedded-book

2 commits in dd310616308e01f6cf227f46347b744aa56b77d9..79ab7776929c66db83203397958fa7037d5d9a30
2020-09-26 08:54:08 +0000 to 2020-10-12 08:00:05 +0000
- llvm-objdump: Use two hyphens in flags to objdump  (rust-embedded/book#270)
- Start/hardware: clarify which file needs tweaking  (rust-embedded/book#266)

3 years agoRollup merge of #77946 - tmiasko:validate-source-scope, r=jonas-schievink
Yuki Okushi [Wed, 14 Oct 2020 22:32:39 +0000 (07:32 +0900)]
Rollup merge of #77946 - tmiasko:validate-source-scope, r=jonas-schievink

Validate references to source scopes

3 years agoRollup merge of #77936 - est31:remove_needless_alloc_slice, r=jonas-schievink
Yuki Okushi [Wed, 14 Oct 2020 22:32:37 +0000 (07:32 +0900)]
Rollup merge of #77936 - est31:remove_needless_alloc_slice, r=jonas-schievink

Remove needless alloc_slice

Don't invoke alloc_slice.

Arenas are temporary,
empty slices are eternal!

3 years agoRollup merge of #77934 - XAMPPRocky:codegen-backend-docs, r=jonas-schievink
Yuki Okushi [Wed, 14 Oct 2020 22:32:36 +0000 (07:32 +0900)]
Rollup merge of #77934 - XAMPPRocky:codegen-backend-docs, r=jonas-schievink

Document -Z codegen-backend in the unstable book

### [Rendered](https://github.com/XAMPPRocky/rust/blob/codegen-backend-docs/src/doc/unstable-book/src/compiler-flags/codegen-backend.md)

Companion PR to #77933 tracking issue.

cc @bjorn3

3 years agoRollup merge of #77902 - arlosi:arm64manifest, r=ehuss
Yuki Okushi [Wed, 14 Oct 2020 22:32:34 +0000 (07:32 +0900)]
Rollup merge of #77902 - arlosi:arm64manifest, r=ehuss

Include aarch64-pc-windows-msvc in the dist manifests

r? @ehuss

/cc @pietroalbini @Mark-Simulacrum

#72881

3 years agoRollup merge of #77879 - ijackson:x-py, r=jyn514
Yuki Okushi [Wed, 14 Oct 2020 22:32:32 +0000 (07:32 +0900)]
Rollup merge of #77879 - ijackson:x-py, r=jyn514

Provide better documentation and help messages for x.py setup

Closes: #77861
I have split this up into tiny comments because I find it clearer this way.  Feel free to squash it.

3 years agoRollup merge of #77753 - GuillaumeGomez:check-html-comments, r=jyn514
Yuki Okushi [Wed, 14 Oct 2020 22:32:31 +0000 (07:32 +0900)]
Rollup merge of #77753 - GuillaumeGomez:check-html-comments, r=jyn514

Check html comments

Part of #67799.

cc @ollie27
r? @jyn514

3 years agoRollup merge of #77739 - est31:remove_unused_code, r=petrochenkov,varkor
Yuki Okushi [Wed, 14 Oct 2020 22:32:29 +0000 (07:32 +0900)]
Rollup merge of #77739 - est31:remove_unused_code, r=petrochenkov,varkor

Remove unused code

Rustc has a builtin lint for detecting unused code inside a crate, but when an item is marked `pub`, the code, even if unused inside the entire workspace, is never marked as such. Therefore, I've built [warnalyzer](https://github.com/est31/warnalyzer) to detect unused items in a cross-crate setting.

Closes https://github.com/est31/warnalyzer/issues/2

3 years agoRollup merge of #77570 - GuillaumeGomez:whitespace-doc-alias, r=jyn514,ollie27
Yuki Okushi [Wed, 14 Oct 2020 22:32:27 +0000 (07:32 +0900)]
Rollup merge of #77570 - GuillaumeGomez:whitespace-doc-alias, r=jyn514,ollie27

Allow ascii whitespace char for doc aliases

Fixes issue from https://github.com/rust-lang/rust/issues/76705#issuecomment-703123847

cc @lopopolo @ollie27

r? @jyn514

3 years agoUpdate books
Eric Huss [Wed, 14 Oct 2020 21:55:41 +0000 (14:55 -0700)]
Update books

3 years agoRebase LLVM onto 11.0.0 final
Josh Stone [Wed, 14 Oct 2020 19:13:20 +0000 (12:13 -0700)]
Rebase LLVM onto 11.0.0 final

3 years agoAuto merge of #77944 - shepmaster:aarch64-apple-darwin-new-xcode, r=pietroalbini
bors [Wed, 14 Oct 2020 17:53:52 +0000 (17:53 +0000)]
Auto merge of #77944 - shepmaster:aarch64-apple-darwin-new-xcode, r=pietroalbini

Update Xcode beta version to allow aarch64-apple-darwin to compile again

r? `@pietroalbini`

3 years agoUpdate Xcode beta version to allow aarch64-apple-darwin to compile again
Jake Goulding [Wed, 14 Oct 2020 17:51:28 +0000 (13:51 -0400)]
Update Xcode beta version to allow aarch64-apple-darwin to compile again

3 years agofix stderr file of clippy/custom_ice_message test
hosseind88 [Wed, 14 Oct 2020 14:49:26 +0000 (18:19 +0330)]
fix stderr file of clippy/custom_ice_message test

3 years agoBTreeMap: making PartialCmp/PartialEq explicit and tested
Stein Somers [Wed, 14 Oct 2020 11:55:09 +0000 (13:55 +0200)]
BTreeMap: making PartialCmp/PartialEq explicit and tested

3 years agoUpdate codegen-backend.md
XAMPPRocky [Wed, 14 Oct 2020 12:49:15 +0000 (14:49 +0200)]
Update codegen-backend.md

3 years agoUpdate codegen-backend.md
XAMPPRocky [Wed, 14 Oct 2020 12:46:30 +0000 (14:46 +0200)]
Update codegen-backend.md

3 years agoUpdate src/doc/unstable-book/src/compiler-flags/codegen-backend.md
XAMPPRocky [Wed, 14 Oct 2020 12:44:44 +0000 (14:44 +0200)]
Update src/doc/unstable-book/src/compiler-flags/codegen-backend.md

3 years agoDocument -Z codegen-backend in the unstable book
Erin Power [Wed, 14 Oct 2020 12:34:47 +0000 (14:34 +0200)]
Document -Z codegen-backend in the unstable book

3 years agoRemove needless alloc_slice
est31 [Wed, 14 Oct 2020 12:22:22 +0000 (14:22 +0200)]
Remove needless alloc_slice

Don't invoke alloc_slice.

Arenas are temporary,
empty slices are eternal!

3 years agox.py setup: Avoid infinite loop if stdin is /dev/null
Ian Jackson [Tue, 13 Oct 2020 17:25:17 +0000 (18:25 +0100)]
x.py setup: Avoid infinite loop if stdin is /dev/null

EOF is not an error; it just causes read_line to produce "".

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agox.py setup: Fix handling of wrong interactive input
Ian Jackson [Tue, 13 Oct 2020 11:44:23 +0000 (12:44 +0100)]
x.py setup: Fix handling of wrong interactive input

We need a fresh input buffer each time, or we reuse the previous
data (since `read_line` appends).

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agox.py: setup: Offer keywords in interactive prompt
Ian Jackson [Mon, 12 Oct 2020 23:55:05 +0000 (00:55 +0100)]
x.py: setup: Offer keywords in interactive prompt

We understand these profile names because we use .to_str().
Mention them in the question.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agox.py: setup: Provide a description of what it does
Ian Jackson [Mon, 12 Oct 2020 22:54:49 +0000 (23:54 +0100)]
x.py: setup: Provide a description of what it does

Co-authored-by: Joshua Nelson <joshua@yottadb.com>
3 years agox.py: setup: Refactor to centralise list of profiles
Ian Jackson [Mon, 12 Oct 2020 23:07:52 +0000 (00:07 +0100)]
x.py: setup: Refactor to centralise list of profiles

Put all()'s otuput in the order we want to print things in, and add a
comment about why they are in this order.  Provide purpose() and
all_for_help().  Use these things everywhere.

Move all the abbrev character ("a", "b", etc.) processing into
interactive_path.

No functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
3 years agoHandle multi-line HTML comments
Guillaume Gomez [Tue, 13 Oct 2020 11:46:12 +0000 (13:46 +0200)]
Handle multi-line HTML comments

3 years agoRemove lifetime from StaticMutex and assume 'static.
Mara Bos [Wed, 7 Oct 2020 12:08:33 +0000 (14:08 +0200)]
Remove lifetime from StaticMutex and assume 'static.

StaticMutex is only ever used with as a static (as the name already
suggests). So it doesn't have to be generic over a lifetime, but can
simply assume 'static.

This 'static lifetime guarantees the object is never moved, so this is
no longer a manually checked requirement for unsafe calls to lock().

3 years agoFix comment about non-reentrant StaticMutex::lock().
Mara Bos [Wed, 7 Oct 2020 12:06:17 +0000 (14:06 +0200)]
Fix comment about non-reentrant StaticMutex::lock().

The comment said it's UB to call lock() while it is locked. That'd be
quite a useless Mutex. :) It was supposed to say 'locked by the same
thread', not just 'locked'.

3 years agoAuto merge of #77741 - JohnTitor:add-tests, r=matthewjasper
bors [Wed, 14 Oct 2020 06:43:10 +0000 (06:43 +0000)]
Auto merge of #77741 - JohnTitor:add-tests, r=matthewjasper

Add some regression tests

They're fixed since nightly-2020-10-07:
Closes #52843
Closes #53448
Closes #54108
Closes #65581
Closes #65934
Closes #70292
Closes #71443

3 years agoAddress comments
Roxane [Wed, 14 Oct 2020 04:17:42 +0000 (00:17 -0400)]
Address comments

3 years agoAuto merge of #77926 - Dylan-DPC:rollup-wttr8a1, r=Dylan-DPC
bors [Wed, 14 Oct 2020 02:48:05 +0000 (02:48 +0000)]
Auto merge of #77926 - Dylan-DPC:rollup-wttr8a1, r=Dylan-DPC

Rollup of 8 pull requests

Successful merges:

 - #77765 (Add LLVM flags to limit DWARF version to 2 on BSD)
 - #77788 (BTreeMap: fix gdb provider on BTreeMap with ZST keys or values)
 - #77795 (Codegen backend interface refactor)
 - #77808 (Moved the main `impl` for FnCtxt to its own file.)
 - #77817 (Switch rustdoc from `clean::Stability` to `rustc_attr::Stability`)
 - #77829 (bootstrap: only use compiler-builtins-c if they exist)
 - #77870 (Use intra-doc links for links to module-level docs)
 - #77897 (Move `Strip` into a separate rustdoc pass)

Failed merges:

 - #77879 (Provide better documentation and help messages for x.py setup)
 - #77902 (Include aarch64-pc-windows-msvc in the dist manifests)

r? `@ghost`

3 years agoRemove unused code from remaining compiler crates
est31 [Fri, 9 Oct 2020 09:23:40 +0000 (11:23 +0200)]
Remove unused code from remaining compiler crates

3 years agoRemove unused code from rustc_span
est31 [Fri, 9 Oct 2020 09:23:24 +0000 (11:23 +0200)]
Remove unused code from rustc_span