about summary refs log tree commit diff
path: root/src/libstd/sys/unix/stack_overflow.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2019-03-15 13:58:03 +0000
committerbors <bors@rust-lang.org>2019-03-15 13:58:03 +0000
commitad8a3eb039ca3dc1ff5a3d5757afc5e5330c1bce (patch)
tree9d51335b0eff0734c9913a3ec245e235f974fa85 /src/libstd/sys/unix/stack_overflow.rs
parent16e7e05e95a6a5a1e0dba54ae722274bd7d725f7 (diff)
parentdbf19c3975a014861535b775b2fb7cd71e6c5042 (diff)
downloadrust-ad8a3eb039ca3dc1ff5a3d5757afc5e5330c1bce.tar.gz
rust-ad8a3eb039ca3dc1ff5a3d5757afc5e5330c1bce.zip
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
Diffstat (limited to 'src/libstd/sys/unix/stack_overflow.rs')
0 files changed, 0 insertions, 0 deletions