Commit Graph

109803 Commits

Author SHA1 Message Date
Esteban Küber
bd7ea5441e Use PredicateObligations instead of Predicates
Keep more information about trait binding failures.
2020-04-08 14:40:45 -07:00
bors
485c5fb6e1 Auto merge of #70931 - Dylan-DPC:rollup-f8orcao, r=Dylan-DPC
Rollup of 9 pull requests

Successful merges:

 - #70789 (remove false positives of unused_braces)
 - #70847 (ci: move /var/lib/docker to /mnt on GHA)
 - #70850 (BTreeMap first last proposal tweaks)
 - #70876 (Use a `SmallVec` for `Cache::predecessors`.)
 - #70883 (Clean up E0507 explanation)
 - #70892 (wf: refactor `compute_trait_ref`)
 - #70914 (Corrects a typo in rustdoc documentation.)
 - #70915 (Remove unnecessary TypeFlags::NOMINAL_FLAGS)
 - #70927 (Clean up E0510 explanation)

Failed merges:

r? @ghost
2020-04-08 17:55:45 +00:00
Dylan DPC
1498da87c2
Rollup merge of #70927 - GuillaumeGomez:cleanup-e0510, r=Dylan-DPC
Clean up E0510 explanation

r? @Dylan-DPC
2020-04-08 18:37:31 +02:00
Dylan DPC
bad8f0bd97
Rollup merge of #70915 - tsandstr:remove-nominal-flags, r=eddyb
Remove unnecessary TypeFlags::NOMINAL_FLAGS

This was a relic from when we had "nominal flags" and "cached
properties." The latter no longer exists, so nominal flags are no
longer necessary. In fact, every flag is considered a nominal flag. I
went ahead and removed all references to NOMINAL_FLAGS.

Fixes rust-lang#70836
2020-04-08 18:37:30 +02:00
Dylan DPC
9a84771a23
Rollup merge of #70914 - tsandstr:typo1, r=Dylan-DPC
Corrects a typo in rustdoc documentation.

Fixes rust-lang#70856

Sorry, I am just learning git and I think I may have accidentally done some wacky stuff that closed my last PR. Here it is again.
2020-04-08 18:37:28 +02:00
Dylan DPC
e3346e5b95
Rollup merge of #70892 - lcnr:interators_are_nice, r=nikomatsakis
wf: refactor `compute_trait_ref`

moves `extend_cause_with_original_assoc_item_obligation` out of `compute_trait_ref` and
changes `trait_assoc_items` to an iterator. This saves us from building an unnecessary `Vec<_>`

r? @eddyb i guess
2020-04-08 18:37:27 +02:00
Dylan DPC
66966667b5
Rollup merge of #70883 - GuillaumeGomez:cleanup-e0507, r=Dylan-DPC
Clean up E0507 explanation

r? @Dylan-DPC
2020-04-08 18:37:25 +02:00
Dylan DPC
e97a6e7bdc
Rollup merge of #70876 - nnethercote:smallvec-predecessors, r=estebank
Use a `SmallVec` for `Cache::predecessors`.

This is a very small win.
2020-04-08 18:37:24 +02:00
Dylan DPC
b9bb12640e
Rollup merge of #70850 - ssomers:btreemap_first_last, r=Amanieu
BTreeMap first last proposal tweaks

Clean-up and following up on a request in #62924.

Trying the reviewer of the original code #65637...
r? @scottmcm
2020-04-08 18:37:22 +02:00
Dylan DPC
54abd4ffcf
Rollup merge of #70847 - pietroalbini:ci-move-docker-lib, r=Mark-Simulacrum
ci: move /var/lib/docker to /mnt on GHA

There are some builders that are running out of disk space while building the Docker images, such as arm-android. This moves and symlinks `/var/lib/docker` to the `/mnt` partition on Linux GHA.

Example of a build failing because of this: https://github.com/rust-lang-ci/rust/runs/564628621
2020-04-08 18:37:18 +02:00
Dylan DPC
956e50bce1
Rollup merge of #70789 - lcnr:macros, r=varkor
remove false positives of unused_braces

fixes #70717

We could potentially be more aggressive when linting let bindings by checking if there are any explicit `ref`s.
I have been unable to create a snippet which compiles when using braces but has a borrowck error
without them. The closes I've gotten is [the following (playground)](https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=4a1552ebe9648cb13fcb8dd969189a6c).

r? @eddyb
2020-04-08 18:37:16 +02:00
Guillaume Gomez
80e3126ec1 Clean up E0510 explanation 2020-04-08 15:05:52 +02:00
Theo Sandstrom
4cdb2065ef Remove unnecessary TypeFlags::NOMINAL_FLAGS
This was a relic from when we had "nominal flags" and "cached
properties." The latter no longer exists, so nominal flags are no
longer necessary. In fact, every flag is considered a nominal flag. I
went ahead and removed all references to NOMINAL_FLAGS.

Fixes rust-lang#70836
2020-04-07 21:57:31 -04:00
Theo Sandstrom
d55c3998e0 Corrects a typo in rustdoc documentation.
Fixes rust-lang#70856
2020-04-07 18:37:35 -04:00
Bastian Kauschke
817f05986a remove false positives of unused_braces 2020-04-07 17:54:50 +02:00
Bastian Kauschke
ab4178bd7d wf: refactor compute_trait_ref 2020-04-07 17:49:47 +02:00
bors
42abbd8878 Auto merge of #70884 - Dylan-DPC:rollup-r3raqdf, r=jonas-schievink
Rollup of 5 pull requests

Successful merges:

 - #70201 (Small tweaks in ToOwned::clone_into)
 - #70762 (Miri leak check: memory reachable through globals is not leaked)
 - #70846 (Keep codegen units unmerged when building compiler builtins)
 - #70854 (Use assoc int submodules)
 - #70857 (Don't import integer and float modules, use assoc consts 2)

Failed merges:

r? @ghost
2020-04-07 13:43:30 +00:00
Dylan DPC
89d661f15d
Rollup merge of #70857 - faern:use-assoc-int-float-consts, r=dtolnay
Don't import integer and float modules, use assoc consts 2

Follow up to #70777. I missed quite a lot of places. Partially because I wanted to keep the size of the last PR down, and partially because my regexes were not good enough :)

r? @dtolnay
2020-04-07 14:46:59 +02:00
Dylan DPC
78c64d062a
Rollup merge of #70854 - faern:use-assoc-int-submodules, r=dtolnay
Use assoc int submodules

Bumping some submodules to the commits their masters currently point at. The main point of this is to get the associated integer/float constant documentation updates that were recently merged to them:

* https://github.com/rust-lang/nomicon/pull/207
* https://github.com/rust-lang/rust-by-example/pull/1327
* https://github.com/rust-lang/stdarch/pull/848

But for some, a few more changes slipped by that happened to be in the master branch of these submodules.

r? @dtolnay
2020-04-07 14:46:58 +02:00
Dylan DPC
f56fb51a8b
Rollup merge of #70846 - tmiasko:compiler-builtins-codegen-units, r=alexcrichton
Keep codegen units unmerged when building compiler builtins

Make it possible to control how mono items are partitioned into code generation
units, when compiling the compiler builtins, by retaining the original partitioning.

Helps with #48625, #61063, #67960, #70489.

r? @alexcrichton
2020-04-07 14:46:56 +02:00
Dylan DPC
f2c59bd603
Rollup merge of #70762 - RalfJung:miri-leak-check, r=oli-obk
Miri leak check: memory reachable through globals is not leaked

Also make Miri memory dump prettier by sharing more code with MIR dumping, and fix a bug where the Miri memory dump would print some allocations twice.

r? @oli-obk

Miri PR: https://github.com/rust-lang/miri/pull/1301
2020-04-07 14:46:55 +02:00
Dylan DPC
795bc2ccff
Rollup merge of #70201 - cuviper:clone_into, r=dtolnay
Small tweaks in ToOwned::clone_into

- `<[T]>::clone_into` is slightly more optimized.
- `CStr::clone_into` is new, letting it reuse its allocation.
- `OsStr::clone_into` now forwards to the underlying slice/`Vec`.
2020-04-07 14:46:53 +02:00
Guillaume Gomez
6569a2ec1b Clean up E0507 explanation 2020-04-07 14:08:04 +02:00
bors
39b62533c7 Auto merge of #70837 - nnethercote:speed-up-find_library_crate, r=petrochenkov
Speed up path searching with `find_library_crate`.

By doing prefix and suffix checking on a `String` copy of each relevant
`PathBuf`, rather than the `PathBuf` itself.
2020-04-07 07:12:51 +00:00
Nicholas Nethercote
a90661a780 Use a SmallVec for Cache::predecessors.
This is a very small win.
2020-04-07 15:12:50 +10:00
bors
209b2be09f Auto merge of #70164 - eddyb:walk-generic-arg, r=nikomatsakis
ty/walk: iterate `GenericArg`s instead of `Ty`s.

Before this PR, `Ty::walk` only iterated over `Ty`s, but that's becoming an increasing problem with `const` generics, as `ty::Const`s in `Substs` are missed by it.

By working with `GenericArg` instead, we can handle both `Ty`s and `ty::Const`s, but also `ty::Region`s, which used to require ad-hoc mechanisms such as `push_regions`.

I've also removed `TraitRef::input_types`, as it's both long obsolete, and easy to misuse.
2020-04-07 04:01:26 +00:00
Josh Stone
f854070bb8 Forward OsStr::clone_into to the inner Vec
Despite OS differences, they're all just `Vec<u8>` inside, so we can
just forward `clone_into` calls to that optimized implementation.
2020-04-06 18:26:37 -07:00
Josh Stone
b80fa76ee0 Implement ToOwned::clone_into for CStr
It can try to keep its allocation by converting the inner `Box` to
`Vec`, using `clone_into` on the bytes, then convert back to `Box`.
2020-04-06 18:26:37 -07:00
bors
bf1f2eedda Auto merge of #70865 - Dylan-DPC:rollup-jje2cuv, r=Dylan-DPC
Rollup of 5 pull requests

Successful merges:

 - #70612 (Add io::Write::write_all_vectored)
 - #70690 (Clean up E0501 explanation)
 - #70821 (expose suggestions::InferCtxtExt for clippy)
 - #70839 (clean up E0506 explanation)
 - #70859 (Move sanitize-inline-always test to sanitize directory)

Failed merges:

r? @ghost
2020-04-07 00:56:00 +00:00
Nicholas Nethercote
a932616cf1 Speed up path searching with find_library_crate.
By doing prefix and suffix checking on a `String` copy of each relevant
`PathBuf`, rather than the `PathBuf` itself.
2020-04-07 09:21:15 +10:00
Josh Stone
e8339e820b Use split_at in slice's ToOwned::clone_into
It appears to codegen slightly more efficiently with `split_at` taking
two slices at once, rather than slicing across different calls.
2020-04-06 15:50:59 -07:00
Linus Färnstrand
f7778d36c7 Use assoc integer constants in librustc_* 2020-04-07 00:43:16 +02:00
Linus Färnstrand
cf8df0157a Use assoc integer constants in libserialize 2020-04-07 00:43:15 +02:00
Dylan DPC
b9fe46d45b
Rollup merge of #70859 - tmiasko:move-sanitize-inline-always, r=jonas-schievink
Move sanitize-inline-always test to sanitize directory
2020-04-07 00:31:43 +02:00
Dylan DPC
6e412786de
Rollup merge of #70839 - GuillaumeGomez:cleanup-e0506, r=Dylan-DPC
clean up E0506 explanation

r? @Dylan-DPC
2020-04-07 00:31:41 +02:00
Dylan DPC
728136c73d
Rollup merge of #70821 - rkuhn:expose_suggestions_InferCtxtExt, r=eddyb
expose suggestions::InferCtxtExt for clippy

This is very useful to do good async/await diagnostic reporting, for example for https://github.com/rust-lang/rust-clippy/pull/5423.
2020-04-07 00:31:39 +02:00
Dylan DPC
7500bcfbb2
Rollup merge of #70690 - GuillaumeGomez:cleanup-e0501, r=Dylan-DPC
Clean up E0501 explanation

r? @Dylan-DPC
2020-04-07 00:31:38 +02:00
Dylan DPC
5768385615
Rollup merge of #70612 - Thomasdezeeuw:issue_70436, r=LukasKalbertodt
Add io::Write::write_all_vectored

Similar to io::Write::write_all but uses io::Write::write_vectored
instead.

Updates #70436

/cc @cramertj @sfackler
2020-04-07 00:31:36 +02:00
Thomas de Zeeuw
5d09f9f051 Put reference to write_vectored in quotes in doc 2020-04-07 00:00:07 +02:00
Linus Färnstrand
68b1af6624 Don't import integer module in libstd 2020-04-06 23:08:46 +02:00
Linus Färnstrand
3e4396b8b5 Use integer assoc consts in libcore 2020-04-06 23:08:12 +02:00
Linus Färnstrand
e4fc04b6df Use usize::MAX as assoc const in liballoc 2020-04-06 23:07:38 +02:00
Linus Färnstrand
09b5d666a0 Stop importing float module in libtest 2020-04-06 22:45:44 +02:00
Linus Färnstrand
ebcf1e7b73 Stop importing float module in libserialize 2020-04-06 22:45:29 +02:00
Linus Färnstrand
cf1c7edd2d Use assoc float consts in libcore 2020-04-06 22:44:51 +02:00
Linus Färnstrand
65e10e3436 Use assoc const f32::NAN in liballoc 2020-04-06 22:44:04 +02:00
Linus Färnstrand
01b3293e49 Bump stdarch submodule 2020-04-06 22:16:09 +02:00
Linus Färnstrand
d0a78ea94a Bump rust-by-example submodule 2020-04-06 22:14:35 +02:00
Linus Färnstrand
e1a36e89db Bump nomicon submodule 2020-04-06 22:13:31 +02:00
Eduard-Mihai Burtescu
626abc7977 ty: remove {Existential,}Trait{Ref,Predicate}::input_types. 2020-04-06 21:55:51 +03:00