Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use proc-macro to derive HashStable everywhere #66279

Merged
merged 16 commits into from
Nov 25, 2019
Merged

Conversation

cjgillot
Copy link
Contributor

Hello,

A second proc-macro is added to derive HashStable for crates librustc depends on.
This proc-macro HashStable_Generic (to bikeshed) allows to decouple code and strip much of librustc's boilerplate.

Still, two implementations Span and TokenKind require to be placed in librustc.
The latter only depends on the bug macro. Advise welcome on how to sever that link.
A trait StableHasingContextLike has been introduced at each crate root,
in order to handle those implementations which require librustc's very StableHashingContext.

This overall effort allowed to remove the impl_stable_hash_for macro.

Each commit passes the x.py check.
I still have to double check there was no change in the implementation.

@rust-highfive
Copy link
Collaborator

r? @petrochenkov

(rust_highfive has picked a reviewer for you, use r? to override)

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Nov 10, 2019
@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-6.0 of your PR failed (pretty log, raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
2019-11-10T18:52:04.5936742Z ##[command]git remote add origin https://github.com/rust-lang/rust
2019-11-10T18:52:04.6132214Z ##[command]git config gc.auto 0
2019-11-10T18:52:04.6220910Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2019-11-10T18:52:04.6289297Z ##[command]git config --get-all http.proxy
2019-11-10T18:52:04.6453403Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/66279/merge:refs/remotes/pull/66279/merge
---
2019-11-10T19:23:01.4932271Z Building stage1 compiler artifacts (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-11-10T19:23:02.0726008Z    Compiling libc v0.2.64
2019-11-10T19:23:02.0737615Z    Compiling cfg-if v0.1.8
2019-11-10T19:23:02.1173462Z    Compiling semver-parser v0.7.0
2019-11-10T19:23:03.2056128Z error: linking with `cc` failed: exit code: 1
2019-11-10T19:23:03.2056462Z   |
2019-11-10T19:23:03.2133533Z   = note: "cc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-m64" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/release/build/libc-7bae641674b53dd9/build_script_build-7bae641674b53dd9.build_script_build.5j9wl4tp-cgu.0.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/release/build/libc-7bae641674b53dd9/build_script_build-7bae641674b53dd9.build_script_build.5j9wl4tp-cgu.1.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/release/build/libc-7bae641674b53dd9/build_script_build-7bae641674b53dd9.build_script_build.5j9wl4tp-cgu.10.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/release/build/libc-7bae641674b53dd9/build_script_build-7bae641674b53dd9.build_script_build.5j9wl4tp-cgu.11.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/release/build/libc-7bae641674b53dd9/build_script_build-7bae641674b53dd9.build_script_build.5j9wl4tp-cgu.12.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/release/build/libc-7bae641674b53dd9/build_script_build-7bae641674b53dd9.build_script_build.5j9wl4tp-cgu.13.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/release/build/libc-7bae641674b53dd9/build_script_build-7bae641674b53dd9.build_script_build.5j9wl4tp-cgu.2.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/release/build/libc-7bae641674b53dd9/build_script_build-7bae641674b53dd9.build_script_build.5j9wl4tp-cgu.3.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/release/build/libc-7bae641674b53dd9/build_script_build-7bae641674b53dd9.build_script_build.5j9wl4tp-cgu.4.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/release/build/libc-7bae641674b53dd9/build_script_build-7bae641674b53dd9.build_script_build.5j9wl4tp-cgu.5.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/release/build/libc-7bae641674b53dd9/build_script_build-7bae641674b53dd9.build_script_build.5j9wl4tp-cgu.6.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/release/build/libc-7bae641674b53dd9/build_script_build-7bae641674b53dd9.build_script_build.5j9wl4tp-cgu.7.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/release/build/libc-7bae641674b53dd9/build_script_build-7bae641674b53dd9.build_script_build.5j9wl4tp-cgu.8.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/release/build/libc-7bae641674b53dd9/build_script_build-7bae641674b53dd9.build_script_build.5j9wl4tp-cgu.9.rcgu.o" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/release/build/libc-7bae641674b53dd9/build_script_build-7bae641674b53dd9" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/release/build/libc-7bae641674b53dd9/build_script_build-7bae641674b53dd9.3xbj5n58hdbugc6s.rcgu.o" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-Wl,-O1" "-nodefaultlibs" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/release/deps" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,--start-group" "-Wl,-Bstatic" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-ec228869b069454b.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-33b73037c02eac21.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-869f7a13841435cf.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libbacktrace-90fbea818d9ae1df.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libbacktrace_sys-17e76537b37f8989.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-bcd58bdff84f3f65.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-1ebd1a28f55d628b.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-51b415f5efc9bee9.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-c018c3d8ff5a1da7.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-6f9a2694092028be.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-c1e556c690160ee9.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-de4cabde364c624f.rlib" "-Wl,--end-group" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-76ac998aea6da44e.rlib" "-Wl,-Bdynamic" "-ldl" "-lrt" "-lpthread" "-lgcc_s" "-lc" "-lm" "-lrt" "-lpthread" "-lutil" "-lutil"
2019-11-10T19:23:03.2136264Z   = note: /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/release/build/libc-7bae641674b53dd9/build_script_build-7bae641674b53dd9.build_script_build.5j9wl4tp-cgu.1.rcgu.o: In function `_$LT$alloc..collections..btree..map..BTreeMap$LT$K$C$V$GT$$u20$as$u20$core..ops..drop..Drop$GT$::drop::h079bdb8d45e7f027':
2019-11-10T19:23:03.2137095Z           build_script_build.5j9wl4tp-cgu.1:(.text._ZN95_$LT$alloc..collections..btree..map..BTreeMap$LT$K$C$V$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h079bdb8d45e7f027E+0x428): undefined reference to `alloc::collections::btree::node::EMPTY_ROOT_NODE::hfa599bd052002572'
2019-11-10T19:23:03.2137562Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/release/build/libc-7bae641674b53dd9/build_script_build-7bae641674b53dd9.build_script_build.5j9wl4tp-cgu.5.rcgu.o: In function `core::ptr::real_drop_in_place::h4130cf7899dd5eba':
2019-11-10T19:23:03.2138004Z           build_script_build.5j9wl4tp-cgu.5:(.text._ZN4core3ptr18real_drop_in_place17h4130cf7899dd5ebaE+0x18b): undefined reference to `_$LT$std..sys..unix..fd..FileDesc$u20$as$u20$core..ops..drop..Drop$GT$::drop::hcf9640d80923845a'
2019-11-10T19:23:03.2138433Z           build_script_build.5j9wl4tp-cgu.5:(.text._ZN4core3ptr18real_drop_in_place17h4130cf7899dd5ebaE+0x1a4): undefined reference to `_$LT$std..sys..unix..fd..FileDesc$u20$as$u20$core..ops..drop..Drop$GT$::drop::hcf9640d80923845a'
2019-11-10T19:23:03.2138857Z           build_script_build.5j9wl4tp-cgu.5:(.text._ZN4core3ptr18real_drop_in_place17h4130cf7899dd5ebaE+0x1cd): undefined reference to `_$LT$std..sys..unix..fd..FileDesc$u20$as$u20$core..ops..drop..Drop$GT$::drop::hcf9640d80923845a'
2019-11-10T19:23:03.2139274Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/release/build/libc-7bae641674b53dd9/build_script_build-7bae641674b53dd9.build_script_build.5j9wl4tp-cgu.5.rcgu.o: In function `core::ptr::real_drop_in_place::h85df8ad26bd36d46':
2019-11-10T19:23:03.2139702Z           build_script_build.5j9wl4tp-cgu.5:(.text._ZN4core3ptr18real_drop_in_place17h85df8ad26bd36d46E+0xb): undefined reference to `_$LT$std..sys..unix..fd..FileDesc$u20$as$u20$core..ops..drop..Drop$GT$::drop::hcf9640d80923845a'
2019-11-10T19:23:03.2140191Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/release/build/libc-7bae641674b53dd9/build_script_build-7bae641674b53dd9.build_script_build.5j9wl4tp-cgu.5.rcgu.o: In function `_$LT$core..str..Split$LT$P$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$::next::h097e796ed5c6698c':
2019-11-10T19:23:03.2141997Z           build_script_build.5j9wl4tp-cgu.5:(.text._ZN84_$LT$core..str..Split$LT$P$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h097e796ed5c6698cE+0x4a): undefined reference to `core::slice::memchr::memchr::h6469bd682a76fb42'
2019-11-10T19:23:03.2142532Z           build_script_build.5j9wl4tp-cgu.5:(.text._ZN84_$LT$core..str..Split$LT$P$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h097e796ed5c6698cE+0xee): undefined reference to `core::slice::memchr::memchr::h6469bd682a76fb42'
2019-11-10T19:23:03.2143259Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc/release/build/libc-7bae641674b53dd9/build_script_build-7bae641674b53dd9.build_script_build.5j9wl4tp-cgu.5.rcgu.o: In function `build_script_build::main::h67f7407af20b00a5':
2019-11-10T19:23:03.2143882Z           build_script_build.5j9wl4tp-cgu.5:(.text._ZN18build_script_build4main17h67f7407af20b00a5E+0x1f): undefined reference to `std::ffi::os_str::_$LT$impl$u20$core..convert..AsRef$LT$std..ffi..os_str..OsStr$GT$$u20$for$u20$str$GT$::as_ref::hc876a5ec74b8373a'
2019-11-10T19:23:03.2144322Z           build_script_build.5j9wl4tp-cgu.5:(.text._ZN18build_script_build4main17h67f7407af20b00a5E+0x2b): undefined reference to `std::env::_var_os::h441094e1d361a74d'
2019-11-10T19:23:03.2144994Z           build_script_build.5j9wl4tp-cgu.5:(.text._ZN18build_script_build4main17h67f7407af20b00a5E+0x7d): undefined reference to `_$LT$std..ffi..os_str..OsString$u20$as$u20$core..convert..AsRef$LT$std..ffi..os_str..OsStr$GT$$GT$::as_ref::h5547d3d27f4861f3'
2019-11-10T19:23:03.2145411Z           build_script_build.5j9wl4tp-cgu.5:(.text._ZN18build_script_build4main17h67f7407af20b00a5E+0x89): undefined reference to `std::sys::unix::process::process_common::Command::new::hc3b237b143e6ed79'
2019-11-10T19:23:03.2145864Z           build_script_build.5j9wl4tp-cgu.5:(.text._ZN18build_script_build4main17h67f7407af20b00a5E+0xd0): undefined reference to `std::ffi::os_str::_$LT$impl$u20$core..convert..AsRef$LT$std..ffi..os_str..OsStr$GT$$u20$for$u20$str$GT$::as_ref::hc876a5ec74b8373a'
2019-11-10T19:23:03.2146248Z           build_script_build.5j9wl4tp-cgu.5:(.text._ZN18build_script_build4main17h67f7407af20b00a5E+0xe1): undefined reference to `std::sys::unix::process::process_common::Command::arg::h53948bd35cad6cdf'
2019-11-10T19:23:03.2146625Z           build_script_build.5j9wl4tp-cgu.5:(.text._ZN18build_script_build4main17h67f7407af20b00a5E+0xf7): undefined reference to `std::process::Command::output::h3c07dad29ad48223'
2019-11-10T19:23:03.2146995Z           build_script_build.5j9wl4tp-cgu.5:(.text._ZN18build_script_build4main17h67f7407af20b00a5E+0x1a0): undefined reference to `core::str::from_utf8::ha82986f4c593b527'
2019-11-10T19:23:03.2147411Z           build_script_build.5j9wl4tp-cgu.5:(.text._ZN18build_script_build4main17h67f7407af20b00a5E+0x27f): undefined reference to `core::num::_$LT$impl$u20$core..str..FromStr$u20$for$u20$u32$GT$::from_str::h70f858889f9c042f'
2019-11-10T19:23:03.2147848Z           build_script_build.5j9wl4tp-cgu.5:(.text._ZN18build_script_build4main17h67f7407af20b00a5E+0x2d9): undefined reference to `std::ffi::os_str::_$LT$impl$u20$core..convert..AsRef$LT$std..ffi..os_str..OsStr$GT$$u20$for$u20$str$GT$::as_ref::hc876a5ec74b8373a'
2019-11-10T19:23:03.2148216Z           build_script_build.5j9wl4tp-cgu.5:(.text._ZN18build_script_build4main17h67f7407af20b00a5E+0x2e5): undefined reference to `std::env::_var::h2caf6c35c92097ca'
2019-11-10T19:23:03.2148655Z           build_script_build.5j9wl4tp-cgu.5:(.text._ZN18build_script_build4main17h67f7407af20b00a5E+0x330): undefined reference to `std::ffi::os_str::_$LT$impl$u20$core..convert..AsRef$LT$std..ffi..os_str..OsStr$GT$$u20$for$u20$str$GT$::as_ref::hc876a5ec74b8373a'
2019-11-10T19:23:03.2149033Z           build_script_build.5j9wl4tp-cgu.5:(.text._ZN18build_script_build4main17h67f7407af20b00a5E+0x33c): undefined reference to `std::env::_var::h2caf6c35c92097ca'
2019-11-10T19:23:03.2149468Z           build_script_build.5j9wl4tp-cgu.5:(.text._ZN18build_script_build4main17h67f7407af20b00a5E+0x387): undefined reference to `std::ffi::os_str::_$LT$impl$u20$core..convert..AsRef$LT$std..ffi..os_str..OsStr$GT$$u20$for$u20$str$GT$::as_ref::hc876a5ec74b8373a'
2019-11-10T19:23:03.2149829Z           build_script_build.5j9wl4tp-cgu.5:(.text._ZN18build_script_build4main17h67f7407af20b00a5E+0x393): undefined reference to `std::env::_var::h2caf6c35c92097ca'
2019-11-10T19:23:03.2150341Z           build_script_build.5j9wl4tp-cgu.5:(.text._ZN18build_script_build4main17h67f7407af20b00a5E+0x3de): undefined reference to `std::ffi::os_str::_$LT$impl$u20$core..convert..AsRef$LT$std..ffi..os_str..OsStr$GT$$u20$for$u20$str$GT$::as_ref::hc876a5ec74b8373a'
2019-11-10T19:23:03.2150768Z           build_script_build.5j9wl4tp-cgu.5:(.text._ZN18build_script_build4main17h67f7407af20b00a5E+0x3ea): undefined reference to `std::env::_var::h2caf6c35c92097ca'
2019-11-10T19:23:03.2151476Z           build_script_build.5j9wl4tp-cgu.5:(.text._ZN18build_script_build4main17h67f7407af20b00a5E+0x472): undefined reference to `std::ffi::os_str::_$LT$impl$u20$core..convert..AsRef$LT$std..ffi..os_str..OsStr$GT$$u20$for$u20$str$GT$::as_ref::hc876a5ec74b8373a'
2019-11-10T19:23:03.2151906Z           build_script_build.5j9wl4tp-cgu.5:(.text._ZN18build_script_build4main17h67f7407af20b00a5E+0x481): undefined reference to `std::sys::unix::process::process_common::Command::new::hc3b237b143e6ed79'
2019-11-10T19:23:03.2152334Z           build_script_build.5j9wl4tp-cgu.5:(.text._ZN18build_script_build4main17h67f7407af20b00a5E+0x4a5): undefined reference to `std::process::Command::output::h3c07dad29ad48223'
2019-11-10T19:23:03.2152743Z           build_script_build.5j9wl4tp-cgu.5:(.text._ZN18build_script_build4main17h67f7407af20b00a5E+0x5cb): undefined reference to `std::process::ExitStatus::success::he9bdc78236ee0b9f'
2019-11-10T19:23:03.2153148Z           build_script_build.5j9wl4tp-cgu.5:(.text._ZN18build_script_build4main17h67f7407af20b00a5E+0x611): undefined reference to `core::str::from_utf8::ha82986f4c593b527'
2019-11-10T19:23:03.2153535Z           build_script_build.5j9wl4tp-cgu.5:(.text._ZN18build_script_build4main17h67f7407af20b00a5E+0xc9b): undefined reference to `core::panicking::panic::h88f2fea489da6356'
2019-11-10T19:23:03.2154022Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o): In function `_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$::fmt::h0b1332f2b13d5e62':
2019-11-10T19:23:03.2154472Z           std.190whjyl-cgu.0:(.text._ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h0b1332f2b13d5e62E+0xf): undefined reference to `core::fmt::Formatter::debug_lower_hex::h762a7713814d0dcc'
2019-11-10T19:23:03.2155087Z           std.190whjyl-cgu.0:(.text._ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h0b1332f2b13d5e62E+0x26): undefined reference to `core::fmt::num::_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$u8$GT$::fmt::h12addfc5d6470717'
2019-11-10T19:23:03.2155463Z           std.190whjyl-cgu.0:(.text._ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h0b1332f2b13d5e62E+0x2f): undefined reference to `core::fmt::Formatter::debug_upper_hex::h6c855f7e9d43310e'
2019-11-10T19:23:03.2155864Z           std.190whjyl-cgu.0:(.text._ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h0b1332f2b13d5e62E+0x46): undefined reference to `core::fmt::num::_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$u8$GT$::fmt::h1f676fca283e702d'
2019-11-10T19:23:03.2156288Z           std.190whjyl-cgu.0:(.text._ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h0b1332f2b13d5e62E+0x4f): undefined reference to `core::fmt::num::imp::_$LT$impl$u20$core..fmt..Display$u20$for$u20$u8$GT$::fmt::h363d55496bac67c5'
2019-11-10T19:23:03.2156710Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o): In function `_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$::fmt::h279813a3c12ed176':
2019-11-10T19:23:03.2157088Z           std.190whjyl-cgu.0:(.text._ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h279813a3c12ed176E+0xf): undefined reference to `core::fmt::Formatter::debug_lower_hex::h762a7713814d0dcc'
2019-11-10T19:23:03.2157558Z           std.190whjyl-cgu.0:(.text._ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h279813a3c12ed176E+0x26): undefined reference to `core::fmt::num::_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$i32$GT$::fmt::h918071ffc4a5b563'
2019-11-10T19:23:03.2158001Z           std.190whjyl-cgu.0:(.text._ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h279813a3c12ed176E+0x2f): undefined reference to `core::fmt::Formatter::debug_upper_hex::h6c855f7e9d43310e'
2019-11-10T19:23:03.2158414Z           std.190whjyl-cgu.0:(.text._ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h279813a3c12ed176E+0x46): undefined reference to `core::fmt::num::_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$i32$GT$::fmt::h1fcc039007e53650'
2019-11-10T19:23:03.2158811Z           std.190whjyl-cgu.0:(.text._ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h279813a3c12ed176E+0x4f): undefined reference to `core::fmt::num::imp::_$LT$impl$u20$core..fmt..Display$u20$for$u20$i32$GT$::fmt::hdacabaf57b795a71'
2019-11-10T19:23:03.2159259Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o): In function `_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$::fmt::h9b9a4288a0bd0189':
2019-11-10T19:23:03.2159624Z           std.190whjyl-cgu.0:(.text._ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h9b9a4288a0bd0189E+0x1f): undefined reference to `core::fmt::Formatter::debug_list::h91bc248fc17363e9'
2019-11-10T19:23:03.2160002Z           std.190whjyl-cgu.0:(.text._ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h9b9a4288a0bd0189E+0x3a): undefined reference to `core::fmt::builders::DebugList::entry::h41969e114e1cb8ba'
2019-11-10T19:23:03.2160363Z           std.190whjyl-cgu.0:(.text._ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h9b9a4288a0bd0189E+0x60): undefined reference to `core::fmt::builders::DebugList::finish::h24296b5cb8ccc858'
2019-11-10T19:23:03.2160808Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o): In function `_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$::fmt::he465f6e6295d72ad':
2019-11-10T19:23:03.2161415Z           std.190whjyl-cgu.0:(.text._ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17he465f6e6295d72adE+0xf): undefined reference to `core::fmt::Formatter::debug_lower_hex::h762a7713814d0dcc'
2019-11-10T19:23:03.2161875Z           std.190whjyl-cgu.0:(.text._ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17he465f6e6295d72adE+0x26): undefined reference to `core::fmt::num::_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$usize$GT$::fmt::hf4f5f12cac6adc05'
2019-11-10T19:23:03.2162306Z           std.190whjyl-cgu.0:(.text._ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17he465f6e6295d72adE+0x2f): undefined reference to `core::fmt::Formatter::debug_upper_hex::h6c855f7e9d43310e'
2019-11-10T19:23:03.2283178Z           std.190whjyl-cgu.0:(.text._ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17he465f6e6295d72adE+0x46): undefined reference to `core::fmt::num::_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$usize$GT$::fmt::hd72fa62fa312b2cd'
2019-11-10T19:23:03.2283983Z           std.190whjyl-cgu.0:(.text._ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17he465f6e6295d72adE+0x4f): undefined reference to `core::fmt::num::imp::_$LT$impl$u20$core..fmt..Display$u20$for$u20$usize$GT$::fmt::he2e719aaa5165d97'
2019-11-10T19:23:03.2284499Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o): In function `_$LT$$RF$T$u20$as$u20$core..fmt..Display$GT$::fmt::h60db63e42b186c28':
2019-11-10T19:23:03.2285120Z           std.190whjyl-cgu.0:(.text._ZN44_$LT$$RF$T$u20$as$u20$core..fmt..Display$GT$3fmt17h60db63e42b186c28E+0x5): undefined reference to `_$LT$core..panic..Location$u20$as$u20$core..fmt..Display$GT$::fmt::ha5e23eccb0ccdf78'
2019-11-10T19:23:03.2285927Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o): In function `_$LT$$RF$T$u20$as$u20$core..fmt..Display$GT$::fmt::hf47fc58224791f16':
2019-11-10T19:23:03.2286396Z           std.190whjyl-cgu.0:(.text._ZN44_$LT$$RF$T$u20$as$u20$core..fmt..Display$GT$3fmt17hf47fc58224791f16E+0x12): undefined reference to `_$LT$str$u20$as$u20$core..fmt..Display$GT$::fmt::ha899e72d11a14536'
2019-11-10T19:23:03.2286858Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o): In function `_$LT$$RF$T$u20$as$u20$core..fmt..UpperHex$GT$::fmt::h6c09316e35b3246f':
2019-11-10T19:23:03.2287287Z           std.190whjyl-cgu.0:(.text._ZN45_$LT$$RF$T$u20$as$u20$core..fmt..UpperHex$GT$3fmt17h6c09316e35b3246fE+0x5): undefined reference to `core::fmt::num::_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$u8$GT$::fmt::h1f676fca283e702d'
2019-11-10T19:23:03.2287736Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o): In function `core::fmt::Write::write_fmt::h0e26441b2cd7c43a':
2019-11-10T19:23:03.2288077Z           std.190whjyl-cgu.0:(.text._ZN4core3fmt5Write9write_fmt17h0e26441b2cd7c43aE+0x36): undefined reference to `core::fmt::write::h178913c2fbdde59e'
2019-11-10T19:23:03.2288510Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o): In function `core::fmt::Write::write_fmt::h9838c0f2bec8c33a':
2019-11-10T19:23:03.2288847Z           std.190whjyl-cgu.0:(.text._ZN4core3fmt5Write9write_fmt17h9838c0f2bec8c33aE+0x36): undefined reference to `core::fmt::write::h178913c2fbdde59e'
2019-11-10T19:23:03.2289295Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o): In function `core::ptr::real_drop_in_place::h9eb2cb86ad2c96ad':
2019-11-10T19:23:03.2289695Z           std.190whjyl-cgu.0:(.text._ZN4core3ptr18real_drop_in_place17h9eb2cb86ad2c96adE+0x2): undefined reference to `_$LT$backtrace..print..BacktraceFrameFmt$u20$as$u20$core..ops..drop..Drop$GT$::drop::h5668534773d237c5'
2019-11-10T19:23:03.2290170Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o): In function `_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$::write_fmt::h314622a0233c565c':
2019-11-10T19:23:03.2290572Z           std.190whjyl-cgu.0:(.text._ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_fmt17h314622a0233c565cE+0x39): undefined reference to `core::fmt::write::h178913c2fbdde59e'
2019-11-10T19:23:03.2291035Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o): In function `_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$::write_fmt::h6665de3cfb983ec7':
2019-11-10T19:23:03.2291913Z           std.190whjyl-cgu.0:(.text._ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_fmt17h6665de3cfb983ec7E+0x39): undefined reference to `core::fmt::write::h178913c2fbdde59e'
2019-11-10T19:23:03.2292422Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o): In function `_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$::write_fmt::h9e4f3ee69d0a661a':
2019-11-10T19:23:03.2292968Z           std.190whjyl-cgu.0:(.text._ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_fmt17h9e4f3ee69d0a661aE+0x39): undefined reference to `core::fmt::write::h178913c2fbdde59e'
2019-11-10T19:23:03.2294623Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o): In function `_$LT$alloc..string..String$u20$as$u20$core..fmt..Display$GT$::fmt::hfcc66dbdf68739e0':
2019-11-10T19:23:03.2295460Z           std.190whjyl-cgu.0:(.text._ZN60_$LT$alloc..string..String$u20$as$u20$core..fmt..Display$GT$3fmt17hfcc66dbdf68739e0E+0x12): undefined reference to `_$LT$str$u20$as$u20$core..fmt..Display$GT$::fmt::ha899e72d11a14536'
2019-11-10T19:23:03.2295913Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o): In function `_$LT$std..thread..local..AccessError$u20$as$u20$core..fmt..Debug$GT$::fmt::hdb03f985d16b0658':
2019-11-10T19:23:03.2296344Z           std.190whjyl-cgu.0:(.text._ZN68_$LT$std..thread..local..AccessError$u20$as$u20$core..fmt..Debug$GT$3fmt17hdb03f985d16b0658E+0x19): undefined reference to `core::fmt::Formatter::debug_struct::he6c30e96db6fe55c'
2019-11-10T19:23:03.2296787Z           std.190whjyl-cgu.0:(.text._ZN68_$LT$std..thread..local..AccessError$u20$as$u20$core..fmt..Debug$GT$3fmt17hdb03f985d16b0658E+0x22): undefined reference to `core::fmt::builders::DebugStruct::finish::h34741d185c9cd41e'
2019-11-10T19:23:03.2297188Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o): In function `std::thread::park::h320162f4e05c8c53':
2019-11-10T19:23:03.2297568Z           std.190whjyl-cgu.0:(.text._ZN3std6thread4park17h320162f4e05c8c53E+0x304): undefined reference to `_$LT$core..fmt..Arguments$u20$as$u20$core..fmt..Display$GT$::fmt::h7b30d2b0ee098797'
2019-11-10T19:23:03.2297986Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o): In function `std::thread::Thread::new::h508c80aa4ae1abff':
2019-11-10T19:23:03.2298424Z           std.190whjyl-cgu.0:(.text._ZN3std6thread6Thread3new17h508c80aa4ae1abffE+0x36): undefined reference to `alloc::string::_$LT$impl$u20$core..convert..From$LT$alloc..string..String$GT$$u20$for$u20$alloc..vec..Vec$LT$u8$GT$$GT$::from::hcf01791ab59df642'
2019-11-10T19:23:03.2298752Z           std.190whjyl-cgu.0:(.text._ZN3std6thread6Thread3new17h508c80aa4ae1abffE+0x224): undefined reference to `core::panicking::panic::h88f2fea489da6356'
2019-11-10T19:23:03.2299165Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o): In function `std::env::current_dir::h55dad218f6fcaa85':
2019-11-10T19:23:03.2299509Z           std.190whjyl-cgu.0:(.text._ZN3std3env11current_dir17h55dad218f6fcaa85E+0x272): undefined reference to `core::panicking::panic::h88f2fea489da6356'
2019-11-10T19:23:03.2300125Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o): In function `_$LT$std..error..$LT$impl$u20$core..convert..From$LT$alloc..string..String$GT$$u20$for$u20$alloc..boxed..Box$LT$dyn$u20$std..error..Error$u2b$core..marker..Send$u2b$core..marker..Sync$GT$$GT$..from..StringError$u20$as$u20$core..fmt..Display$GT$::fmt::ha971f6bc077cf6d8':
2019-11-10T19:23:03.2301050Z           std.190whjyl-cgu.0:(.text._ZN244_$LT$std..error..$LT$impl$u20$core..convert..From$LT$alloc..string..String$GT$$u20$for$u20$alloc..boxed..Box$LT$dyn$u20$std..error..Error$u2b$core..marker..Send$u2b$core..marker..Sync$GT$$GT$..from..StringError$u20$as$u20$core..fmt..Display$GT$3fmt17ha971f6bc077cf6d8E+0x12): undefined reference to `_$LT$str$u20$as$u20$core..fmt..Display$GT$::fmt::ha899e72d11a14536'
2019-11-10T19:23:03.2302715Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o): In function `_$LT$std..error..$LT$impl$u20$core..convert..From$LT$alloc..string..String$GT$$u20$for$u20$alloc..boxed..Box$LT$dyn$u20$std..error..Error$u2b$core..marker..Send$u2b$core..marker..Sync$GT$$GT$..from..StringError$u20$as$u20$core..fmt..Debug$GT$::fmt::h9e1d7773bae87b02':
2019-11-10T19:23:03.2303410Z           std.190whjyl-cgu.0:(.text._ZN242_$LT$std..error..$LT$impl$u20$core..convert..From$LT$alloc..string..String$GT$$u20$for$u20$alloc..boxed..Box$LT$dyn$u20$std..error..Error$u2b$core..marker..Send$u2b$core..marker..Sync$GT$$GT$..from..StringError$u20$as$u20$core..fmt..Debug$GT$3fmt17h9e1d7773bae87b02E+0x12): undefined reference to `_$LT$str$u20$as$u20$core..fmt..Debug$GT$::fmt::h7c14cfb1cce5f8b3'
2019-11-10T19:23:03.2303938Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o): In function `std::ffi::c_str::CString::from_vec_unchecked::hf3505e57bf50e7be':
2019-11-10T19:23:03.2304343Z           std.190whjyl-cgu.0:(.text._ZN3std3ffi5c_str7CString18from_vec_unchecked17hf3505e57bf50e7beE+0x197): undefined reference to `core::panicking::panic::h88f2fea489da6356'
2019-11-10T19:23:03.2304849Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o): In function `std::io::buffered::BufWriter$LT$W$GT$::flush_buf::hae5fc31f612e5484':
2019-11-10T19:23:03.2305416Z           std.190whjyl-cgu.0:(.text._ZN3std2io8buffered18BufWriter$LT$W$GT$9flush_buf17hae5fc31f612e5484E+0x328): undefined reference to `core::panicking::panic::h88f2fea489da6356'
2019-11-10T19:23:03.2305802Z           std.190whjyl-cgu.0:(.text._ZN3std2io8buffered18BufWriter$LT$W$GT$9flush_buf17hae5fc31f612e5484E+0x360): undefined reference to `core::panicking::panic::h88f2fea489da6356'
2019-11-10T19:23:03.2306272Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o): In function `_$LT$std..io..buffered..BufWriter$LT$W$GT$$u20$as$u20$std..io..Write$GT$::write::h5d589c0634d57427':
2019-11-10T19:23:03.2306789Z           std.190whjyl-cgu.0:(.text._ZN72_$LT$std..io..buffered..BufWriter$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17h5d589c0634d57427E+0x120): undefined reference to `core::panicking::panic::h88f2fea489da6356'
2019-11-10T19:23:03.2307270Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o): In function `_$LT$std..io..buffered..LineWriter$LT$W$GT$$u20$as$u20$std..io..Write$GT$::write::h79942c7865d75476':
2019-11-10T19:23:03.2307698Z           std.190whjyl-cgu.0:(.text._ZN73_$LT$std..io..buffered..LineWriter$LT$W$GT$$u20$as$u20$std..io..Write$GT$5write17h79942c7865d75476E+0x278): undefined reference to `core::panicking::panic::h88f2fea489da6356'
2019-11-10T19:23:03.2308152Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o): In function `_$LT$std..io..error..Error$u20$as$u20$core..fmt..Display$GT$::fmt::h2b83b448597110cc':
2019-11-10T19:23:03.2308611Z           std.190whjyl-cgu.0:(.text._ZN60_$LT$std..io..error..Error$u20$as$u20$core..fmt..Display$GT$3fmt17h2b83b448597110ccE+0xa0): undefined reference to `core::fmt::num::imp::_$LT$impl$u20$core..fmt..Display$u20$for$u20$i32$GT$::fmt::hdacabaf57b795a71'
2019-11-10T19:23:03.2309207Z           std.190whjyl-cgu.0:(.text._ZN60_$LT$std..io..error..Error$u20$as$u20$core..fmt..Display$GT$3fmt17h2b83b448597110ccE+0xe4): undefined reference to `core::fmt::Formatter::write_fmt::hfa2dfb13c7e0be80'
2019-11-10T19:23:03.2309621Z           std.190whjyl-cgu.0:(.text._ZN60_$LT$std..io..error..Error$u20$as$u20$core..fmt..Display$GT$3fmt17h2b83b448597110ccE+0x253): undefined reference to `core::fmt::Formatter::write_fmt::hfa2dfb13c7e0be80'
2019-11-10T19:23:03.2310075Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o): In function `_$LT$std..io..stdio..Stdout$u20$as$u20$std..io..Write$GT$::write_fmt::h2a9ff26880daff66':
2019-11-10T19:23:03.2310482Z           std.190whjyl-cgu.0:(.text._ZN57_$LT$std..io..stdio..Stdout$u20$as$u20$std..io..Write$GT$9write_fmt17h2a9ff26880daff66E+0xc0): undefined reference to `core::fmt::write::h178913c2fbdde59e'
2019-11-10T19:23:03.2311098Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o): In function `std::io::Write::write_fmt::h6243e976ab7a4dd8':
2019-11-10T19:23:03.2311885Z           std.190whjyl-cgu.0:(.text._ZN3std2io5Write9write_fmt17h6243e976ab7a4dd8E+0x43): undefined reference to `core::fmt::write::h178913c2fbdde59e'
2019-11-10T19:23:03.2312412Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o): In function `std::sync::once::Once::call_once::_$u7b$$u7b$closure$u7d$$u7d$::h3758df0630533e3a':
2019-11-10T19:23:03.2312839Z           std.190whjyl-cgu.0:(.text._ZN3std4sync4once4Once9call_once28_$u7b$$u7b$closure$u7d$$u7d$17h3758df0630533e3aE+0x288): undefined reference to `core::panicking::panic::h88f2fea489da6356'
2019-11-10T19:23:03.2313399Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o): In function `_$LT$std..sync..once..WaiterQueue$u20$as$u20$core..ops..drop..Drop$GT$::drop::h633fb0d73b96eb26':
2019-11-10T19:23:03.2313840Z           std.190whjyl-cgu.0:(.text._ZN70_$LT$std..sync..once..WaiterQueue$u20$as$u20$core..ops..drop..Drop$GT$4drop17h633fb0d73b96eb26E+0xa5): undefined reference to `core::panicking::panic::h88f2fea489da6356'
2019-11-10T19:23:03.2314395Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o): In function `_$LT$std..sys_common..backtrace.._print..DisplayBacktrace$u20$as$u20$core..fmt..Display$GT$::fmt::h6aa054aa128c921a':
2019-11-10T19:23:03.2315051Z           std.190whjyl-cgu.0:(.text._ZN91_$LT$std..sys_common..backtrace.._print..DisplayBacktrace$u20$as$u20$core..fmt..Display$GT$3fmt17h6aa054aa128c921aE+0xb7): undefined reference to `backtrace::print::BacktraceFmt::new::h9e6c178eb70b7557'
2019-11-10T19:23:03.2315486Z           std.190whjyl-cgu.0:(.text._ZN91_$LT$std..sys_common..backtrace.._print..DisplayBacktrace$u20$as$u20$core..fmt..Display$GT$3fmt17h6aa054aa128c921aE+0xc8): undefined reference to `backtrace::print::BacktraceFmt::add_context::hbdd9f746de96604b'
2019-11-10T19:23:03.2315936Z           std.190whjyl-cgu.0:(.text._ZN91_$LT$std..sys_common..backtrace.._print..DisplayBacktrace$u20$as$u20$core..fmt..Display$GT$3fmt17h6aa054aa128c921aE+0x115): undefined reference to `backtrace::backtrace::libunwind::trace::trace_fn::h7d23ffc535fd5dee'
2019-11-10T19:23:03.2316444Z           std.190whjyl-cgu.0:(.text._ZN91_$LT$std..sys_common..backtrace.._print..DisplayBacktrace$u20$as$u20$core..fmt..Display$GT$3fmt17h6aa054aa128c921aE+0x135): undefined reference to `backtrace::print::BacktraceFmt::finish::h9ce01abca7816ede'
2019-11-10T19:23:03.2316961Z           std.190whjyl-cgu.0:(.text._ZN91_$LT$std..sys_common..backtrace.._print..DisplayBacktrace$u20$as$u20$core..fmt..Display$GT$3fmt17h6aa054aa128c921aE+0x1ac): undefined reference to `core::fmt::Formatter::write_fmt::hfa2dfb13c7e0be80'
2019-11-10T19:23:03.2317451Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o): In function `std::sys_common::backtrace::_print_fmt::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h68d6f768a104615f':
2019-11-10T19:23:03.2317896Z           std.190whjyl-cgu.0:(.text._ZN3std10sys_common9backtrace10_print_fmt28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17h68d6f768a104615fE+0x37): undefined reference to `backtrace::symbolize::Symbol::name::h2fdef7e6160e9138'
2019-11-10T19:23:03.2318332Z           std.190whjyl-cgu.0:(.text._ZN3std10sys_common9backtrace10_print_fmt28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17h68d6f768a104615fE+0x92): undefined reference to `backtrace::symbolize::SymbolName::as_str::h407693ae219a0df1'
2019-11-10T19:23:03.2318787Z           std.190whjyl-cgu.0:(.text._ZN3std10sys_common9backtrace10_print_fmt28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17h68d6f768a104615fE+0xb6): undefined reference to `core::str::pattern::StrSearcher::new::ha9938dad061ef0a6'
2019-11-10T19:23:03.2319227Z           std.190whjyl-cgu.0:(.text._ZN3std10sys_common9backtrace10_print_fmt28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17h68d6f768a104615fE+0x43d): undefined reference to `backtrace::print::BacktraceFmt::frame::hca3be6a6cbdef37e'
2019-11-10T19:23:03.2319669Z           std.190whjyl-cgu.0:(.text._ZN3std10sys_common9backtrace10_print_fmt28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17h68d6f768a104615fE+0x45c): undefined reference to `backtrace::print::BacktraceFrameFmt::symbol::hcd0d4c7db26eb2f6'
2019-11-10T19:23:03.2320167Z           std.190whjyl-cgu.0:(.text._ZN3std10sys_common9backtrace10_print_fmt28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17h68d6f768a104615fE+0x46d): undefined reference to `_$LT$backtrace..print..BacktraceFrameFmt$u20$as$u20$core..ops..drop..Drop$GT$::drop::h5668534773d237c5'
2019-11-10T19:23:03.2320599Z           std.190whjyl-cgu.0:(.text._ZN3std10sys_common9backtrace10_print_fmt28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17h68d6f768a104615fE+0x4f2): undefined reference to `core::panicking::panic_bounds_check::h338a468a0324404d'
2019-11-10T19:23:03.2321044Z           std.190whjyl-cgu.0:(.text._ZN3std10sys_common9backtrace10_print_fmt28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17h68d6f768a104615fE+0x504): undefined reference to `core::panicking::panic_bounds_check::h338a468a0324404d'
2019-11-10T19:23:03.2322031Z           std.190whjyl-cgu.0:(.text._ZN3std10sys_common9backtrace10_print_fmt28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17h68d6f768a104615fE+0x513): undefined reference to `core::panicking::panic_bounds_check::h338a468a0324404d'
2019-11-10T19:23:03.2322578Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o): In function `std::sys_common::backtrace::_print_fmt::_$u7b$$u7b$closure$u7d$$u7d$::had6adb324a89dff4':
2019-11-10T19:23:03.2403623Z           std.190whjyl-cgu.0:(.text._ZN3std10sys_common9backtrace10_print_fmt28_$u7b$$u7b$closure$u7d$$u7d$17had6adb324a89dff4E+0x74): undefined reference to `backtrace::symbolize::libbacktrace::resolve::h6ec799208ac066b5'
2019-11-10T19:23:03.2404143Z           std.190whjyl-cgu.0:(.text._ZN3std10sys_common9backtrace10_print_fmt28_$u7b$$u7b$closure$u7d$$u7d$17had6adb324a89dff4E+0x90): undefined reference to `backtrace::print::BacktraceFmt::frame::hca3be6a6cbdef37e'
2019-11-10T19:23:03.2405160Z           std.190whjyl-cgu.0:(.text._ZN3std10sys_common9backtrace10_print_fmt28_$u7b$$u7b$closure$u7d$$u7d$17had6adb324a89dff4E+0xa5): undefined reference to `backtrace::backtrace::Frame::ip::h79bae31990d46278'
2019-11-10T19:23:03.2405634Z           std.190whjyl-cgu.0:(.text._ZN3std10sys_common9backtrace10_print_fmt28_$u7b$$u7b$closure$u7d$$u7d$17had6adb324a89dff4E+0xd2): undefined reference to `backtrace::print::BacktraceFrameFmt::print_raw::he862641fae7fd984'
2019-11-10T19:23:03.2406128Z           std.190whjyl-cgu.0:(.text._ZN3std10sys_common9backtrace10_print_fmt28_$u7b$$u7b$closure$u7d$$u7d$17had6adb324a89dff4E+0xe3): undefined reference to `_$LT$backtrace..print..BacktraceFrameFmt$u20$as$u20$core..ops..drop..Drop$GT$::drop::h5668534773d237c5'
2019-11-10T19:23:03.2406609Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o): In function `std::sys_common::backtrace::output_filename::h96783982507761d2':
2019-11-10T19:23:03.2407030Z           std.190whjyl-cgu.0:(.text._ZN3std10sys_common9backtrace15output_filename17h96783982507761d2E+0x14a): undefined reference to `core::str::from_utf8::ha82986f4c593b527'
2019-11-10T19:23:03.2407437Z           std.190whjyl-cgu.0:(.text._ZN3std10sys_common9backtrace15output_filename17h96783982507761d2E+0x187): undefined reference to `_$LT$char$u20$as$u20$core..fmt..Display$GT$::fmt::h3c6776b695fb6dd8'
2019-11-10T19:23:03.2407823Z           std.190whjyl-cgu.0:(.text._ZN3std10sys_common9backtrace15output_filename17h96783982507761d2E+0x1d4): undefined reference to `core::fmt::Formatter::write_fmt::hfa2dfb13c7e0be80'
2019-11-10T19:23:03.2408239Z           std.190whjyl-cgu.0:(.text._ZN3std10sys_common9backtrace15output_filename17h96783982507761d2E+0x1e2): undefined reference to `core::str::lossy::Utf8Lossy::from_bytes::h0429649a3e87e20f'
2019-11-10T19:23:03.2408685Z           std.190whjyl-cgu.0:(.text._ZN3std10sys_common9backtrace15output_filename17h96783982507761d2E+0x1f1): undefined reference to `_$LT$core..str..lossy..Utf8Lossy$u20$as$u20$core..fmt..Display$GT$::fmt::hbe405e9b8f026f18'
2019-11-10T19:23:03.2409205Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o): In function `_$LT$std..sys_common..os_str_bytes..Slice$u20$as$u20$core..fmt..Debug$GT$::fmt::hf3ddcabf14ff55d3':
2019-11-10T19:23:03.2409633Z           std.190whjyl-cgu.0:(.text._ZN73_$LT$std..sys_common..os_str_bytes..Slice$u20$as$u20$core..fmt..Debug$GT$3fmt17hf3ddcabf14ff55d3E+0x28): undefined reference to `core::fmt::Formatter::write_str::hdf12cedc9f8bb200'
2019-11-10T19:23:03.2410099Z           std.190whjyl-cgu.0:(.text._ZN73_$LT$std..sys_common..os_str_bytes..Slice$u20$as$u20$core..fmt..Debug$GT$3fmt17hf3ddcabf14ff55d3E+0x3e): undefined reference to `core::str::lossy::Utf8Lossy::from_bytes::h0429649a3e87e20f'
2019-11-10T19:23:03.2410534Z           std.190whjyl-cgu.0:(.text._ZN73_$LT$std..sys_common..os_str_bytes..Slice$u20$as$u20$core..fmt..Debug$GT$3fmt17hf3ddcabf14ff55d3E+0x4a): undefined reference to `core::str::lossy::Utf8Lossy::chunks::hced0c5cad1cc9658'
2019-11-10T19:23:03.2411048Z           std.190whjyl-cgu.0:(.text._ZN73_$LT$std..sys_common..os_str_bytes..Slice$u20$as$u20$core..fmt..Debug$GT$3fmt17hf3ddcabf14ff55d3E+0x64): undefined reference to `_$LT$core..str..lossy..Utf8LossyChunksIter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$::next::h727365ef911da05c'
2019-11-10T19:23:03.2412515Z           std.190whjyl-cgu.0:(.text._ZN73_$LT$std..sys_common..os_str_bytes..Slice$u20$as$u20$core..fmt..Debug$GT$3fmt17hf3ddcabf14ff55d3E+0x7e): undefined reference to `_$LT$core..char..EscapeDebug$u20$as$u20$core..iter..traits..iterator..Iterator$GT$::next::h3bf3d3b311da44cb'
2019-11-10T19:23:03.2413124Z           std.190whjyl-cgu.0:(.text._ZN73_$LT$std..sys_common..os_str_bytes..Slice$u20$as$u20$core..fmt..Debug$GT$3fmt17hf3ddcabf14ff55d3E+0x26c): undefined reference to `_$LT$core..fmt..Formatter$u20$as$u20$core..fmt..Write$GT$::write_char::h5cc848cb24bbd793'
2019-11-10T19:23:03.2413697Z           std.190whjyl-cgu.0:(.text._ZN73_$LT$std..sys_common..os_str_bytes..Slice$u20$as$u20$core..fmt..Debug$GT$3fmt17hf3ddcabf14ff55d3E+0x2ef): undefined reference to `core::fmt::Formatter::write_fmt::hfa2dfb13c7e0be80'
2019-11-10T19:23:03.2414213Z           std.190whjyl-cgu.0:(.text._ZN73_$LT$std..sys_common..os_str_bytes..Slice$u20$as$u20$core..fmt..Debug$GT$3fmt17hf3ddcabf14ff55d3E+0x30d): undefined reference to `_$LT$core..str..lossy..Utf8LossyChunksIter$u20$as$u20$core..iter..traits..iterator..Iterator$GT$::next::h727365ef911da05c'
2019-11-10T19:23:03.2414686Z           std.190whjyl-cgu.0:(.text._ZN73_$LT$std..sys_common..os_str_bytes..Slice$u20$as$u20$core..fmt..Debug$GT$3fmt17hf3ddcabf14ff55d3E+0x330): undefined reference to `core::fmt::Formatter::write_str::hdf12cedc9f8bb200'
2019-11-10T19:23:03.2415381Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o): In function `_$LT$std..sys_common..poison..PoisonError$LT$T$GT$$u20$as$u20$core..fmt..Debug$GT$::fmt::h664c4a830ae2951e':
2019-11-10T19:23:03.2416049Z           std.190whjyl-cgu.0:(.text._ZN82_$LT$std..sys_common..poison..PoisonError$LT$T$GT$$u20$as$u20$core..fmt..Debug$GT$3fmt17h664c4a830ae2951eE+0x14): undefined reference to `_$LT$str$u20$as$u20$core..fmt..Debug$GT$::fmt::h7c14cfb1cce5f8b3'
2019-11-10T19:23:03.2416552Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o): In function `std::sys_common::thread_info::ThreadInfo::with::_$u7b$$u7b$closure$u7d$$u7d$::hd5b5580d110aac95':
2019-11-10T19:23:03.2416988Z           std.190whjyl-cgu.0:(.text._ZN3std10sys_common11thread_info10ThreadInfo4with28_$u7b$$u7b$closure$u7d$$u7d$17hd5b5580d110aac95E+0x13f): undefined reference to `core::panicking::panic::h88f2fea489da6356'
2019-11-10T19:23:03.2417479Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o): In function `std::sys_common::util::abort::ha9ef8d6295a02da2':
2019-11-10T19:23:03.2417874Z           std.190whjyl-cgu.0:(.text._ZN3std10sys_common4util5abort17ha9ef8d6295a02da2E+0xc): undefined reference to `_$LT$core..fmt..Arguments$u20$as$u20$core..fmt..Display$GT$::fmt::h7b30d2b0ee098797'
2019-11-10T19:23:03.2418345Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o): In function `std::alloc::default_alloc_error_hook::hd14f0f98ab82bfb2':
2019-11-10T19:23:03.2418773Z           std.190whjyl-cgu.0:(.text._ZN3std5alloc24default_alloc_error_hook17hd14f0f98ab82bfb2E+0x19): undefined reference to `core::fmt::num::imp::_$LT$impl$u20$core..fmt..Display$u20$for$u20$usize$GT$::fmt::he2e719aaa5165d97'
2019-11-10T19:23:03.2419402Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o): In function `std::panicking::default_hook::h86e71e4e64390755':
2019-11-10T19:23:03.2420148Z           std.190whjyl-cgu.0:(.text._ZN3std9panicking12default_hook17h86e71e4e64390755E+0x130): undefined reference to `core::panic::PanicInfo::location::h731ddfd6c1d6a449'
2019-11-10T19:23:03.2420687Z           std.190whjyl-cgu.0:(.text._ZN3std9panicking12default_hook17h86e71e4e64390755E+0x147): undefined reference to `core::panic::PanicInfo::payload::hbc9b02dda072504a'
2019-11-10T19:23:03.2422011Z           std.190whjyl-cgu.0:(.text._ZN3std9panicking12default_hook17h86e71e4e64390755E+0x17b): undefined reference to `core::panic::PanicInfo::payload::hbc9b02dda072504a'
2019-11-10T19:23:03.2422476Z           std.190whjyl-cgu.0:(.text._ZN3std9panicking12default_hook17h86e71e4e64390755E+0x38c): undefined reference to `core::panicking::panic::h88f2fea489da6356'
2019-11-10T19:23:03.2422945Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o): In function `std::panicking::begin_panic_fmt::h6705aa9b427bd5c4':
2019-11-10T19:23:03.2423376Z           std.190whjyl-cgu.0:(.text._ZN3std9panicking15begin_panic_fmt17h6705aa9b427bd5c4E+0x25): undefined reference to `core::panic::Location::internal_constructor::ha3a1272e22df29a3'
2019-11-10T19:23:03.2423857Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o): In function `std::panicking::continue_panic_fmt::he5bdbd5f2fe66a20':
2019-11-10T19:23:03.2424292Z           std.190whjyl-cgu.0:(.text._ZN3std9panicking18continue_panic_fmt17he5bdbd5f2fe66a20E+0x13): undefined reference to `core::panic::PanicInfo::location::h731ddfd6c1d6a449'
2019-11-10T19:23:03.2424682Z           std.190whjyl-cgu.0:(.text._ZN3std9panicking18continue_panic_fmt17he5bdbd5f2fe66a20E+0x24): undefined reference to `core::panic::PanicInfo::message::h02110282f5fa231e'
2019-11-10T19:23:03.2425083Z           std.190whjyl-cgu.0:(.text._ZN3std9panicking18continue_panic_fmt17he5bdbd5f2fe66a20E+0x45): undefined reference to `core::panicking::panic::h88f2fea489da6356'
2019-11-10T19:23:03.2425621Z           std.190whjyl-cgu.0:(.text._ZN3std9panicking18continue_panic_fmt17he5bdbd5f2fe66a20E+0x50): undefined reference to `core::panic::Location::file::h7552adc86317c6c5'
2019-11-10T19:23:03.2426029Z           std.190whjyl-cgu.0:(.text._ZN3std9panicking18continue_panic_fmt17he5bdbd5f2fe66a20E+0x5f): undefined reference to `core::panic::Location::line::h2bd07eab0491282f'
2019-11-10T19:23:03.2426404Z           std.190whjyl-cgu.0:(.text._ZN3std9panicking18continue_panic_fmt17he5bdbd5f2fe66a20E+0x6a): undefined reference to `core::panic::Location::column::h993c025b496c599c'
2019-11-10T19:23:03.2426792Z           std.190whjyl-cgu.0:(.text._ZN3std9panicking18continue_panic_fmt17he5bdbd5f2fe66a20E+0x92): undefined reference to `core::panic::PanicInfo::message::h02110282f5fa231e'
2019-11-10T19:23:03.2427315Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o): In function `_$LT$std..panicking..continue_panic_fmt..PanicPayload$u20$as$u20$core..panic..BoxMeUp$GT$::box_me_up::he2968c29a3fb4441':
2019-11-10T19:23:03.2427782Z           std.190whjyl-cgu.0:(.text._ZN89_$LT$std..panicking..continue_panic_fmt..PanicPayload$u20$as$u20$core..panic..BoxMeUp$GT$9box_me_up17he2968c29a3fb4441E+0x5f): undefined reference to `core::fmt::write::h178913c2fbdde59e'
2019-11-10T19:23:03.2428320Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o): In function `_$LT$std..panicking..continue_panic_fmt..PanicPayload$u20$as$u20$core..panic..BoxMeUp$GT$::get::h9c61b2809647e286':
2019-11-10T19:23:03.2428772Z           std.190whjyl-cgu.0:(.text._ZN89_$LT$std..panicking..continue_panic_fmt..PanicPayload$u20$as$u20$core..panic..BoxMeUp$GT$3get17h9c61b2809647e286E+0x61): undefined reference to `core::fmt::write::h178913c2fbdde59e'
2019-11-10T19:23:03.2429315Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o): In function `std::panicking::rust_panic_with_hook::h0d08099ab2538190':
2019-11-10T19:23:03.2429829Z           std.190whjyl-cgu.0:(.text._ZN3std9panicking20rust_panic_with_hook17h0d08099ab2538190E+0xd4): undefined reference to `core::panic::Location::internal_constructor::ha3a1272e22df29a3'
2019-11-10T19:23:03.2430236Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o): In function `rust_panic':
2019-11-10T19:23:03.2430636Z           std.190whjyl-cgu.0:(.text.rust_panic+0x2a): undefined reference to `core::fmt::num::imp::_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$::fmt::hc7f1e23c2bfc1d4d'
2019-11-10T19:23:03.2431259Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o): In function `std::rt::lang_start_internal::hdab5ffc0c96034cb':
2019-11-10T19:23:03.2431903Z           std.190whjyl-cgu.0:(.text._ZN3std2rt19lang_start_internal17hdab5ffc0c96034cbE+0x658): undefined reference to `core::panicking::panic::h88f2fea489da6356'
2019-11-10T19:23:03.2432428Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o): In function `_$LT$std..ffi..c_str..NulError$u20$as$u20$core..fmt..Debug$GT$::fmt::h48025c7f25e7968a':
2019-11-10T19:23:03.2432872Z           std.190whjyl-cgu.0:(.text._ZN62_$LT$std..ffi..c_str..NulError$u20$as$u20$core..fmt..Debug$GT$3fmt17h48025c7f25e7968aE+0x22): undefined reference to `core::fmt::Formatter::debug_tuple::h420768c2de20d59e'
2019-11-10T19:23:03.2433337Z           std.190whjyl-cgu.0:(.text._ZN62_$LT$std..ffi..c_str..NulError$u20$as$u20$core..fmt..Debug$GT$3fmt17h48025c7f25e7968aE+0x38): undefined reference to `core::fmt::builders::DebugTuple::field::h97ef96a86846d063'
2019-11-10T19:23:03.2433791Z           std.190whjyl-cgu.0:(.text._ZN62_$LT$std..ffi..c_str..NulError$u20$as$u20$core..fmt..Debug$GT$3fmt17h48025c7f25e7968aE+0x5e): undefined reference to `core::fmt::builders::DebugTuple::finish::h168bcf723a836148'
2019-11-10T19:23:03.2434283Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o): In function `std::sys::unix::os::error_string::h439c5b250a39a884':
2019-11-10T19:23:03.2434671Z           std.190whjyl-cgu.0:(.text._ZN3std3sys4unix2os12error_string17h439c5b250a39a884E+0x86): undefined reference to `core::str::from_utf8::ha82986f4c593b527'
2019-11-10T19:23:03.2435315Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o): In function `std::sys::unix::stack_overflow::imp::signal_handler::ha16628521deac66a':
2019-11-10T19:23:03.2435710Z           std.190whjyl-cgu.0:(.text._ZN3std3sys4unix14stack_overflow3imp14signal_handler17ha16628521deac66aE+0x246): undefined reference to `core::panicking::panic::h88f2fea489da6356'
2019-11-10T19:23:03.2436281Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o):(.data.rel.ro..Lanon.061297b31761b014c41f3b3e92381ea7.31+0x18): undefined reference to `_$LT$core..cell..BorrowMutError$u20$as$u20$core..fmt..Debug$GT$::fmt::h9ae2134ebdcb1cec'
2019-11-10T19:23:03.2436943Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o):(.data.rel.ro..Lanon.061297b31761b014c41f3b3e92381ea7.35+0x18): undefined reference to `_$LT$core..cell..BorrowError$u20$as$u20$core..fmt..Debug$GT$::fmt::h3aaf6eacfa5bd2a4'
2019-11-10T19:23:03.2438058Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6fbc301c0209bd2f.rlib(std-6fbc301c0209bd2f.std.190whjyl-cgu.0.rcgu.o):(.data.rel.ro..Lanon.061297b31761b014c41f3b3e92381ea7.42+0x18): undefined reference to `_$LT$core..str..Utf8Error$u20$as$u20$core..fmt..Debug$GT$::fmt::hc255d75f9bc9c766'
2019-11-10T19:23:03.2438567Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-ec228869b069454b.rlib(panic_unwind-ec228869b069454b.panic_unwind.3ixknl41-cgu.0.rcgu.o): In function `__rust_maybe_catch_panic':
2019-11-10T19:23:03.2438924Z           panic_unwind.3ixknl41-cgu.0:(.text.__rust_maybe_catch_panic+0x71): undefined reference to `core::panicking::panic::h88f2fea489da6356'
2019-11-10T19:23:03.2439429Z           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-6f9a2694092028be.rlib(alloc-6f9a2694092028be.alloc.3qbvhu8m-cgu.0.rcgu.o): In function `alloc::raw_vec::capacity_overflow::hc8787338d480216e':
2019-11-10T19:23:03.2439832Z           alloc.3qbvhu8m-cgu.0:(.text._ZN5alloc7raw_vec17capacity_overflow17hc8787338d480216eE+0x16): undefined reference to `core::panicking::panic::h88f2fea489da6356'
2019-11-10T19:23:03.2440106Z           collect2: error: ld returned 1 exit status
2019-11-10T19:23:03.2440343Z 
2019-11-10T19:23:03.2440724Z error: aborting due to previous error
2019-11-10T19:23:03.2441946Z 
2019-11-10T19:23:03.2442287Z error: could not compile `libc`.
---
2019-11-10T19:23:03.8812337Z   local time: Sun Nov 10 19:23:03 UTC 2019
2019-11-10T19:23:04.0334811Z   network time: Sun, 10 Nov 2019 19:23:04 GMT
2019-11-10T19:23:04.0340422Z == end clock drift check ==
2019-11-10T19:23:05.1198916Z 
2019-11-10T19:23:05.1306410Z ##[error]Bash exited with code '1'.
2019-11-10T19:23:05.1349557Z ##[section]Starting: Checkout
2019-11-10T19:23:05.1351654Z ==============================================================================
2019-11-10T19:23:05.1351729Z Task         : Get sources
2019-11-10T19:23:05.1351777Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@rust-highfive
Copy link
Collaborator

The job mingw-check of your PR failed (pretty log, raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
2019-11-11T08:40:41.4737811Z ##[command]git remote add origin https://github.com/rust-lang/rust
2019-11-11T08:40:41.5008954Z ##[command]git config gc.auto 0
2019-11-11T08:40:41.5085614Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2019-11-11T08:40:41.5132105Z ##[command]git config --get-all http.proxy
2019-11-11T08:40:41.5270674Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/66279/merge:refs/remotes/pull/66279/merge
---
2019-11-11T08:49:17.4712108Z configure: build.locked-deps    := True
2019-11-11T08:49:17.4712249Z configure: llvm.ccache          := sccache
2019-11-11T08:49:17.4712532Z configure: build.cargo-native-static := True
2019-11-11T08:49:17.4712823Z configure: dist.missing-tools   := True
2019-11-11T08:49:17.4713149Z configure: build.configure-args := ['--enable-sccache', '--disable-manage-submodu ...
2019-11-11T08:49:17.4713431Z configure: writing `config.toml` in current directory
2019-11-11T08:49:17.4713544Z configure: 
2019-11-11T08:49:17.4713831Z configure: run `python /checkout/x.py --help`
2019-11-11T08:49:17.4713971Z configure: 
---
2019-11-11T08:52:54.1183716Z     Checking fmt_macros v0.0.0 (/checkout/src/libfmt_macros)
2019-11-11T08:52:54.9026324Z error[E0404]: expected trait, found derive macro `HashStable`
2019-11-11T08:52:54.9027687Z    --> src/libsyntax/token.rs:267:11
2019-11-11T08:52:54.9028143Z     |
2019-11-11T08:52:54.9028618Z 267 | impl<CTX> HashStable<CTX> for TokenKind
2019-11-11T08:52:54.9029673Z help: possible better candidate is found in another module, you can import it into scope
2019-11-11T08:52:54.9030117Z     |
2019-11-11T08:52:54.9030575Z 1   | use rustc_data_structures::stable_hasher::HashStable;
2019-11-11T08:52:54.9030973Z     |
2019-11-11T08:52:54.9030973Z     |
2019-11-11T08:52:54.9031444Z 
2019-11-11T08:52:54.9076595Z error[E0412]: cannot find type `StableHasher` in this scope
2019-11-11T08:52:54.9077434Z    --> src/libsyntax/token.rs:270:55
2019-11-11T08:52:54.9077842Z     |
2019-11-11T08:52:54.9078274Z 270 |     fn hash_stable(&self, hcx: &mut CTX, hasher: &mut StableHasher) {
2019-11-11T08:52:54.9079178Z help: possible candidate is found in another module, you can import it into scope
2019-11-11T08:52:54.9079512Z     |
2019-11-11T08:52:54.9079900Z 1   | use rustc_data_structures::stable_hasher::StableHasher;
2019-11-11T08:52:54.9080413Z     |
2019-11-11T08:52:54.9080413Z     |
2019-11-11T08:52:54.9080594Z 
2019-11-11T08:52:54.9128971Z error[E0404]: expected trait, found derive macro `HashStable`
2019-11-11T08:52:54.9129485Z   --> src/libsyntax/tokenstream.rs:57:11
2019-11-11T08:52:54.9129824Z    |
2019-11-11T08:52:54.9130224Z 57 | impl<CTX> HashStable<CTX> for TokenTree
2019-11-11T08:52:54.9131053Z help: possible better candidate is found in another module, you can import it into scope
2019-11-11T08:52:54.9131436Z    |
2019-11-11T08:52:54.9132013Z 16 | use rustc_data_structures::stable_hasher::HashStable;
2019-11-11T08:52:54.9132332Z    |
2019-11-11T08:52:54.9132332Z    |
2019-11-11T08:52:54.9132511Z 
2019-11-11T08:52:54.9181183Z error[E0412]: cannot find type `StableHasher` in this scope
2019-11-11T08:52:54.9182070Z   --> src/libsyntax/tokenstream.rs:60:55
2019-11-11T08:52:54.9182395Z    |
2019-11-11T08:52:54.9182765Z 60 |     fn hash_stable(&self, hcx: &mut CTX, hasher: &mut StableHasher) {
2019-11-11T08:52:54.9183965Z help: possible candidate is found in another module, you can import it into scope
2019-11-11T08:52:54.9184331Z    |
2019-11-11T08:52:54.9184727Z 16 | use rustc_data_structures::stable_hasher::StableHasher;
2019-11-11T08:52:54.9185061Z    |
2019-11-11T08:52:54.9185061Z    |
2019-11-11T08:52:54.9185237Z 
2019-11-11T08:52:54.9232112Z error[E0404]: expected trait, found derive macro `HashStable`
2019-11-11T08:52:54.9232608Z    --> src/libsyntax/tokenstream.rs:141:11
2019-11-11T08:52:54.9232938Z     |
2019-11-11T08:52:54.9233335Z 141 | impl<CTX> HashStable<CTX> for TokenStream
2019-11-11T08:52:54.9234098Z help: possible better candidate is found in another module, you can import it into scope
2019-11-11T08:52:54.9234408Z     |
2019-11-11T08:52:54.9234760Z 16  | use rustc_data_structures::stable_hasher::HashStable;
2019-11-11T08:52:54.9235054Z     |
2019-11-11T08:52:54.9235054Z     |
2019-11-11T08:52:54.9235252Z 
2019-11-11T08:52:54.9290649Z error[E0412]: cannot find type `StableHasher` in this scope
2019-11-11T08:52:54.9291141Z    --> src/libsyntax/tokenstream.rs:144:55
2019-11-11T08:52:54.9291520Z     |
2019-11-11T08:52:54.9291962Z 144 |     fn hash_stable(&self, hcx: &mut CTX, hasher: &mut StableHasher) {
2019-11-11T08:52:54.9292836Z help: possible candidate is found in another module, you can import it into scope
2019-11-11T08:52:54.9293180Z     |
2019-11-11T08:52:54.9293578Z 16  | use rustc_data_structures::stable_hasher::StableHasher;
2019-11-11T08:52:54.9293899Z     |
---
2019-11-11T08:52:55.6065268Z   local time: Mon Nov 11 08:52:55 UTC 2019
2019-11-11T08:52:55.6758804Z   network time: Mon, 11 Nov 2019 08:52:55 GMT
2019-11-11T08:52:55.6762496Z == end clock drift check ==
2019-11-11T08:52:57.0641002Z 
2019-11-11T08:52:57.0724044Z ##[error]Bash exited with code '1'.
2019-11-11T08:52:57.0753193Z ##[section]Starting: Checkout
2019-11-11T08:52:57.0755152Z ==============================================================================
2019-11-11T08:52:57.0755207Z Task         : Get sources
2019-11-11T08:52:57.0755245Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@bors
Copy link
Contributor

bors commented Nov 11, 2019

☔ The latest upstream changes (presumably #66252) made this pull request unmergeable. Please resolve the merge conflicts.

@petrochenkov
Copy link
Contributor

r? @Zoxc @michaelwoerister

@rust-highfive rust-highfive assigned Zoxc and unassigned petrochenkov Nov 11, 2019
@cjgillot cjgillot force-pushed the hashstable branch 2 times, most recently from 3a293d9 to 031a359 Compare November 12, 2019 22:16
@bors
Copy link
Contributor

bors commented Nov 13, 2019

☔ The latest upstream changes (presumably #60026) made this pull request unmergeable. Please resolve the merge conflicts.

@Zoxc
Copy link
Contributor

Zoxc commented Nov 15, 2019

There's some commits which only adds HashStable to types. You make a separate PR for those and get them merged.

@Zoxc
Copy link
Contributor

Zoxc commented Nov 15, 2019

You can also create another PR where you introduce the HashStable_Generic macro and apply it to types with no other changes (no new traits or changes to impls). This would help to expose the more interesting changes in this PR.

@bors
Copy link
Contributor

bors commented Nov 16, 2019

☔ The latest upstream changes (presumably #66453) made this pull request unmergeable. Please resolve the merge conflicts.

Centril added a commit to Centril/rust that referenced this pull request Nov 20, 2019
Centril added a commit to Centril/rust that referenced this pull request Nov 20, 2019
Add a proc-macro to derive HashStable in librustc dependencies

A second proc-macro is added to derive HashStable for crates librustc depends on.
This proc-macro HashStable_Generic (to bikeshed) allows to decouple code and some librustc's boilerplate.

Not everything is migrated, because `Span` and `TokenKind` require to be placed inside librustc.
Types using them stay there too.

Split out of rust-lang#66279
r? @Zoxc
Centril added a commit to Centril/rust that referenced this pull request Nov 21, 2019
Add a proc-macro to derive HashStable in librustc dependencies

A second proc-macro is added to derive HashStable for crates librustc depends on.
This proc-macro HashStable_Generic (to bikeshed) allows to decouple code and some librustc's boilerplate.

Not everything is migrated, because `Span` and `TokenKind` require to be placed inside librustc.
Types using them stay there too.

Split out of rust-lang#66279
r? @Zoxc
Centril added a commit to Centril/rust that referenced this pull request Nov 21, 2019
Add a proc-macro to derive HashStable in librustc dependencies

A second proc-macro is added to derive HashStable for crates librustc depends on.
This proc-macro HashStable_Generic (to bikeshed) allows to decouple code and some librustc's boilerplate.

Not everything is migrated, because `Span` and `TokenKind` require to be placed inside librustc.
Types using them stay there too.

Split out of rust-lang#66279
r? @Zoxc
bors added a commit that referenced this pull request Nov 22, 2019
Add a proc-macro to derive HashStable in librustc dependencies

A second proc-macro is added to derive HashStable for crates librustc depends on.
This proc-macro HashStable_Generic (to bikeshed) allows to decouple code and some librustc's boilerplate.

Not everything is migrated, because `Span` and `TokenKind` require to be placed inside librustc.
Types using them stay there too.

Split out of #66279
r? @Zoxc
@cjgillot
Copy link
Contributor Author

Rebased.

fn hash_stable(&self, hcx: &mut CTX, hasher: &mut StableHasher) {
self.segments.len().hash_stable(hcx, hasher);
for segment in &self.segments {
segment.ident.name.hash_stable(hcx, hasher);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@michaelwoerister This skips all the other fields in PathSegment and also the span field in Path. Is this intentional?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like the NodeId field was added later and the whole implementation was lifted to a more general context in 759bd01. It would be good to hash the generic arguments too.

@Zoxc
Copy link
Contributor

Zoxc commented Nov 23, 2019

I would like to get rid of the HashStable macro and just use HashStable_Generic, but that seems to require some cleanup first. Would you mind searching for StableHashingContext and replace suitable impls you find with a use of the HashStable macro? Put these changes in a separate PR if so.

src/librustc_target/lib.rs Outdated Show resolved Hide resolved
src/libsyntax/tokenstream.rs Outdated Show resolved Hide resolved
where CTX: crate::StableHashingContextLike
{
fn hash_stable(&self, hcx: &mut CTX, hasher: &mut StableHasher) {
for sub_tt in self.trees() {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@nnethercote It seems like this iterator does a bunch of Lrc clones. Is there some reason this can't just hash the Vec<TreeAndJoint>? It also doesn't hash IsJoint, which seems questionable.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@petrochenkov Do you know why this ignores IsJoint?

@cjgillot
Copy link
Contributor Author

I tried converting more HashStable to be generic on the context. I ran into a trait coherence issues because of the impl blocks for [ast::Attribute] and &ty::List.

@cjgillot cjgillot force-pushed the hashstable branch 2 times, most recently from 031a359 to 782cc9f Compare November 24, 2019 22:23
@@ -18,7 +18,12 @@ use rustc_data_structures::stable_hasher::{HashStable, StableHasher};

impl<'ctx> rustc_target::StableHashingContextLike for StableHashingContext<'ctx> {}

impl_stable_hash_for!(struct ::syntax::ast::Lifetime { id, ident });
impl<'a> HashStable<StableHashingContext<'a>> for ast::Lifetime {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This could use HashStable_Generic now?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It requires hashing the NodeId. I have a commit with this change, I can add it to this PR.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, ok. You can leave that for a later PR.

@Zoxc
Copy link
Contributor

Zoxc commented Nov 25, 2019

I guess you'd have to change all the impls to be generic. That doesn't really seem like a win. I guess we can just keep HashStable_Generic then.

@Zoxc
Copy link
Contributor

Zoxc commented Nov 25, 2019

@bors r+

@bors
Copy link
Contributor

bors commented Nov 25, 2019

📌 Commit 782cc9f has been approved by Zoxc

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Nov 25, 2019
@bors
Copy link
Contributor

bors commented Nov 25, 2019

⌛ Testing commit 782cc9f with merge 582a4ea...

bors added a commit that referenced this pull request Nov 25, 2019
Use proc-macro to derive HashStable everywhere

Hello,

A second proc-macro is added to derive HashStable for crates librustc depends on.
This proc-macro `HashStable_Generic` (to bikeshed) allows to decouple code and strip much of librustc's boilerplate.

Still, two implementations `Span` and `TokenKind` require to be placed in librustc.
The latter only depends on the `bug` macro. Advise welcome on how to sever that link.
A trait `StableHasingContextLike` has been introduced at each crate root,
in order to handle those implementations which require librustc's very `StableHashingContext`.

This overall effort allowed to remove the `impl_stable_hash_for` macro.

Each commit passes the `x.py check`.
I still have to double check there was no change in the implementation.
@bors
Copy link
Contributor

bors commented Nov 25, 2019

☀️ Test successful - checks-azure
Approved by: Zoxc
Pushing 582a4ea to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Nov 25, 2019
@bors bors merged commit 782cc9f into rust-lang:master Nov 25, 2019
@cjgillot cjgillot deleted the hashstable branch November 25, 2019 16:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants