Commit Graph

137952 Commits

Author SHA1 Message Date
Jonas Schievink
d2f96a9b64
Rollup merge of #81630 - GuillaumeGomez:overflow-sidebar-title-text, r=pickfire
Fix overflowing text on mobile when sidebar is displayed

Fixes #81597.

Before:

![Screenshot from 2021-02-01 17-21-15](https://user-images.githubusercontent.com/3050060/106486857-610b0300-64b2-11eb-96d3-12b939f5b661.png)

After:

![Screenshot from 2021-02-01 17-20-59](https://user-images.githubusercontent.com/3050060/106486840-5cdee580-64b2-11eb-9492-4df27bb39e59.png)

cc `@pickfire`
r? `@Nemo157`
2021-02-02 12:15:06 +01:00
Jonas Schievink
285524f8da
Rollup merge of #81609 - Julian-Wollersberger:no-query-categories, r=davidtwco
Remove the remains of query categories

Back in October 2020 in #77830 ``@cjgillot`` removed the query categories information from the profiler, but the actual definitions which query was in which category remained, although unused.
Here I clean that up, to simplify the query definitions even further.

It's unfortunate that this loses all the context for `git blame`, ~~but I'm working on moving those query definitions into `rustc_query_system`, which will lose that context anyway.~~ EDIT: Might not work out.

The functional changes are in the first commit. The second one only changes the indentation.
2021-02-02 12:15:04 +01:00
Jonas Schievink
255e0764c0
Rollup merge of #81608 - Aaron1011:macro-res-parse-err, r=davidtwco
Improve handling of spans around macro result parse errors

Fixes #81543

After we expand a macro, we try to parse the resulting tokens as a AST
node. This commit makes several improvements to how we handle spans when
an error occurs:

* Only ovewrite the original `Span` if it's a dummy span. This preserves
  a more-specific span if one is available.
* Use `self.prev_token` instead of `self.token` when emitting an error
  message after encountering EOF, since an EOF token always has a dummy
  span
* Make `SourceMap::next_point` leave dummy spans unused. A dummy span
  does not have a logical 'next point', since it's a zero-length span.
  Re-using the span span preserves its 'dummy-ness' for other checks
2021-02-02 12:15:02 +01:00
Jonas Schievink
86d0e6d257
Rollup merge of #81599 - sdroege:fuse-trusted-len, r=m-ou-se
Implement `TrustedLen` for `Fuse<I: TrustedLen>`

This looks like it was simply forgotten.
2021-02-02 12:15:01 +01:00
Jonas Schievink
efec2bbbce
Rollup merge of #81577 - BoxyUwU:subexpr_const_evaluatable, r=oli-obk
const_evaluatable: consider sub-expressions to be evaluatable

see [zulip topic](https://rust-lang.zulipchat.com/#narrow/stream/260443-project-const-generics/topic/const_evaluatable.3A.20subexpressions) for more info

cc `@lcnr`
r? `@oli-obk`
2021-02-02 12:14:59 +01:00
Jonas Schievink
30f12a0379
Rollup merge of #81492 - camelid:rustdoc-internal-mod-vis, r=GuillaumeGomez
rustdoc: Note why `rustdoc::html::markdown` is public

Almost all of the modules are crate-private, except for
`rustdoc::json::types`, which I believe is intended to be for public
use; and `rustdoc::html::markdown`, which is used externally by the
error-index generator and so has to be public.

r? ``@GuillaumeGomez``
2021-02-02 12:14:57 +01:00
Jonas Schievink
a61e6ab0da
Rollup merge of #81485 - jackh726:atb-issues, r=Mark-Simulacrum
Add some tests for associated-type-bounds issues

Closes #38917
Closes #40093
Closes #43475
Closes #63591

#47897 is likely closable too, but it needs an MCVE
~~#38917, #40093, #43475, #47897 all are mislabeled and shouldn't have the `F-associated-type-bounds` label~~

~~#71685 is also mislabeled as commented on in that thread~~
2021-02-02 12:14:56 +01:00
Jonas Schievink
e6e76c7669
Rollup merge of #81481 - lcnr:cast-tests, r=jackh726
move some tests
2021-02-02 12:14:54 +01:00
Jonas Schievink
f61ab58574
Rollup merge of #81022 - seanchen1991:feat/frames-iter, r=KodrAus
Add Frames Iterator for Backtrace

Second attempt at adding the ability to iterate over the frames of a Backtrace by exposing the frames method.
2021-02-02 12:14:49 +01:00
Jonas Schievink
a1887912e8
Rollup merge of #80629 - sexxi-goose:migrations_1, r=nikomatsakis
Add lint for 2229 migrations

Implements the first for RFC 2229 where we make the decision to migrate a root variable based on if the type of the variable needs Drop and if the root variable would be moved into the closure when the feature isn't enabled.

r? `@nikomatsakis`
2021-02-02 12:14:44 +01:00
bors
f6cb45ad01 Auto merge of #79015 - WaffleLapkin:vec_append_from_within, r=KodrAus
add `Vec::extend_from_within` method under `vec_extend_from_within` feature gate

Implement <https://github.com/rust-lang/rfcs/pull/2714>

### tl;dr

This PR adds a `extend_from_within` method to `Vec` which allows copying elements from a range to the end:

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

let mut vec = vec![0, 1, 2, 3, 4];

vec.extend_from_within(2..);
assert_eq!(vec, [0, 1, 2, 3, 4, 2, 3, 4]);

vec.extend_from_within(..2);
assert_eq!(vec, [0, 1, 2, 3, 4, 2, 3, 4, 0, 1]);

vec.extend_from_within(4..8);
assert_eq!(vec, [0, 1, 2, 3, 4, 2, 3, 4, 0, 1, 4, 2, 3, 4]);
```

### Implementation notes

Originally I've copied `@Shnatsel's` [implementation](690742a0de/src/lib.rs (L74)) with some minor changes to support other ranges:
```rust
pub fn append_from_within<R>(&mut self, src: R)
where
    T: Copy,
    R: RangeBounds<usize>,
{
    let len = self.len();
    let Range { start, end } = src.assert_len(len);;

    let count = end - start;
    self.reserve(count);
    unsafe {
        // This is safe because `reserve()` above succeeded,
        // so `self.len() + count` did not overflow usize
        ptr::copy_nonoverlapping(
            self.get_unchecked(src.start),
            self.as_mut_ptr().add(len),
            count,
        );
        self.set_len(len + count);
    }
}
```

But then I've realized that this duplicates most of the code from (private) `Vec::append_elements`, so I've used it instead.

Then I've applied `@KodrAus` suggestions from https://github.com/rust-lang/rust/pull/79015#issuecomment-727200852.
2021-02-02 09:12:53 +00:00
bors
8d82ac5e73 Auto merge of #6661 - Manishearth:exhaustive-fix, r=flip1995
exhaustive_structs: don't trigger for structs with private fields

changelog: Restrict `exhaustive_structs` to structs with all-public
fields
2021-02-02 07:59:39 +00:00
Philipp Krones
4a13c8c22e
Fix test formatting 2021-02-02 08:59:23 +01:00
Ashley Mannix
125ec782bd
update tracking issue for vec_extend_from_within 2021-02-02 17:47:55 +10:00
bors
d60b29d1ae Auto merge of #81539 - nikic:update-armhf-gnu, r=sanxiyn
Update armhf-gnu to Ubuntu 20.04

This requires updating the used Linux kernel to avoid an assembler
error, the used busybox version to avoid a linker error, the used
rootfs to match the host version and the qemu flags to work with
the newer version.

r? `@Mark-Simulacrum`
2021-02-02 06:23:10 +00:00
Hirochika Matsumoto
bad0f288d3 Improve wording of suggestion about accessing field 2021-02-02 15:16:07 +09:00
Amanieu d'Antras
3408c58bdf Fix AArch64 types in std::os::raw 2021-02-02 05:49:31 +00:00
Amanieu d'Antras
c3dedd0d81 Upgrade libc to 0.2.85 2021-02-02 05:49:22 +00:00
Aman Arora
84f0a0a1c6 New migration 2021-02-01 22:52:25 -05:00
bors
c196b59f7d Auto merge of #81651 - ehuss:update-cargo, r=ehuss
Update cargo

5 commits in c3abcfe8a75901c7c701557a728941e8fb19399e..e099df243bb2495b9b197f79c19f124032b1e778
2021-01-25 16:16:43 +0000 to 2021-02-01 16:24:34 +0000
- Impl warn for locked install without Cargo.lock (rust-lang/cargo#9108)
- Document -Z extra-link-arg. (rust-lang/cargo#9121)
- Flip 'foo' and 'bar' to be consistent (rust-lang/cargo#9120)
- Don't try to parse MSRV if feature is not enabled (rust-lang/cargo#9115)
- simplify char range check (rust-lang/cargo#9110)
2021-02-02 03:33:07 +00:00
Aman Arora
8f15cc1d88 PR fixup 2021-02-01 22:13:43 -05:00
Aman Arora
caf06bf5f5 Mark the lint doc as compile_fail 2021-02-01 22:13:42 -05:00
Aman Arora
3c71a7b60f Tests for 2229 lint 2021-02-01 22:01:31 -05:00
Manish Goregaokar
0fb09d6b21 exhaustive_structs: don't trigger for structs with private fields 2021-02-01 18:42:08 -08:00
Eric Huss
e7ee50a48c Update cargo 2021-02-01 17:51:31 -08:00
bors
461cbe42d0 Auto merge of #81557 - GuillaumeGomez:primitive-search, r=ollie27
Fix primitive search in parameters and returned values

Part of #60485.
Fixes #74780.

Replacing #74879.

cc `@camelid` `@jyn514` `@CraftSpider`
r? `@ollie27`
2021-02-02 00:15:06 +00:00
Aman Arora
cc5e6db5f2 Migrations first pass 2021-02-01 18:38:41 -05:00
Aman Arora
d3e85014a7 Process mentioned upvars for analysis first pass after ExprUseVisitor
- This allows us add fake information after handling migrations if
  needed.
- Capture analysis also priortizes what we see earlier, which means
  fake information should go in last.
2021-02-01 18:32:50 -05:00
Mara Bos
ed1de99b4f Fix bug with assert!() calling the wrong edition of panic!().
The span of `panic!` produced by the `assert` macro did not carry the
right edition. This changes `assert` to call the right version.
2021-02-01 23:23:27 +01:00
Mara Bos
5022ad0127 Add UI test for panic/assert in Rust 2021. 2021-02-01 23:23:27 +01:00
Felix S. Klock II
a7745d965e placate tidy. 2021-02-01 17:08:38 -05:00
Felix S. Klock II
532332fa8f Test exploring the interactions between all of the different kinds of method collisions I could imagine.
The different impls are all guarded by cfg-flags, and the revisions could be
used to cover the full power-set of combinations.

(I only included 20 of the possible 32 cases here; the null-set is not
interesting, and the remaining 11 all yielded ambiguous method resolution errors
which did not mix well with this testing strategy; I'm not trying to check UI
for the resolution diagnostics; I'm trying to create checkpoint of current
resolution semantics when compilation succeeds.)
2021-02-01 17:08:37 -05:00
Felix S. Klock II
ff4665f45f Regression tests for issue 81211. 2021-02-01 17:08:37 -05:00
Felix S. Klock II
2307d08d2f Use UFCS instead of method calls in derive(Debug). See issue 81211 for discussion. 2021-02-01 17:08:37 -05:00
Ellen
7f8530f16b more things are const evaluatable *sparkles* 2021-02-01 20:05:50 +00:00
bors
d4e3570db4 Auto merge of #80641 - Danue1:patch-1, r=oli-obk
Add visitors for checking #[inline]

For #80564
2021-02-01 19:31:01 +00:00
Nadrieril
ae6fcab733 Make SubPatSet clearer by flipping its meaning 2021-02-01 19:29:38 +00:00
LingMan
b35d601ab7 Directly use Option<&[T]> instead of converting from Option<&Vec<T>> later on 2021-02-01 19:51:24 +01:00
Jesus Rubio
9ef24f960b Update ui tests 2021-02-01 18:23:12 +01:00
Jesus Rubio
ee5ea24d36 Add long error explanation for E0521 2021-02-01 18:22:13 +01:00
bors
02b85d7220 Auto merge of #81625 - jonas-schievink:rollup-mshpp2n, r=jonas-schievink
Rollup of 12 pull requests

Successful merges:

 - #78641 (Let io::copy reuse BufWriter buffers)
 - #79291 (Add error message for private fn)
 - #81364 (Improve `rustc_mir_build::matches` docs)
 - #81387 (Move some tests to more reasonable directories - 3)
 - #81463 (Rename NLL* to Nll* accordingly to C-CASE)
 - #81504 (Suggest accessing field when appropriate)
 - #81529 (Fix invalid camel case suggestion involving unicode idents)
 - #81536 (Indicate both start and end of pass RSS in time-passes output)
 - #81592 (Rustdoc UI fixes)
 - #81594 (Avoid building LLVM just for llvm-dwp)
 - #81598 (Fix calling convention for CRT startup)
 - #81618 (Sync rustc_codegen_cranelift)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2021-02-01 16:30:22 +00:00
Guillaume Gomez
899b0dd1d1 Fix overflowing text on mobile when sidebar is displayed 2021-02-01 17:21:49 +01:00
Danuel
838f487fc5 Bless tests 2021-02-02 00:43:16 +09:00
Jack Huey
4b64bc1fc9 Upgrade Chalk 2021-02-01 10:37:45 -05:00
Guillaume Gomez
c013f2a735 Improve diff display in case the whole key in missing 2021-02-01 15:56:51 +01:00
Guillaume Gomez
d5243e3a97 Add test for primitive search 2021-02-01 15:56:51 +01:00
Guillaume Gomez
198e3aba8f Put back primitives in search 2021-02-01 15:56:51 +01:00
LingMan
8e34522309 Remove unneeded mut variable
`arg_elide` gets initialized, immediately cloned, and only written to after that.
The last reading access was removed back in
7704762604
2021-02-01 15:37:46 +01:00
Danuel
8bbb2d057d Fixed #[inline] to be warned in fields, arms, macro defs
Add visitors for checking #[inline]

Add visitors for checking #[inline] with struct field

Fix test for #[inline]

Add visitors for checking #[inline] with #[macro_export] macro

Add visitors for checking #[inline] without #[macro_export] macro

Add use alias with Visitor

Fix lint error

Reduce unnecessary variable

Co-authored-by: LingMan <LingMan@users.noreply.github.com>

Change error to warning

Add warning for checking field, arm with #[allow_internal_unstable]

Add name resolver

Formatting

Formatting

Fix error fixture

Add checking field, arm, macro def
2021-02-01 23:36:19 +09:00
Jonas Schievink
b3339ab828
Rollup merge of #81618 - bjorn3:sync_cg_clif-2021-02-01, r=bjorn3
Sync rustc_codegen_cranelift

The highlight of this sync are abi compatibility with cg_llvm allowing mixing of cg_clif and cg_llvm compiled crates and switching to the x64 cranelift backend based on the new backend framework.

r? ``@ghost``

``@rustbot`` label +A-codegen +A-cranelift +T-compiler
2021-02-01 14:29:47 +01:00