Commit Graph

124261 Commits

Author SHA1 Message Date
Yuki Okushi
01b069db67
Rollup merge of #74703 - tmandry:issue-74047, r=oli-obk
Fix ICE while building MIR with type errors

See https://github.com/rust-lang/rust/issues/74047#issuecomment-663290913 for background. Replacing a binding with `PatKind::Wild` (introduced in #51789 and later refactored in #67439) caused an ICE downstream while building MIR.

I noticed that taking this code out no longer triggers the ICEs it was added to prevent. I'm not sure what else changed, or if this change is _correct_, but it does seem to be passing ui tests at least.

r? @oli-obk
cc @estebank

Fixes #74047.
2020-07-24 18:56:43 +09:00
Yuki Okushi
2406c932d7
Rollup merge of #74694 - GuillaumeGomez:cleanup-e0727, r=Dylan-DPC
Clean up E0727 explanation

r? @Dylan-DPC
2020-07-24 18:56:42 +09:00
Yuki Okushi
90f2816257
Rollup merge of #74680 - JohnTitor:missing-backticks, r=lcnr
Add missing backticks in diagnostics note
2020-07-24 18:56:40 +09:00
Yuki Okushi
fab9b1d4cd
Rollup merge of #74677 - ssomers:btree_cleanup_2, r=Amanieu
Remove needless unsafety from BTreeMap::drain_filter

Remove one piece of unsafe code in the iteration over the iterator returned by BTreeMap::drain_filter.
- Changes an explicitly unspecified part of the API: when the user-supplied predicate (or some of BTreeMap's code) panicked, and the caller tries to use the iterator again, we no longer offer the same key/value pair to the predicate again but pretend the iterator has finished. Note that Miri does not find UB in the test case added here with the unsafe code (or without).
- Makes the code a little easier on the eyes.
- Makes the code a little harder on the CPU:
```
benchcmp c0 c2 --threshold 3
 name                                         c0 ns/iter  c2 ns/iter  diff ns/iter  diff %  speedup
 btree::set::clone_100_and_drain_all          2,794       2,900                106   3.79%   x 0.96
 btree::set::clone_100_and_drain_half         2,604       2,964                360  13.82%   x 0.88
 btree::set::clone_10k_and_drain_half         287,770     322,755           34,985  12.16%   x 0.89
```
r? @Amanieu
2020-07-24 18:56:38 +09:00
Yuki Okushi
7f2bb29907
Rollup merge of #74669 - Homarechan:fix_typo, r=lcnr
Fix typo
2020-07-24 18:56:36 +09:00
Yuki Okushi
cff59532a8
Rollup merge of #74666 - ssomers:btree_cleanup_1, r=Mark-Simulacrum
More BTreeMap test cases, some exposing undefined behaviour

Gathered from other ongoing PRs and all either blessed or ignored by Miri

r? @Mark-Simulacrum
2020-07-24 18:56:34 +09:00
Yuki Okushi
1f6d5ce4ab
Rollup merge of #74665 - smmalis37:issue-62200, r=davidtwco
Don't ICE on unconstrained anonymous lifetimes inside associated types.

Fixes #62200. The change here is inspired (copied) by how this case is handled on bare fns at e8b55a4ad2/src/librustc_typeck/astconv.rs (L3083-L3106).
2020-07-24 18:56:32 +09:00
Yuki Okushi
a02aecba21
Rollup merge of #74623 - lcnr:polymorphize-functions, r=eddyb
polymorphize GlobalAlloc::Function

this sadly does not change #74614

r? @eddyb
2020-07-24 18:56:31 +09:00
Yuki Okushi
a816345536
Rollup merge of #74601 - GuillaumeGomez:cleanup-e0724, r=jyn514
Clean up E0724 explanation

r? @Dylan-DPC
2020-07-24 18:56:29 +09:00
Yuki Okushi
0651dd4aab
Rollup merge of #74572 - Mark-Simulacrum:unify-rustc-depr, r=petrochenkov
Internally unify rustc_deprecated and deprecated

This PR intentionally tries to be "featureless" in that the behavior is not altered for either attribute, though it more clearly exposes cases where that is the case in the code.
2020-07-24 18:56:27 +09:00
Yuki Okushi
52476f53dd
Rollup merge of #74504 - lzutao:ayu-border-selected-fn, r=GuillaumeGomez
Add right border bar to Dark and Light theme

Demo:
Light theme: https://github.com/rust-lang/rust/pull/74504#issuecomment-662491120
Dark theme: https://github.com/rust-lang/rust/pull/74504#issuecomment-662522446
Ayu theme: https://github.com/rust-lang/rust/pull/74504#issuecomment-662625685
2020-07-24 18:56:25 +09:00
Yuki Okushi
38b295699f
Rollup merge of #74361 - GuillaumeGomez:theme-logo, r=Manishearth
Improve doc theme logo display

Fixes #74350.

The first commit cleans up the whitespaces and converts them to tabs. We should definitely write a tidy check for this (will do it in another PR).

Screenshots:

![Screenshot from 2020-07-15 14-08-25](https://user-images.githubusercontent.com/3050060/87543748-8581c800-c6a5-11ea-8417-cbf98ebbfd10.png)
![Screenshot from 2020-07-15 14-11-59](https://user-images.githubusercontent.com/3050060/87543747-84e93180-c6a5-11ea-8cea-976b1470e809.png)
![Screenshot from 2020-07-15 14-12-12](https://user-images.githubusercontent.com/3050060/87543745-84509b00-c6a5-11ea-8324-c3c46ab2d9ef.png)

r? @lzutao
cc @Cldfire
2020-07-24 18:56:22 +09:00
Lzu Tao
7005ddb50d Add right border bar to Dark and Light theme
Ayu has it. Adding similar rule to other themes makes users less
surprised and makes GUI more consistent.
2020-07-24 02:09:14 +00:00
Lzu Tao
ccbb024d83 ayu: Change to less luminous color
Co-authored-by: Cldfire <cldfire@3grid.net>
2020-07-24 02:09:07 +00:00
Tyler Mandry
62e75a1f22 Fix ICE while building MIR with type errors
Fixes #74047.
2020-07-23 17:41:05 -07:00
Ayrton
b75ed4f61c added a test case for reporting mismatched traits 2020-07-23 20:21:28 -04:00
Esteban Küber
d090e5ed33 Account for trailing closing angle brackets 2020-07-23 16:25:39 -07:00
Alexis Bourget
b36479fcf8 Fix nit 2020-07-23 23:30:16 +02:00
Alexis Bourget
f8335fb1e4 Fix nit and add link for Cow 2020-07-23 23:19:26 +02:00
Ayrton
bae1e03109 fixed error reporting for mismatched traits
mismatched traits were previously referred to as types
2020-07-23 17:07:20 -04:00
Alexis Bourget
771ec216bc Remove unecessary link 2020-07-23 22:35:22 +02:00
bors
0820e54a8a Auto merge of #74685 - ehuss:update-cargo, r=ehuss
Update cargo

21 commits in 43cf77395cad5b79887b20b7cf19d418bbd703a9..aa6872140ab0fa10f641ab0b981d5330d419e927
2020-07-13 17:35:42 +0000 to 2020-07-23 13:46:27 +0000
- Update features set in CI. (rust-lang/cargo#8530)
- Stabilize -Z crate-versions (rust-lang/cargo#8509)
- Fix typo in docs (rust-lang/cargo#8529)
- Remove unused CompileMode::all_modes (rust-lang/cargo#8526)
- Mask out system core.autocrlf settings before resetting git repos (rust-lang/cargo#8523)
- Flag git zlib errors as spurious errors (rust-lang/cargo#8520)
- Fix the help display for the target-triple option (rust-lang/cargo#8515)
- Check workspace member existence as dir. (rust-lang/cargo#8511)
- Bump to 0.48.0, update changelog (rust-lang/cargo#8508)
- Apply workspace.exclude to workspace.default-members. (rust-lang/cargo#8485)
- Fix nightly tests for intra-doc links. (rust-lang/cargo#8528)
- doc: Replace "regenerate" with "revoke" for API tokens (rust-lang/cargo#8510)
- Add back Manifest::targets_mut (rust-lang/cargo#8494)
- Build host dependencies with opt-level 0 by default (rust-lang/cargo#8500)
- Fix freshness checks for build scripts on renamed dirs (rust-lang/cargo#8497)
- Add a `-Zbuild-std-features` flag (rust-lang/cargo#8490)
- clippy cleanups (rust-lang/cargo#8495)
- Fix self-publish script. (rust-lang/cargo#8492)
- Ensure `unstable.build-std` works like `-Zbuild-std` (rust-lang/cargo#8491)
- Make `cargo metadata` output deterministic (rust-lang/cargo#8489)
- Switch to github actions (rust-lang/cargo#8467)
2020-07-23 20:15:28 +00:00
Guillaume Gomez
d6b50d8230 Clean up E0724 explanation 2020-07-23 21:16:16 +02:00
Guillaume Gomez
9be9d728e9 Clean up E0727 explanation 2020-07-23 21:11:40 +02:00
Mark Rousskov
5a5846f4c7 delay_span_bug instead of silent ignore 2020-07-23 14:51:46 -04:00
bors
79f948ec0a Auto merge of #5829 - JohnTitor:epsilon, r=flip1995
Use `(std::)f64::EPSILON` in the examples as suggested in the lints

`float_cmp(_const)` suggests using `{f32|f64}::EPSILON` and it'd be great if the docs mentioned it.

changelog: none
2020-07-23 18:48:35 +00:00
bors
b4e4fa51ea Auto merge of #5832 - rust-lang:update_usage_instr, r=Manishearth
Update Usage section of README.md

Fixes #5826

changelog: none
2020-07-23 18:15:08 +00:00
Esteban Küber
20f4e5d9c2 Detect turbofish missing surrounding angle brackets 2020-07-23 09:35:49 -07:00
Stein Somers
facc46fd0a BTreeMap::drain_filter: replace needless unsafety and test 2020-07-23 18:29:07 +02:00
Bastian Kauschke
61a9ab8fe6 slightly adapt const prop 2020-07-23 17:58:54 +02:00
Eric Huss
76103f1d15 Update cargo 2020-07-23 08:28:50 -07:00
Ralf Jung
67b4f3b148 avoid implicitly returning () 2020-07-23 17:12:31 +02:00
Ralf Jung
c8229cdfc1 on Windows, use miri_static_root for TLS dtors 2020-07-23 17:12:31 +02:00
bors
39a295f526 Auto merge of #74509 - matthewjasper:empty-verify, r=nikomatsakis
Use `ReEmpty(U0)` as the implicit region bound in typeck

Fixes #74429

r? @nikomatsakis
2020-07-23 13:43:42 +00:00
Yuki Okushi
3f4f3134d9
Add missing backticks in diagnostics note 2020-07-23 21:52:48 +09:00
Bastian Kauschke
5f1eea93a9 test usage 2020-07-23 14:30:01 +02:00
Bastian Kauschke
9910f156df add more complex param order test 2020-07-23 13:19:35 +02:00
Ralf Jung
1b446cdbf0 replace miri_start_panic intrinsic by 'extern fn' 2020-07-23 13:15:50 +02:00
bors
371917ab21 Auto merge of #74613 - Mark-Simulacrum:revert-gimli, r=nnethercote
Revert libbacktrace -> gimli

This reverts 4cbd265c11 028f8d7b85 13db3cc1e8 d7a36d8964 (and technically 79673d3009 but it's made empty by previous reverts).

The current plan is to land this PR as a temporary change, so that we can get a better handle on the regressions introduced by it. Trying to fix/examine them in master is difficult, and we want to be better able to evaluate them without impact to other PRs being landed in the mean time.

That said, it is currently *my* belief that gimli, in one form or another, will need to land sometime soon. I think it's quite likely that it may slip a week or two, but I would personally push for re-landing it then "regardless" of the regressions. We should try to focus efforts on understanding and removing as much of the performance impact as possible, as everyone pretty much agrees that it should be quite minimal (and entirely in the linker, basically).

r? @nnethercote
2020-07-23 11:14:48 +00:00
Bastian Kauschke
6dc6a1f947 cleanup 2020-07-23 13:04:44 +02:00
Bastian Kauschke
e41072479e fix ICE caused by wrongly ordered generic params 2020-07-23 12:29:05 +02:00
Bastian Kauschke
8a2e4262e8 stop sorting generic params 2020-07-23 12:29:05 +02:00
bors
2bbfa02b1b Auto merge of #74667 - Manishearth:rollup-s6k59sw, r=Manishearth
Rollup of 8 pull requests

Successful merges:

 - #74141 (libstd/libcore: fix various typos)
 - #74490 (add a Backtrace::disabled function)
 - #74548 (one more Path::with_extension example, to demonstrate behavior)
 - #74587 (Prefer constant over function)
 - #74606 (Remove Linux workarounds for missing CLOEXEC support)
 - #74637 (Make str point to primitive page)
 - #74654 (require type defaults to be after const generic parameters)
 - #74659 (Improve codegen for unchecked float casts on wasm)

Failed merges:

r? @ghost
2020-07-23 08:56:45 +00:00
Bastian Kauschke
49b1971263
add const generics 2020-07-23 10:55:20 +02:00
Tyler Mandry
83a9dc92d5 Normalize bounds fully when checking defaulted types 2020-07-23 01:34:35 -07:00
kanimum
37f6f7f4af
Fix typo 2020-07-23 17:29:52 +09:00
Martin Sirringhaus
e46219c169 Downgrade glibc to 2.11.1 for ppc, ppc64 and s390x 2020-07-23 10:03:37 +02:00
Manish Goregaokar
8f02f2c1ab
Rollup merge of #74659 - alexcrichton:wasm-codegen, r=varkor
Improve codegen for unchecked float casts on wasm

This commit improves codegen for unchecked casts on WebAssembly targets
to use the singluar `iNN.trunc_fMM_{u,s}` instructions. Previously rustc
would codegen a bare `fptosi` and `fptoui` for float casts but for
WebAssembly targets the codegen for these instructions is quite large.
This large codegen is due to the fact that LLVM can speculate these
instructions so the trapping behavior of WebAssembly needs to be
protected against in case they're speculated.

The change here is to update the codegen for the unchecked cast
intrinsics to have a wasm-specific case where they call the appropriate
LLVM intrinsic to generate the right wasm instruction. The intrinsic is
explicitly opting-in to undefined behavior so a trap here for
out-of-bounds inputs on wasm should be acceptable.

cc #73591
2020-07-23 00:42:20 -07:00
Manish Goregaokar
e9d4134467
Rollup merge of #74654 - lcnr:default-no-more, r=varkor
require type defaults to be after const generic parameters

From current discussions it seems like the goal here is for type and const parameters to be unordered and allow things like `struct Foo<const N: usize, T = u32>(T)` and `struct Foo<T, const N: usize = 7>` this way.

Note: This means that using `min_const_generics` it will not be possible for an adt to have both type defaults and const parameters.

closes #70471

r? @varkor @eddyb
2020-07-23 00:42:18 -07:00
Manish Goregaokar
9f2ef3f62d
Rollup merge of #74637 - lzutao:str-primitive-links, r=jyn514
Make str point to primitive page

Currently str in String page points to str module page.
2020-07-23 00:42:16 -07:00