Commit Graph

91881 Commits

Author SHA1 Message Date
kennytm
2318274a2d
Rollup merge of #58855 - alexcrichton:wasm-multithreaded-alloc, r=fitzgen
std: Spin for a global malloc lock on wasm32

There's lots of comments in the code, but the main gist of this commit
is that the acquisition of the global malloc lock on the
`wasm32-unknown-unknown` target when threads are enabled will not spin
on contention rather than block.
2019-03-16 14:56:13 +08:00
kennytm
bc3bef8327
Rollup merge of #58854 - alexcrichton:update-windows, r=Mark-Simulacrum
appveyor: Use VS2017 for all our images

Originally added in #55935 to test build times, this was reverted
in #56201 due to a belief that it caused the exit code 259 spurious
errors. We've since learned, however, that the 259 exit code is likely
not related to this image update as we're getting it in a number of
locations now.

VS2017 looks like it may be required to compile LLVm in the near future,
notably discovered by #58408 where we attempted to update LLVM.
2019-03-16 14:56:11 +08:00
Grigorii Kargin
7f395d2b3a fix tests 2019-03-16 02:56:26 +03:00
Chris Gregory
9a61580d40 Option and Result: Add references to documentation of as_ref and as_mut 2019-03-15 16:42:10 -04:00
Esteban Küber
d7bb98f7a1 Elide object safety errors on non-existent trait function
Fix #58734.
2019-03-15 13:26:30 -07:00
bors
52e885628e Auto merge of #58556 - oli-obk:imperative_recursion, r=pnkfelix
Optimize copying large ranges of undefmask blocks

Hopefully fixes #58523
2019-03-15 19:24:15 +00:00
Andy Russell
7c66ae2fc5
use ! in macro disambiguation suggestion 2019-03-15 15:12:30 -04:00
Andy Russell
150b49a582
replace ad-hoc namespace enums 2019-03-15 14:33:41 -04:00
Andy Russell
33442b133c
overhaul intra-doc-link ambiguity warning
- Makes the warning part of the `intra_doc_link_resolution_failure`
lint.
- Tightens the span to just the ambiguous link.
- Reports ambiguities across all three namespaces.
- Uses structured suggestions for disambiguation.
- Adds a test for the warnings.
2019-03-15 14:15:06 -04:00
kenta7777
a8fa1a153d a simple refactoring and removing comment. 2019-03-16 01:58:48 +09:00
kenta7777
50af62dae9 removed some unnecessary comments. 2019-03-16 01:14:46 +09:00
Kornel
fbc4326f4b Track changes to robots.txt 2019-03-15 15:05:12 +00:00
Douglas Creager
8b6c566b9d Remove copyright notices 2019-03-15 10:49:36 -04:00
Mateusz Mikuła
9c7bf76c08 Add x86_64 musl host to the manifest 2019-03-15 15:45:30 +01:00
bors
ad8a3eb039 Auto merge of #58140 - eddyb:advent-of-print, r=nikomatsakis
Refactor ppaux out of existence.

A long-time coming, this PR reorganizes and rewrites the pretty-printing architecture of rustc, specifically the parts that involve the typesystem (which used to be in `rustc::util::ppaux`).

*Note: these commits used to be in #57967 before being split off.*

The new API (i.e. the `Printer` and `PrettyPrint` traits) is in `rustc::ty::print`.

Design points, roughly:
* using associated types in `Printer` to allow building e.g. an AST, not just printing as a side-effect
* several overloading points for implementers of `PrettyPrinter`, e.g. how `<...>` is printed
* for `fmt::Display` impls, the value to print is lifted to the `ty::tls` `tcx`, and everything after that stays within the `ty::print` API, which requires `'tcx` to match between values and the printer's `tcx`, without going through `fmt::Display` again

Most of the behavior is unchanged, except for a few details, which should be clear from the test changes.

r? @nikomatsakis

Fixes https://github.com/rust-lang/rust/issues/55464
2019-03-15 13:58:03 +00:00
Brian Campbell
5303c1b90b Remove restriction on isize/usize in repr(simd)
As discussed in #55078, there's no known reason for this restriction.

It's unlikely that repr(simd) will be stabilized in its current form, but
might as well remove some restrictions on it.

This removes the branch in `is_machine` which returns false for these types.
`is_machine` is only used for the repr(simd) type validation check.
2019-03-15 09:42:02 -04:00
kenta7777
12e3e8412c reduced a code repetition related to bit operation. 2019-03-15 21:48:05 +09:00
Eduard-Mihai Burtescu
dbf19c3975 rustbuild: remove obsolete fulldeps behavior from src/test/pretty tests, and enable them by default. 2019-03-15 13:25:10 +02:00
Eduard-Mihai Burtescu
0ee059d5a0 Fix rebase fallout and address some review comments. 2019-03-15 13:25:10 +02:00
Ralf Jung
4653ae1e3e we can now print on entering/leaving the topmost frame, and make sure it stays that way 2019-03-15 13:25:10 +02:00
Eduard-Mihai Burtescu
22d6c55cdf rustc: print ExistentialProjection with spaces around =, e.g. dyn Foo<A = X>. 2019-03-15 13:25:10 +02:00
Eduard-Mihai Burtescu
a54a41ce47 rustc: provide DisambiguatedDefPathData in ty::print. 2019-03-15 13:25:10 +02:00
Eduard-Mihai Burtescu
8619edede1 rustc: slice substs in ty::print instead of passing the full ones. 2019-03-15 13:25:10 +02:00
Eduard-Mihai Burtescu
9df7c3f48f rustc: let ty::print::pretty's p! macro call arbitrary methods. 2019-03-15 13:25:10 +02:00
Eduard-Mihai Burtescu
52b4f2daa0 rustc: remove PrintCx from ty::Print and rely on printers carrying TyCtxt. 2019-03-15 13:25:10 +02:00
Eduard-Mihai Burtescu
2a656828ac rustc: remove the ability for pretty-printers to override nesting. 2019-03-15 13:25:10 +02:00
Eduard-Mihai Burtescu
c0c485c3ad rustc: don't thread existential projections through path_generic_args. 2019-03-15 13:25:10 +02:00
Eduard-Mihai Burtescu
ffa00d4628 rustc: make pretty_path_generic_args' task as simple as possible. 2019-03-15 13:25:10 +02:00
Eduard-Mihai Burtescu
4deaa69b42 rustc: print elided regions as '_ instead of nothing, and use a separate check when optional. 2019-03-15 13:25:10 +02:00
Eduard-Mihai Burtescu
72690d24f0 rustc: always hide defaulted generic args, even in verbose mode. 2019-03-15 13:25:10 +02:00
Eduard-Mihai Burtescu
381fa7aa18 rustc: move ty::print::PrintConfig's fields to FmtPrinter. 2019-03-15 13:25:10 +02:00
Eduard-Mihai Burtescu
1a0f3a2856 rustc: streamline the Print/fmt::Display impls in ppaux and move them to ty::print::pretty. 2019-03-15 13:25:10 +02:00
Eduard-Mihai Burtescu
030cdc9729 rustc: remove obsolete hacks from ppaux, relating to normalization under HRTB. 2019-03-15 13:25:10 +02:00
Eduard-Mihai Burtescu
fb53bb9e2b rustc: move Debug impls from ppaux to ty::structural_impls. 2019-03-15 13:25:10 +02:00
Eduard-Mihai Burtescu
9c424850e8 rustc: disconnect all the Debug functionality from ty::print. 2019-03-15 13:25:10 +02:00
Eduard-Mihai Burtescu
d0a1bf5c88 rustc: make util::ppaux private. 2019-03-15 13:25:10 +02:00
Eduard-Mihai Burtescu
800ddb367e rustc: remove fields from ty::print::PrintConfig available from tcx. 2019-03-15 13:25:10 +02:00
Eduard-Mihai Burtescu
55871aad9a rustc: split out the pretty-printing parts of ty::print into a separate module. 2019-03-15 13:25:10 +02:00
Eduard-Mihai Burtescu
26f180705a rustc: move ty/print.rs to ty/print/mod.rs. 2019-03-15 13:25:10 +02:00
Eduard-Mihai Burtescu
6d67d6846c rustc_codegen_utils: print all nominal types as paths, in symbol names. 2019-03-15 13:25:10 +02:00
Eduard-Mihai Burtescu
5211e37b1d rustc: don't pass Namespace explicitly, but rather track it in FmtPrinter. 2019-03-15 13:25:10 +02:00
Eduard-Mihai Burtescu
ab26b26d34 rustc: introduce a ty::print::PrettyPrinter helper for printing "<...>". 2019-03-15 13:25:10 +02:00
Eduard-Mihai Burtescu
35e5123f51 rustc: support overriding type printing in ty::print::Printer. 2019-03-15 13:25:10 +02:00
Eduard-Mihai Burtescu
88d96b269c rustc: support overriding region printing in ty::print::Printer. 2019-03-15 13:25:10 +02:00
Eduard-Mihai Burtescu
fc914aa88a rustc: centralize region printing in ty::RegionKind's Print impl. 2019-03-15 13:25:10 +02:00
Eduard-Mihai Burtescu
cafd83d1d5 rustc: don't keep RegionHighlightMode in a thread-local. 2019-03-15 13:25:10 +02:00
Eduard-Mihai Burtescu
7c4eecef0b rustc: pass ty::print::PrintCx by value. 2019-03-15 13:25:10 +02:00
Eduard-Mihai Burtescu
ab5d6fb302 rustc: remove the closure from ppaux's p! macro (by making ? implicit). 2019-03-15 13:25:10 +02:00
Eduard-Mihai Burtescu
37e918526a rustc: split off most of ty::print::PrintCx's fields into a separate struct. 2019-03-15 13:25:10 +02:00
Eduard-Mihai Burtescu
5616ca857d rustc: uniformize ty::print's error handling by requiring Result. 2019-03-15 13:25:10 +02:00