about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2019-03-15rustc: slice substs in ty::print instead of passing the full ones.Eduard-Mihai Burtescu-88/+79
2019-03-15rustc: let ty::print::pretty's p! macro call arbitrary methods.Eduard-Mihai Burtescu-35/+32
2019-03-15rustc: remove PrintCx from ty::Print and rely on printers carrying TyCtxt.Eduard-Mihai Burtescu-907/+850
2019-03-15rustc: remove the ability for pretty-printers to override nesting.Eduard-Mihai Burtescu-70/+59
2019-03-15rustc: don't thread existential projections through path_generic_args.Eduard-Mihai Burtescu-156/+251
2019-03-15rustc: make `pretty_path_generic_args`' task as simple as possible.Eduard-Mihai Burtescu-88/+70
2019-03-15rustc: print elided regions as '_ instead of nothing, and use a separate ↵Eduard-Mihai Burtescu-39/+41
check when optional.
2019-03-15rustc: always hide defaulted generic args, even in verbose mode.Eduard-Mihai Burtescu-27/+30
2019-03-15rustc: move ty::print::PrintConfig's fields to FmtPrinter.Eduard-Mihai Burtescu-190/+185
2019-03-15rustc: streamline the Print/fmt::Display impls in ppaux and move them to ↵Eduard-Mihai Burtescu-425/+303
ty::print::pretty.
2019-03-15rustc: remove obsolete hacks from ppaux, relating to normalization under HRTB.Eduard-Mihai Burtescu-104/+142
2019-03-15rustc: move Debug impls from ppaux to ty::structural_impls.Eduard-Mihai Burtescu-287/+288
2019-03-15rustc: disconnect all the Debug functionality from ty::print.Eduard-Mihai Burtescu-210/+141
2019-03-15rustc: make util::ppaux private.Eduard-Mihai Burtescu-27/+23
2019-03-15rustc: remove fields from ty::print::PrintConfig available from tcx.Eduard-Mihai Burtescu-39/+29
2019-03-15rustc: split out the pretty-printing parts of ty::print into a separate module.Eduard-Mihai Burtescu-1275/+1324
2019-03-15rustc: move ty/print.rs to ty/print/mod.rs.Eduard-Mihai Burtescu-0/+0
2019-03-15rustc_codegen_utils: print all nominal types as paths, in symbol names.Eduard-Mihai Burtescu-2/+28
2019-03-15rustc: don't pass Namespace explicitly, but rather track it in FmtPrinter.Eduard-Mihai Burtescu-156/+102
2019-03-15rustc: introduce a ty::print::PrettyPrinter helper for printing "<...>".Eduard-Mihai Burtescu-117/+132
2019-03-15rustc: support overriding type printing in ty::print::Printer.Eduard-Mihai Burtescu-240/+295
2019-03-15rustc: support overriding region printing in ty::print::Printer.Eduard-Mihai Burtescu-137/+199
2019-03-15rustc: centralize region printing in ty::RegionKind's Print impl.Eduard-Mihai Burtescu-179/+72
2019-03-15rustc: don't keep RegionHighlightMode in a thread-local.Eduard-Mihai Burtescu-306/+334
2019-03-15rustc: pass ty::print::PrintCx by value.Eduard-Mihai Burtescu-304/+498
2019-03-15rustc: remove the closure from ppaux's p! macro (by making ? implicit).Eduard-Mihai Burtescu-134/+122
2019-03-15rustc: split off most of ty::print::PrintCx's fields into a separate struct.Eduard-Mihai Burtescu-66/+86
2019-03-15rustc: uniformize ty::print's error handling by requiring Result.Eduard-Mihai Burtescu-85/+114
2019-03-15rustc: rename ppaux' print macro to just p and make its cx input implicit.Eduard-Mihai Burtescu-173/+193
2019-03-15rustc: make ppaux' print macro use only one closure.Eduard-Mihai Burtescu-2/+5
2019-03-15rustc: replace node_path_str with uses of def_path_str.Eduard-Mihai Burtescu-23/+32
2019-03-15rustc: remove `ty::print::FORCE_ABSOLUTE` altogether.Eduard-Mihai Burtescu-45/+6
2019-03-15rustc: assert `ty::print::FORCE_ABSOLUTE` isn't needed anymore.Eduard-Mihai Burtescu-18/+63
2019-03-15rustc: move `...::<impl ...>` printing into `pretty_path_qualified`.Eduard-Mihai Burtescu-23/+68
2019-03-15rustc: move the `FORCE_IMPL_FILENAME_LINE` hack into `print_def_path`.Eduard-Mihai Burtescu-41/+42
2019-03-15rustc: move <...>-less impl path special-case to pretty_path_qualified.Eduard-Mihai Burtescu-46/+43
2019-03-15rustc: merge PrintCx::parameterized and def_path printing.Eduard-Mihai Burtescu-333/+473
2019-03-15rustc: integrate LocalPathPrinter's behavior into FmtPrinter.Eduard-Mihai Burtescu-39/+63
2019-03-15rustc: move the contents of ty::item_path to ty::print.Eduard-Mihai Burtescu-580/+573
2019-03-15rustc: rename item_path to def_path (except the module in ty).Eduard-Mihai Burtescu-174/+174
2019-03-15rustc: remove TyCtxt::parent_def_id in favor of TyCtxt::parent.Eduard-Mihai Burtescu-47/+37
2019-03-15rustc_mir: adjust the type_length_limit diagnostic to be more useful.Eduard-Mihai Burtescu-25/+45
2019-03-15rustc: pass Option<&Substs> and Namespace around in ty::item_path.Eduard-Mihai Burtescu-94/+159
2019-03-15Improved test output for estr-slicesntdevco-4/+4
2019-03-15Improved test output for libcore/num/int_macrossntdevco-24/+24
2019-03-15Improved test output for libcore/opssntdevco-4/+4
2019-03-15Improved test output for libcore/cellsntdevco-6/+6
2019-03-15Improved test output for liballoc/strsntdevco-1/+1
2019-03-15Auto merge of #58575 - mati865:musl_toolchain, r=alexcrichtonbors-11/+99
Musl host toolchain Based on https://github.com/rust-lang/rust/pull/55163 and https://github.com/rust-lang/rust/pull/57359 Depends on https://github.com/rust-lang/rust/pull/55566 CC https://github.com/rust-lang/rust/issues/57439 ### How it works Tested compiler made by `dist` on glibc and musl based distributions and verified binaries it produces: * Ubuntu (glibc) - installed it as a target for host toolchain and observed no regressions for static (default) linking, dynamic linking apparently requires musl build libgcc so I didn't test it. * Alpine (musl) - installed as the host toolchain, by default it links statically (executables are portable and work on glibc distributions) but with `-C target-feature=-crt-static` Rust flag it links dynamically (executables require musl built libraries). ### What's debatable It should be decided whether this toolchain should link dynamically or statically when using it on musl distribution. I believe the distributions would prefer dynamic linking but it'd be misleading because `$ARCH-unknown-linux-musl` target links statically on the other hosts. Another problem is using `RUSTFLAGS='-C target-feature=-crt-static'` for dynamic builds which is really uncomfortable. To address both issues I suggest leaving `$ARCH-unknown-linux-musl` static for both host and cross target and introducing "alias triple" `$ARCH-unknown-linux-dynmusl`. It'd be the same as `$ARCH-unknown-linux-musl` (and use the same libraries to avoid duplication) but it'd link dynamically. <del> ### Why it's still WIP (help wanted) I'm having a hard time getting all tests to pass and I'd appreciate help. Non-verbose error: <details> ``` Testing proc_macro stage1 (x86_64-unknown-linux-musl -> x86_64-unknown-linux-musl) Compiling proc_macro v0.0.0 (/checkout/src/libproc_macro) error[E0463]: can't find crate for `std` error[E0463]: can't find crate for `std` error: aborting due to previous error For more information about this error, try `rustc --explain E0463`. error: aborting due to previous error For more information about this error, try `rustc --explain E0463`. [RUSTC-TIMING] proc_macro test:true 0.529 [RUSTC-TIMING] proc_macro test:false 0.530 error: Could not compile `proc_macro`. warning: build failed, waiting for other jobs to finish... error: Could not compile `proc_macro`. To learn more, run the command again with --verbose. command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "test" "--target" "x86_64-unknown-linux-musl" "-j" "16" "--release" "--locked" "--manifest-path" "/checkout/src/libtest/Cargo.toml" "-p" "proc_macro" "--" expected success, got: exit code: 101 failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test --host x86_64-unknown-linux-musl --target x86_64-unknown-linux-musl ``` </details> Verbose error: <details> ``` Testing proc_macro stage1 (x86_64-unknown-linux-musl -> x86_64-unknown-linux-musl) Compiling proc_macro v0.0.0 (/checkout/src/libproc_macro) Running `/checkout/obj/build/bootstrap/debug/rustc --edition=2018 --crate-name proc_macro src/libproc_macro/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=2 -C metadata=09ddd3ecc930ab63 -C extra-filename=-09ddd3ecc930ab63 --out-dir /checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps --target x86_64-unknown-linux-musl -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/release/deps -C target-feature=-crt-static` Running `/checkout/obj/build/bootstrap/debug/rustc --edition=2018 --crate-name proc_macro src/libproc_macro/lib.rs --color never --emit=dep-info,link -C opt-level=2 --test -C metadata=a564d363930469c8 -C extra-filename=-a564d363930469c8 --out-dir /checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps --target x86_64-unknown-linux-musl -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/release/deps -C target-feature=-crt-static` error[E0463]: can't find crate for `std` error[E0463]: can't find crate for `std` error: aborting due to previous error For more information about this error, try `rustc --explain E0463`. error: aborting due to previous error For more information about this error, try `rustc --explain E0463`. [RUSTC-TIMING] proc_macro test:false 0.248 error: Could not compile `proc_macro`. Caused by: process didn't exit successfully: `/checkout/obj/build/bootstrap/debug/rustc --edition=2018 --crate-name proc_macro src/libproc_macro/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=2 -C metadata=09ddd3ecc930ab63 -C extra-filename=-09ddd3ecc930ab63 --out-dir /checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps --target x86_64-unknown-linux-musl -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/release/deps -C target-feature=-crt-static` (exit code: 1) warning: build failed, waiting for other jobs to finish... [RUSTC-TIMING] proc_macro test:true 0.248 error: Could not compile `proc_macro`. Caused by: process didn't exit successfully: `/checkout/obj/build/bootstrap/debug/rustc --edition=2018 --crate-name proc_macro src/libproc_macro/lib.rs --color never --emit=dep-info,link -C opt-level=2 --test -C metadata=a564d363930469c8 -C extra-filename=-a564d363930469c8 --out-dir /checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps --target x86_64-unknown-linux-musl -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-musl/stage1-test/release/deps -C target-feature=-crt-static` (exit code: 1) command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "test" "--target" "x86_64-unknown-linux-musl" "-j" "16" "--release" "--locked" "--manifest-path" "/checkout/src/libtest/Cargo.toml" "--verbose" "-p" "proc_macro" "--" expected success, got: exit code: 101 failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test --host x86_64-unknown-linux-musl --target x86_64-unknown-linux-musl ``` </details> Whole tests non-verbose output: [rust-tests.log](https://github.com/rust-lang/rust/files/2879945/rust-tests.log) I think the error is because build system (correctly?) tries to use `obj/build/x86_64-unknown-linux-musl/stage1-test/x86_64-unknown-linux-musl/release/deps` which is empty but `obj/build/x86_64-unknown-linux-gnu/stage1-test/x86_64-unknown-linux-musl/release/deps` contains required libs. </del>
2019-03-15rustc: move the FORCE_IMPL_FILENAME_LINE handling into LocalPathPrinter.Eduard-Mihai Burtescu-26/+26