Commit Graph

99942 Commits

Author SHA1 Message Date
Mazdak Farrokhzad
c623aa4a54
Rollup merge of #63356 - ali-raheem:issue#63183, r=KodrAus
Issue#63183: Add fs::read_dir() and ReadDir warning about iterator order + example

As per https://github.com/rust-lang/rust/issues/63183

Add warning about iterator order to read_dir and ReadDir, add example of explicitly ordering direntrys.
2019-09-24 23:45:13 +02:00
Mazdak Farrokhzad
7b71abdb54 Fix #64744 -- handle zero sub-pats case. 2019-09-24 22:42:45 +02:00
Aaron Hill
61cfe92a99
Add additional tests for type alias impl trait coherence 2019-09-24 15:59:02 -04:00
Esteban Küber
b7ca1c5a1e fix rebase 2019-09-24 11:55:53 -07:00
Esteban Küber
affa038c29 clean up, push silencing logic to more relevant places 2019-09-24 11:31:14 -07:00
Esteban Küber
d9ab4ff9a3 Remove blanket silencing of "type annotation needed" errors
Remove blanket check for existence of other errors before emitting
"type annotation needed" errors, and add some eager checks to avoid
adding obligations when they refer to types that reference
`[type error]` in order to reduce unneded errors.
2019-09-24 11:31:14 -07:00
Niko Matsakis
99dc545552 add a rustdoc comment to the reservation impl 2019-09-24 21:11:51 +03:00
Niko Matsakis
167ab0439e nit: update error text to cite tracking issue 2019-09-24 21:11:50 +03:00
Niko Matsakis
da60c53fa7 nit: update text to avoid "lattice specialization" term 2019-09-24 21:11:50 +03:00
Niko Matsakis
b40a64da4f remove outdated fixme 2019-09-24 21:11:50 +03:00
Niko Matsakis
68fd593a22 cite reservation impls tracking issue 2019-09-24 21:11:50 +03:00
Ariel Ben-Yehuda
5de1fafb15 improve comment 2019-09-24 21:11:50 +03:00
Ariel Ben-Yehuda
d7eb562080 add test for lattice specialization 2019-09-24 21:11:50 +03:00
Ariel Ben-Yehuda
9196b2d0c8 add error message for case 2019-09-24 21:11:50 +03:00
Ariel Ben-Yehuda
b5665e811b improve comments 2019-09-24 21:11:50 +03:00
Ariel Ben-Yehuda
1ec7ae14fa resolve the rustc_reservation_impl attribute in 1 place 2019-09-24 21:11:50 +03:00
Ariel Ben-Yehuda
9a94ecde04 improve and add tests 2019-09-24 21:11:50 +03:00
Ariel Ben-Yehuda
5d79e8c4c9 reserve impl<T> From<!> for T
this is necessary for never-type stabilization
2019-09-24 21:11:50 +03:00
Alex Crichton
5c5e3facab Update cargo
11 commits in b6c6f685b38d523580813b0031677c2298f458ea..aa6b7e01abce30091cc594cb23a15c46cead6e24
2019-09-19 21:10:09 +0000 to 2019-09-24 17:19:12 +0000
- Fix interpretation of `--features a b` on the CLI (rust-lang/cargo#7419)
- Update env_logger requirement from 0.6.0 to 0.7.0 (rust-lang/cargo#7422)
- Update some unstable docs (rust-lang/cargo#7407)
- Fix xcompile tests. (rust-lang/cargo#7408)
- -Ztimings: Fix more scale problems. (rust-lang/cargo#7403)
- Fix some rendering issues with -Ztimings. (rust-lang/cargo#7397)
- -Ztimings: show max jobs/cpus (rust-lang/cargo#7398)
- Fix -Ztimings with doc tests. (rust-lang/cargo#7395)
- Add documentation for the -Zdoctest-xcompile feature (rust-lang/cargo#7391)
- Fix integration tests waiting for binaries to finish. (rust-lang/cargo#7394)
- Extract Platform to a separate crate. (rust-lang/cargo#7375)
2019-09-24 11:06:56 -07:00
Pietro Albini
e8cf46e909
relnotes: make compatibility section more sterile and fix rustc version 2019-09-24 18:36:01 +02:00
Aaron Hill
33e1dd7864
Fix coherence checking for impl trait in type aliases
Fixes #63677

RFC #2071 (impl-trait-existential-types) does not explicitly state how
impl trait type alises should interact with coherence. However, there's
only one choice which makes sense - coherence should look at the
underlying type (i.e. the 'defining' type of the impl trait) of the type
alias, just like we do for non-impl-trait type aliases.

Specifically, impl trait type alises which resolve to a local type
should be treated like a local type with respect to coherence (e.g.
impl trait type aliases which resolve to a forieign type should be
treated as a foreign type, and those that resolve to a local type should
be treated as a local type).

Since neither inherent impls nor direct trait impl (i.e. `impl MyType`
or `impl MyTrait for MyType`) are allowd for type aliases, this
usually does not come up. Before we ever attempt to do coherence
checking, we will have errored out if an impl trait type alias was used
directly in an 'impl' clause.

However, during trait selection, we sometimes need to prove bounds like
'T: Sized' for some type 'T'. If 'T' is an impl trait type alias, this
requires to know the coherence behavior for impl trait type aliases when
we perform coherence checking.

Note: Since determining the underlying type of an impl trait type alias
requires us to perform body type checking, this commit causes us to type
check some bodies easlier than we otherwise would have. However, since
this is done through a query, this shouldn't cause any problems

For completeness, I've added an additional test of the coherence-related
behavior of impl trait type aliases.
2019-09-24 11:14:35 -04:00
gnzlbg
e6239bb817 Add some more tests 2019-09-24 17:02:01 +02:00
gnzlbg
f0bbd2b71c Move tests to SIMD subdirectory 2019-09-24 16:52:03 +02:00
gnzlbg
75d8199ab1 Add a fail test 2019-09-24 16:48:17 +02:00
gnzlbg
03ac54aed6 Add const-eval support for SIMD types, insert, and extract 2019-09-24 16:14:43 +02:00
jordins
62dc7948d1 fix several issues in String docs
- In some places &str was shown instead of String.
- into_bytes is the reverse of from_utf8

Fixes #63797
2019-09-24 15:25:24 +02:00
bors
6ef275e6c3 Auto merge of #63770 - oli-obk:allow_internal_unstable, r=Centril
Stabilize `str::len`, `[T]::len` and `str::as_bytes` as const fn

r? @Centril

cc @RalfJung

This also introduces a scheme for making certain feature gates legal in stabilized const fns
2019-09-24 10:58:41 +00:00
Oliver Scherer
7767e7fb16 Stabilize str::len, [T]::len, is_empty and str::as_bytes as const fn 2019-09-24 12:56:44 +02:00
bors
7fdea7a72a Auto merge of #64316 - alexcrichton:cleanup-shim, r=Mark-Simulacrum
Delete most of `src/bootstrap/bin/rustc.rs`

This commit is an attempt at deleting as much of the `rustc.rs` shim that we have in rustbuild as possible.  This shim predates `RUSTFLAGS` and is as old as rustbuild itself. While useful for quick hacks, it subverts Cargo's knowledge of `rustc`, makes it more difficult to build crates out of rustbuild, and is generally a hazard/code smell due to its architecture.

Additionally since the inception of this script we've added a number of features to Cargo such as profile overrides and `RUSTFLAGS`. This commit attempts to use these features of Cargo as much as possible to delete almost all of `src/bootstrap/bin/rustc.rs`. It's hoped that all new configuration for the Rust compiler can be codified in rustbuild rather than in this shim, allowing Cargo to have more knowledge about what's going on and making it a bit easier to reproduce builds outside of Cargo itself.

This was primarily motivated by some recent work on std-aware Cargo, and is also generally a cleanup of the script itself. This internally resulted in a number of refactorings of rustbuild itself, and the commits should be readable one-at-a-time instead of having to digest them all at once.
2019-09-24 06:41:15 +00:00
csmoe
a744fd0432 bug-out asyncness query on non-local funtions 2019-09-24 06:17:54 +00:00
Scott McMurray
6ac64abd6d Just delete the overrides now that they match the default implementations 2019-09-23 23:10:45 -07:00
Guanqun Lu
5aa5d57808 fix one typo 2019-09-24 10:29:09 +08:00
hman523
a6da0e921b changed a line from an if else to std::cmp::max 2019-09-23 19:51:15 -05:00
Mark Rousskov
a3639c6859 Make all alt builders produce parallel-enabled compilers
We're not quite ready to ship parallel compilers by default, but the alt
builders are not used too much (in theory), so we believe that shipping
a possibly-broken compiler there is not too problematic.
2019-09-23 19:27:17 -04:00
hman523
fa2cfaf064 Fixed issue from #64447 2019-09-23 18:20:21 -05:00
n-salim
75ecbe2d84
Merge pull request #29 from Wind-River/cleanup
remove rtp.rs and move rtpSpawn, RTP_ID_ERROR to libc
2019-09-23 15:39:48 -07:00
Baoshan Pang
b548814a8b remove rtp.rs, and move rtpSpawn and RTP_ID_ERROR to libc 2019-09-23 15:37:18 -07:00
Dylan MacKenzie
c9e4816fe3 Add convenience function for detecting cyclic CFGs 2019-09-23 15:26:41 -07:00
Dylan MacKenzie
4fd9b9944f Add cycle detection for graphs 2019-09-23 15:26:41 -07:00
n-salim
cd88dae211
Merge pull request #26 from rust-lang/master
Sync to rust-lang/rust master
2019-09-23 14:12:26 -07:00
Baoshan
27532330e9
Merge pull request #28 from rust-lang/master
Sync to rust-lang/rust master
2019-09-23 14:09:23 -07:00
Alex Crichton
f00c6346b4 Allow using upstream generics in a dylib crate type
... just don't export them!
2019-09-23 14:01:06 -07:00
Mazdak Farrokhzad
f70665a846 cleanup librustc_errors Handler code. 2019-09-23 22:28:14 +02:00
Andrew Banchich
8acf95886b
update test
Use assert_eq and assert_ne over comparison operators.
2019-09-23 16:09:36 -04:00
Alex Crichton
50c57d8c80 rustc: Fix mixing crates with different share_generics
This commit addresses #64319 by removing the `dylib` crate type from the
list of crate type that exports generic symbols. The bug in #64319
arises because a `dylib` crate type was trying to export a symbol in an
uptream crate but it miscalculated the symbol name of the uptream
symbol. This isn't really necessary, though, since `dylib` crates aren't
that heavily used, so we can just conservatively say that the `dylib`
crate type never exports generic symbols, forcibly removing them from
the exported symbol lists if were to otherwise find them.

The fix here happens in two places:

* First is in the `local_crate_exports_generics` method, indicating that
  it's now `false` for the `Dylib` crate type. Only rlibs actually
  export generics at this point.

* Next is when we load exported symbols from upstream crate. If, for our
  compilation session, the crate may be included from a dynamic library,
  then its generic symbols are removed. When the crate was linked into a
  dynamic library its symbols weren't exported, so we can't consider
  them a candidate to link against.

Overally this should avoid situations where we incorrectly calculate the
upstream symbol names in the face of differnet `share_generics` options,
ultimately...

Closes #64319
2019-09-23 12:29:51 -07:00
Alex Crichton
5d531aeaf4 rustc: Convert dependency_formats to a query
This commit converts a field of `Session`, `dependency_formats`, into a
query of `TyCtxt`. This information then also needed to be threaded
through to other remaining portions of the linker, but it's relatively
straightforward. The only change here is that instead of
`HashMap<CrateType, T>` the data structure changed to `Vec<(CrateType,
T)>` to make it easier to deal with in queries.
2019-09-23 12:29:51 -07:00
Georg Semmler
2666ae5caa
Remove whitespace from testname 2019-09-23 21:29:12 +02:00
Mazdak Farrokhzad
62fc4d36df stash_diagnostic: ICE in a different way 2019-09-23 19:29:02 +02:00
Alex Crichton
1a8897fd8a Fix rebase conflicts 2019-09-23 09:35:50 -07:00
Alex Crichton
b923306913 Remove --enable-extended from cross dist builder
Shouldn't have an effect on produced artifacts and otherwise is causing
issues where `-Zsave-analysis` is passed during tests but fails
compilation.
2019-09-23 09:34:44 -07:00