Commit Graph

90975 Commits

Author SHA1 Message Date
Eduard-Mihai Burtescu
3bad9f7b3d rustc: implement fmt::{Debug,Display} on Ty instead of TyS. 2019-03-15 09:26:13 +02:00
Eduard-Mihai Burtescu
01fa283d6f rustc: remove fmt::{Debug,Display} from ty::TyKind. 2019-03-15 09:26:13 +02:00
Eduard-Mihai Burtescu
0b3ab4018b rustc: keep a TyCtxt in PrintCx and use it instead of ty::tls. 2019-03-15 09:26:13 +02:00
Eduard-Mihai Burtescu
5f3841ca2f rustc: rename PrintContext to PrintCx. 2019-03-15 09:26:13 +02:00
Eduard-Mihai Burtescu
c684814102 rustc: don't support missing TLS TyCtxt in ty::print. 2019-03-15 09:26:13 +02:00
Eduard-Mihai Burtescu
852fc6d2b6 rustc: don't support tcx.lift returning None in ppaux. 2019-03-15 09:26:13 +02:00
Eduard-Mihai Burtescu
372b1a5930 rustc: uniformize all lift expect messages to "could not lift for printing". 2019-03-15 09:26:13 +02:00
Eduard-Mihai Burtescu
297546e62d rustc: add a 'tcx parameter to Print. 2019-03-15 09:26:13 +02:00
Eduard-Mihai Burtescu
382d24e7d7 rustc: start moving util::ppaux to ty::print. 2019-03-15 09:26:13 +02:00
Eduard-Mihai Burtescu
228d6f45d8 rustc: remove unnecessary extern_prelude logic from ty::item_path. 2019-03-15 09:26:13 +02:00
bors
70d1150478 Auto merge of #58710 - EdorianDark:master, r=sfackler
Add clamp for ranges. Implements #44095

Ready for merge
2019-03-15 06:23:21 +00:00
O01eg
bcf1a179ae
Output diagnostic information for rustdoc.
Use the information same as rustc.
2019-03-15 08:50:08 +03:00
Mateusz Mikuła
451343e0f3
Fix TARGET variable in musl-toolchain.sh 2019-03-15 01:19:54 +01:00
Tyler Mandry
7c59ce9f5d Add -Z allow_features=... flag 2019-03-14 15:42:20 -07:00
Tyler Mandry
fa8fd3daa7 Add support for comma-separated option lists 2019-03-14 15:06:12 -07:00
lukaslueg
d1fcd86738
Update sources.rs
The current language may be amusing, yet is just imprecise and most especially difficult to understand for someone who speaks English as a foreign language.
2019-03-14 17:06:46 +01:00
Mateusz Mikuła
f364f483a3 Address final review 2019-03-14 16:55:47 +01:00
bors
bc44841ad2 Auto merge of #59181 - RalfJung:miri, r=oli-obk
update miri

Fixes https://github.com/rust-lang/rust/issues/59059

r? @oli-obk
2019-03-14 15:37:26 +00:00
Ralf Jung
51bbf30698 update miri 2019-03-14 15:25:23 +01:00
Taiki Endo
ab19e5870e Use try blocks in rustc_codegen_ssa 2019-03-14 23:12:56 +09:00
bors
3163c58ea5 Auto merge of #58176 - Zoxc:lint-levels, r=oli-obk
Only insert nodes which changes lint levels in the LintLevelMap

r? @eddyb
2019-03-14 12:09:13 +00:00
bors
2a8f6a7806 Auto merge of #58488 - wesleywiser:llvm_prof, r=michaelwoerister
Replace TimeLine LLVM profiling with the self profiler
2019-03-14 08:38:56 +00:00
John Kåre Alsaker
41cdf07483 Run RustdocUi earlier 2019-03-14 06:35:48 +01:00
John Kåre Alsaker
88d43a052a Don't run test launching echo since that doesn't exist on Windows 2019-03-14 05:53:44 +01:00
Emilio Cobos Álvarez
e7b7c417e6 bootstrap: Default to a sensible llvm-suffix.
I used version-channel-sha, hopefully that should work.

I checked that bootstrap builds, but I cannot check anything else since the llvm
build process is started from cargo, and thus calls clang, and thus I hit the
same bug I hope to fix with this change.

Hopefully fixes #59034.
2019-03-14 03:06:45 +01:00
bors
0ad3207745 Auto merge of #59120 - alexreg:move-issue-tests-1, r=varkor
Moved issue tests to subdirs and normalised names

Consistency, decluttering, ease of navigation :-)

r? @Centril
2019-03-14 01:28:18 +00:00
Alexander Regueiro
fe30743c79 Moved issue tests to subdirs and normalised names. 2019-03-14 01:00:49 +00:00
Mateusz Mikuła
17464a7b87 Final cleanups 2019-03-13 22:36:22 +01:00
Mateusz Mikuła
66de5c6e90 Move testing to test-various 2019-03-13 22:21:06 +01:00
Mateusz Mikuła
4dd57efae2 Disable relax relocations again 2019-03-13 22:21:06 +01:00
Mateusz Mikuła
cbc1ce0b84 Drop copyright notice from musl-toolchain 2019-03-13 22:21:06 +01:00
Mateusz Mikuła
cacb3053e8 musl: update LLVM to 7 2019-03-13 22:21:06 +01:00
Martell Malone
52a3311dc9 Address review comments 2019-03-13 22:21:06 +01:00
Jonathan Sieber
3f107fd43a musl-toolchain: fix global lib paths (dont create /lib/libc.so) 2019-03-13 22:21:06 +01:00
Jonathan Sieber
8e2aa524ed Make the musl dynamic loader known to the system, so it can execute target binaries 2019-03-13 22:21:06 +01:00
Jonathan Sieber
aecb32ce6e build a proper c++-enabled musl toolchain with musl-cross-make 2019-03-13 22:21:06 +01:00
Jonathan Sieber
3729e48bf2 Set RUSTFLAGS env to make dylib work
The musl-target doesn't automatically disable static linking of musl when building a dylib, and then complains it can't build a dylib.
As a workaround, disable static linking via RUSTFLAGS, to see how far the build gets.
The proper fix is to have rustc figure that out automagically.
2019-03-13 22:21:06 +01:00
JonathanS
880b041f3c Enable dist-x86_64-musl as a host architexture 2019-03-13 22:21:06 +01:00
Andy Russell
5abd6d9492
add suggestions to invalid macro item error 2019-03-13 15:24:36 -04:00
bors
719b0d9849 Auto merge of #59143 - ehuss:update-cargo, r=ehuss
Update cargo

6 commits in 95b45eca19ac785263fed98ecefe540bb47337ac..0e35bd8af0ec72d3225c4819b330b94628f0e9d0
2019-03-06 19:24:30 +0000 to 2019-03-13 06:52:51 +0000
- Make `hg` optional for tests. (rust-lang/cargo#6739)
- Fingerprint build script deps only for path packages. (rust-lang/cargo#6734)
- Add --quiet option for `cargo test` (rust-lang/cargo#6358)
- .gitignore should end with a newline. (rust-lang/cargo#6732)
- Emit warning on misspelled environment variables (rust-lang/cargo#6694)
- Update glob requirement from 0.2.11 to 0.3.0 (rust-lang/cargo#6724)
2019-03-13 18:26:45 +00:00
Eric Huss
4543245621 Update cargo 2019-03-13 08:00:43 -07:00
bors
8bf1f1c8f4 Auto merge of #58349 - petrochenkov:uni201x, r=pnkfelix
resolve: Simplify import resolution for mixed 2015/2018 edition mode

Non-controversial part of https://github.com/rust-lang/rust/pull/57745.

Before:

| Local edition (per-span) | Global edition (--edition) | Imports (`use foo;`)                                 | Absolute paths (`::foo`)                                 |
| ------------- |----------------|-----------------------------------------|------------------------------------------------|
| 2018          | Any            | Uniform                                 | Extern prelude                                 |
| 2015          | 2015           | Crate-relative                          | Crate-relative                                 |
| 2015          | 2018           | Crate-relative with fallback to Uniform (future-proofed to error if the result is not Crate-relative or from Extern prelude) | Crate-relative with fallback to Extern prelude |

After:

| Local edition (per-span) | Global edition (--edition) | Imports (`use foo;`)                                 | Absolute paths (`::foo`)                                 |
| ------------- |----------------|-----------------------------------------|------------------------------------------------|
| 2018          | Any            | Uniform                                 | Extern prelude                                 |
| 2015          | 2015           | Crate-relative                          | Crate-relative                                 |
| 2015          | 2018           | Crate-relative with fallback to Extern prelude | Crate-relative with fallback to Extern prelude |

I.e. only the behavior of the mixed local-2015-global-2018 mode is changed.
This mixed mode has two goals:
- Address regressions from https://github.com/rust-lang/rust/pull/56053#issuecomment-440826397.
Both "before" and "after" variants address those regressions.
- Be retrofit-able to "full 2015" edition (https://github.com/rust-lang/rust/pull/57745).
Any more complex fallback scheme (with more candidates) than "Crate-relative with fallback to Extern prelude" will give more regressions than https://github.com/rust-lang/rust/pull/57745#issuecomment-455855089 and is therefore less retrofit-able while also being, well, more complex.
So, we can settle on "Crate-relative with fallback to Extern prelude".

(I'll hopefully proceed with https://github.com/rust-lang/rust/pull/57745 after mid-February.)

r? @Centril
2019-03-13 14:59:05 +00:00
Manish Goregaokar
c37dab7df8 Revert "Don't generate minification variable if minification disabled"
Fixes #59157

This reverts commit b5ae4d5888.
2019-03-13 07:39:29 -07:00
Angelos Oikonomopoulos
311025e6a5 Fix generic argument lookup for Self
Rewrite the SelfCtor early and use the replacement Def when
calculating the path_segs.

Note that this also changes which def is seen by the code that
computes user_self_ty and is_alias_variant_ctor; I don't see a
immediate issue with that, but I'm not 100% clear on the
implications.

Fixes #57924
2019-03-13 14:15:49 +01:00
David Wood
9d938f6936
Add test for #55809.
This commit adds a regression test for #55809 which checks that a
overflow does not occur when evaluating a requirement for async
functions and `&mut` arguments in some specific circumstances.
2019-03-13 12:38:10 +01:00
bors
cf6d881ac1 Auto merge of #56864 - Zoxc:stable-hash-macro, r=michaelwoerister
Use derive macro for HashStable

Blocked on https://github.com/rust-lang/rust/pull/56795
2019-03-13 11:36:46 +00:00
Steven Malis
266ca31f74 Stabilize Range*::contains. 2019-03-12 21:00:37 -07:00
bors
aa97448caf Auto merge of #59151 - Centril:rollup, r=Centril
Rollup of 16 pull requests

Successful merges:

 - #58829 (librustc_interface: Update scoped-tls to 1.0)
 - #58876 (Parse lifetimes that start with a number and give specific error)
 - #58908 (Update rand version)
 - #58998 (Fix documentation of from_ne_bytes and from_le_bytes)
 - #59056 (Use lifetime contravariance to elide more lifetimes in core+alloc+std)
 - #59057 (Standardize `Range*` documentation)
 - #59080 (Fix incorrect links in librustc_codegen_llvm documentation)
 - #59083 (Fix #54822 and associated faulty tests)
 - #59093 (Remove precompute_in_scope_traits_hashes)
 - #59101 (Reduces Code Repetitions like `!n >> amt`)
 - #59121 (impl FromIterator for Result: Use assert_eq! instead of assert!)
 - #59124 (Replace assert with assert_eq)
 - #59129 (Visit impl Trait for dead_code lint)
 - #59130 (Note that NonNull does not launder shared references for mutation)
 - #59132 (ignore higher-ranked object bound conditions created by WF)
 - #59138 (Simplify Iterator::{min, max})

Failed merges:

r? @ghost
2019-03-13 03:30:20 +00:00
Mazdak Farrokhzad
73feddb9d4
Rollup merge of #59138 - timvermeulen:simplify_select_fold1, r=sfackler
Simplify Iterator::{min, max}

This PR simplifies the `select_fold1` helper method used to implmement `Iterator::{min, min_by, min_by_key, max, max_by, max_by_key}` by removing the projection argument, which was only used by the implementations of `min_by_key` and `max_by_key`.

I also added tests to ensure that the stability as mentioned in the comments of `min` and `max` is preserved, and fixed the `iter::{bench_max, bench_max_by_key}` benchmarks which the compiler presumably was able to collapse into closed-form expressions. None of the benchmark results were impacted, I suspect their generated assembly didn't change.
2019-03-13 03:33:57 +01:00
Mazdak Farrokhzad
c22566d96d
Rollup merge of #59132 - nikomatsakis:issue-53548-generator-bound, r=pnkfelix
ignore higher-ranked object bound conditions created by WF

In the `issue-53548` test added in this PR, the `Box<dyn Trait>` type is expanded to `Box<dyn Trait + 'static>`, but the generator "witness" that results is `for<'r> { Box<dyn Trait + 'r> }`. The WF code was encountering an ICE (when debug-assertions were enabled) and an unexpected compilation error (without debug-asserions) when trying to process this `'r` region bound. In particular, to be WF, the region bound must meet the requirements of the trait, and hence we got `for<'r> { 'r: 'static }`. This would ICE because the `Binder` constructor we were using was assering that no higher-ranked regions were involved (because the WF code is supposed to skip those). The error (if debug-asserions were disabled) came because we obviously cannot prove that `'r: 'static` for any region `'r`.  Pursuant with
our "lazy WF" strategy for higher-ranked regions, the fix is not to require that `for<'r> { 'r: 'static }` holds (this is also analogous to what we would do for higher-ranked regions appearing within the trait in other positions).

Fixes #53548

r? @pnkfelix
2019-03-13 03:33:56 +01:00