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

Make &Slice a thin pointer #50612

Merged
merged 3 commits into from
May 28, 2018
Merged

Make &Slice a thin pointer #50612

merged 3 commits into from
May 28, 2018

Conversation

Zoxc
Copy link
Contributor

@Zoxc Zoxc commented May 10, 2018

Split out from #50395

r? @michaelwoerister

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

The job x86_64-gnu-llvm-3.9 of your PR failed on Travis (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.
[00:25:51]    Compiling std_unicode v0.0.0 (file:///checkout/src/libstd_unicode)
[00:25:52]    Compiling alloc_system v0.0.0 (file:///checkout/src/liballoc_system)
[00:25:52]    Compiling panic_abort v0.0.0 (file:///checkout/src/libpanic_abort)
[00:25:58]    Compiling panic_unwind v0.0.0 (file:///checkout/src/libpanic_unwind)
[00:26:12] error: linking with `cc` failed: exit code: 1
[00:26:12]   |
[00:26:12]   = 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-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std0.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std1.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std10.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std11.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std12.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std13.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std14.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std2.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std3.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std4.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std5.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std6.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std7.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std8.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std9.rcgu.o" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/libstd-5b73d6d9f353b291.so" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.crate.metadata.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.crate.allocator.rcgu.o" "-Wl,-z,relro,-z,now" "-Wl,-O1" "-nodefaultlibs" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/release/deps" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/native/libbacktrace/.libs" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/build/compiler_builtins-3c62409c53174beb/out" "-L" "/checkout/obj/build/x8634): undefined reference to `std::sys_common::backtrace::log_enabled::h251adcbed09b7ba2'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std10.rcgu.o: In function `std::panicking::default_hook::_$u7b$$u7b$closure$u7d$$u7d$::hcceb8f49e091be24':
[00:26:12]           std10-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std9panicking12default_hook28_$u7b$$u7b$closure$u7d$$u7d$17hcceb8f49e091be24E+0x160): undefined reference to `std::sys_common::backtrace::print::he68ab4ab8816e42a'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `std::fs::initial_buffer_size::he46b74f093fbc294':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std2fs19initial_buffer_size17he46b74f093fbc294E+0x16): undefined reference to `std::sys::unix::fs::File::file_attr::had2d88b27e632bc4'
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std2fs19initial_buffer_size17he46b74f093fbc294E+0xa7): undefined reference to `std::sys::unix::fs::FileAttr::size::he4450c8541da42d7'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `std::fs::File::open::h9c02cabb3c28ae0b':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std2fs4File4open17h9c02cabb3c28ae0bE+0x1d): undefined reference to `std::sys::unix::fs::OpenOptions::new::h9816637c808718b8'
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std2fs4File4open17h9c02cabb3c28ae0bE+0x2a): undefined reference to `std::sys::unix::fs::OpenOptions::read::hefaeb847ba2a8f2a'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `std::fs::File::open::hc95773411db96fc1':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std2fs4File4open17hc95773411db96fc1E+0x1d): undefined reference to `std::sys::unix::fs::OpenOptions::new::h9816637c808718b8'
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std2fs4File4open17hc95773411db96fc1E+0x2a): undefined reference to `std::sys::unix::fs::OpenOptions::read::hefaeb847ba2a8f2a'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `std::fs::File::create::hfdc52af7340f151e':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std2fs4File6create17hfdc52af7340f151eE+0x1d): undefined reference to `std::sys::unix::fs::OpenOptions::new::h9816637c808718b8'
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std2fs4File6create17hfdc52af7340f151eE+0x2a): undefined reference to `std::sys::unix::fs::OpenOptions::write::h5c01117d82f328d1'
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std2fs4File6create17hfdc52af7340f151eE+0x37): undefined reference to `std::sys::uease/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `std::fs::File::metadata::h7042c417769c4644':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std2fs4File8metadata17h7042c417769c4644E+0x15): undefined reference to `std::sys::unix::fs::File::file_attr::had2d88b27e632bc4'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `std::fs::File::try_clone::ha131691ed742b007':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std2fs4File9try_clone17ha131691ed742b007E+0x13): undefined reference to `std::sys::unix::fs::File::duplicate::h366d0cba629d9358'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `std::fs::File::set_permissions::he631edefa7afdad6':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std2fs4File15set_permissions17he631edefa7afdad6E+0x5): undefined reference to `std::sys::unix::fs::File::set_permissions::ha9f44c0650c075a0'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `_$LT$std..fs..File$u20$as$u20$std..io..Read$GT$::read::h9e69ec1189a4a61b':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN47_$LT$std..fs..File$u20$as$u20$std..io..Read$GT$4read17h9e69ec1189a4a61bE+0x5): undefined reference to `std::sys::unix::fs::File::read::hd9aea1b22c5447fb'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `_$LT$std..fs..File$u20$as$u20$std..io..Write$GT$::write::hcd7d7b05bf59a682':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN48_$LT$std..fs..File$u20$as$u20$std..io..Write$GT$5write17hcd7d7b05bf59a682E+0x5): undefined reference to `std::sys::unix::fs::File::write::h8e16d075c72cad30'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `_$LT$std..fs..File$u20$as$u20$std..io..Write$GT$::flush::hde97133b58783223':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN48_$LT$std..fs..File$u20$as$u20$std..io..Write$GT$5flush17hde97133b58783223E+0x5): undefined reference to `std::sys::unix::fs::File::flush::h422780e6aa4025be'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `_$LT$std..fs..File$u20$as$u20$std..io..Seek$GT$::seek::h2d6a9f63200d4362':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN47_$LT$std..fs..File$u20$as$u20$std..io..Seek$GT$4seek17h2d6a9f63200d4362E+0x14): undefined reference to `std::sys::unix::fs::File::seek::hb8d6185371b5eaa7'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `_$LT$$RF$$u27$a$u20$std..fs..File$u20$as$u20$std..io..Read$GT$::read::ha6b552eb1f91ec98':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN62_$LT$$RF$$u27$a$u20$std..fs..File$u20$as$u20$std..io..Read$GT$4read17ha6b552eb1f91ec98E+0x8): undefined reference to `std::sys::unix::fs::File::read::hd9aea1b22c5447fb'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `_$LT$$RF$$u27$a$u20$std..fs..File$u20$as$u20$std..io..Write$GT$::write::he2976a30a85bb9a7':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN63_$LT$$RF$$u27$a$u20$std..fs..File$u20$as$u20$std..io..Write$GT$5write17he2976a30a85bb9a7E+0x8): undefined reference to `std::sys::unix::fs::File::write::h8e16d075c72cad30'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `_$LT$$RF$$u27$a$u20$std..fs..File$u20$as$u20$std..io..Write$GT$::flush::h5f87b1219e9dafe9':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN63_$LT$$RF$$u27$a$u20$std..fs..File$u20$as$u20$std..io..Write$GT$5flush17h5f87b1219e9dafe9E+0x8): undefined reference to `std::sys::unix::fs::File::flush::h422780e6aa4025be'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `_$LT$$RF$$u27$a$u20$std..fs..File$u20$as$u20$std..io..Seek$GT$::seek::h9802fe5d9b569bcd':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN62_$LT$$RF$$u27$a$u20$std..fs..File$u20$as$u20$std..io..Seek$GT$4seek17h9802fe5d9b569bcdE+0x17): undefined reference to `std::sys::unix::fs::File::seek::hb8d6185371b5eaa7'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `std::fs::OpenOptions::new::h95b53821741533fc':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std2fs11OpenOptions3new17h95b53821741533fcE+0xd): undefined reference to `std::sys::unix::fs::OpenOptions::new::h9816637c808718b8'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `std::fs::OpenOptions::read::h7c00801cf161bcbd':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std2fs11OpenOptions4read17h7c00801cf161bcbdE+0x9): undefined reference to `std::sys::unix::fs::OpenOptions::read::hefaeb847ba2a8f2a'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `std::fs::OpenOptions::write::h35f4006139a73dc4':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std2fs11OpenOptions5write17h35f4006139a73dc4E+0x9): undefined reference to `std::sys::unix::fs::OpenOptions::write::h5c01117d82f328d1'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `std::fs::OpenOptions::append::h3d4b67b12ac9e72d':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std2fs11OpenOptions6append17h3d4b67b12ac9e72dE+0x9): undefined reference to `std::sys::unix::fs::OpenOptions::append::ha8a14669ef982db9'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `std::fs::OpenOptions::truncate::h55606c4d730a9204':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std2fs11OpenOptions8truncate17h55606c4d730a9204E+0x9): undefined reference to `std::sys::unix::fs::OpenOptions::truncate::h7d901dbb7f38b1eb'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `std::fs::OpenOptions::create::hbd1300e4a44245b7':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std2fs11OpenOptions6create17hbd1300e4a44245b7E+0x9): undefined reference to `std::sys::unix::fs::OpenOptions::create::hf07173ae95f502e3'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `std::fs::OpenOptions::create_new::h44bd7a9119182d33':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std2fs11OpenOptions10create_new17h44bd7a9119182d33E+0x9): undefined reference to `std::sys::unix::fs::OpenOptions::create_new::hea4273f8685d5b7d'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `std::fs::OpenOptions::_open::hd85f4897de77de1e':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std2fs11OpenOptions5_open17hd85f4897de77de1eE+0x1f): undefined reference to `std::sys::unix::fs::File::open::hc83902ee05e33743'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `std::fs::Metadata::file_type::hbefbc792c74443cd':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std2fs8Metadata9file_type17hbefbc792c74443cdE+0x1): undefined reference to `std::sys::unix::fs::FileAttr::file_type::h923b39830a56df6a'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `std::fs::Metadata::is_dir::hb362a4b8f58fc1c7':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std2fs8Metadata6is_dir17hb362a4b8f58fc1c7E+0x2): undefined reference to `std::sys::unix::fs::FileAttr::file_type::h923b39830a56df6a'
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std2fs8Metadata6is_dir17hb362a4b8f58fc1c7E+0x10): undefined reference to `std::sys::unix::fs::FileType::is_dir::h4444e6085bdab85a'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `std::fs::Metadata::is_file::h4f9f287b19fbb62b':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std2fs8Metadata7is_file17h4f9f287b19fbb62bE+0x2): undefined reference to `std::sys::unix::fs::FileAttr::file_type::h923b39830a56df6a'
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std2fs8Metadata7is_file17h4f9f287b19fbb62bE+0x10): undefined reference to `std::sys::unix::fs::FileType::is_file::h322644336aac703b'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `std::fs::Metadata::len::h25555dcd23c1288a':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std2fs8Metadata3len17h25555dcd23c1288aE+0x1): undefined reference to `std::sys::unix::fs::FileAttr::size::he4450c8541da42d7'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `std::fs::Metadata::permissions::h9bb537ff5d5ad6d5':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std2fs8Metadata11permissions17h9bb537ff5d5ad6d5E+0x1): undefined reference to `std::sys::unix::fs::FileAttr::perm::h0282bfd9d1cbcdb0'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `std::fs::Metadata::modified::hc524769470087a06':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std2fs8Metadata8modified17hc524769470087a06E+0xe): undefined reference to `std::sys::unix::fs::FileAttr::modified::hcfe3222e063ecaa4'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `std::fs::Metadata::accessed::hdb1c3b4cbee0c895':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std2fs8Metadata8accessed17hdb1c3b4cbee0c895E+0xe): undefined reference to `std::sys::unix::fs::FileAttr::accessed::h9ec515988cd934ca'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `std::fs::Metadata::created::h37beca5380678d23':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std2fs8Metadata7created17h37beca5380678d23E+0xe): undefined reference to `std::sys::unix::fs::FileAttr::created::h2f70d7c1d479176e'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `_$LT$std..fs..Metadata$u20$as$u20$core..fmt..Debug$GT$::fmt::h308791d44bebb31d':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN54_$LT$std..fs..Metadata$u20$as$u20$core..fmt..Debug$GT$3fmt17h308791d44bebb31dE+0x2f): undefined reference to `std::sys::unix::fs::FileAttr::file_type::h923b39830a56df6a'
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN54_$LT$std..fs..Metadata$u20$as$u20$core..fmt..Debug$GT$3fmt17h308791d44bebb31dE+0x5e): undefined reference to `std::sys::unix::fs::FileAttr::file_type::h923b39830a56df6a'
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN54_$LT$std..fs..Metadata$u20$as$u20$core..fmt..Debug$GT$3fmt17h308791d44bebb31dE+0x6c): undefined reference to `std::sys::unix::fs::FileType::is_dir::h4444e6085bdab85a'
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN54_$LT$std..fs..Metadata$u20$as$u20$core..fmt..Debug$GT$3fmt17h308791d44bebb31dE+0x9e): undefined reference to `std::sys::unix::fs::FileAttr::file_type::h923b39830a56df6a'
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN54_$LT$std..fs..Metadata$u20$as$u20$core..fmt..Debug$GT$3fmt17h308791d44bebb31dE+0xac): undefined reference to `std::sys::unix::fs::FileType::is_file::h322644336aac703b'
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN54_$LT$std..fs..Metadata$u20$as$u20$core..fmt..Debug$GT$3fmt17h308791d44bebb31dE+0xd7): undefined reference to `std::sys::unix::fs::FileAttr::perm::h0282bfd9d1cbcdb0'
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN54_$LT$std..fs..Metadata$u20$as$u20$core..fmt..Debug$GT$3fmt17h308791d44bebb31dE+0x10b): undefined reference to `std::sys::unix::fs::FileAttr::modified::hcfe3222e063ecaa4'
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN54_$LT$std..fs..Metadata$u20$as$u20$core..fmt..Debug$GT$3fmt17h308791d44bebb31dE+0x17e): undefined reference to `std::sys::unix::fs::FileAttr::accessed::h9ec515988cd934ca'
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN54_$LT$std..fs..Metadata$u20$as$u20$core..fmt..Debug$GT$3fmt17h308791d44bebb31dE+0x1f1): undefined reference to `std::sys::unix::fs::FileAttr::created::h2f70d7c1d479176e'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `std::fs::Permissions::readonly::h7b7c26e9c7ab963f':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std2fs11Permissions8readonly17h7b7c26e9c7ab963fE+0x1): undefined reference to `std::sys::unix::fs::FilePermissions::readonly::h90e873eec0f906d8'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `std::fs::Permissions::set_readonly::h901047d152f80b3f':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std2fs11Permissions12set_readonly17h901047d152f80b3fE+0x5): undefined reference to `std::sys::unix::fs::FilePermissions::set_readonly::hdb5875985ad11f34'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `std::fs::FileType::is_dir::h35861896848ee642':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std2fs8FileType6is_dir17h35861896848ee642E+0x1): undefined reference to `std::sys::unix::fs::FileType::is_dir::h4444e6085bdab85a'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `std::fs::FileType::is_file::hc0fd16622ee68253':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std2fs8FileType7is_file17hc0fd16622ee68253E+0x1): undefined reference to `std::sys::unix::fs::FileType::is_file::h322644336aac703b'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `std::fs::FileType::is_symlink::h60184252d8731e59':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std2fs8FileType10is_symlink17h60184252d8731e59E+0x1): undefined reference to `std::sys::unix::fs::FileType::is_symlink::h0f69f8128956fbbd'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `std::fs::DirEntry::path::h9cd57feb4134ebf3':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std2fs8DirEntry4path17h9cd57feb4134ebf3E+0x5): undefined reference to `std::sys::unix::fs::DirEntry::path::h85473c4d5fcc4cf4'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `std::fs::DirEntry::metadata::h63e887924c9c251d':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std2fs8DirEntry8metadata17h63e887924 `std::fs::DirBuilder::new::h141840cfbc9668f8':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std2fs10DirBuilder3new17h141840cfbc9668f8E+0x2): undefined reference to `std::sys::unix::fs::DirBuilder::new::ha7e5eb2d8a6e8cef'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `std::fs::DirBuilder::_create::h64ee5012b11592d2':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std2fs10DirBuilder7_create17h64ee5012b11592d2E+0x18): undefined reference to `std::sys::unix::fs::DirBuilder::mkdir::h9800f1bd47fcfe1c'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `std::fs::DirBuilder::create_dir_all::hd750e047f653ef30':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std2fs10DirBuilder14create_dir_all17hd750e047f653ef30E+0x4c): undefined reference to `std::sys::unix::fs::DirBuilder::mkdir::h9800f1bd47fcfe1c'
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std2fs10DirBuilder14create_dir_all17hd750e047f653ef30E+0xd9): undefined reference to `std::sys::unix::fs::DirBuilder::mkdir::h9800f1bd47fcfe1c'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `std::io::Read::read_exact::hb3e473a10010b54f':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std2io4Read10read_exact17hb3e473a10010b54fE+0x4d): undefined reference to `std::sys::unix::fs::File::read::hd9aea1b22c5447fb'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `std::io::Write::write_all::h0ec16fda6a6e80ef':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std2io5Write9write_all17h0ec16fda6a6e80efE+0x4d): undefined reference to `std::sys::unix::fs::File::write::h8e16d075c72cad30'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `_$LT$std..fs..File$u20$as$u20$std..sys..unix..ext..io..AsRawFd$GT$::as_raw_fd::h547af07f0e4dcc51':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN66_$LT$std..fs..File$u20$as$u20$std..sys..unix..ext..io..AsRawFd$GT$9as_raw_fd17h547af07f0e4dcc51E+0x2): undefined reference to `std::sys::unix::fs::File::fd::hc1fec5c245c27d81'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `_$LT$std..fs..File$u20$as$u20$std..sys..unix..ext..io..IntoRawFd$GT$::into_raw_fd::h5f85d78052bfde7d':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN68_$LT$std..fs..File$u20$as$u20$std..sys..unix..ext..io..IntoRawFd$GT$11into_raw_fd17h5f85d78052bfde7dE+0x2): undefined reference to `std::sys::unix::fs::File::into_fd::hc20607c3347879ee'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `_$LT$std..fs..File$u20$as$u20$std..sys..unix..ext..fs..FileExt$GT$::read_at::h3dd867aed8afe863':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN66_$LT$std..fs..File$u20$as$u20$std..sys..unix..ext..fs..FileExt$GT$7read_at17h3dd867aed8afe863E+0x5): undefined reference to `std::sys::unix::fs::File::read_at::h0c3e01aa918508b2'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `_$LT$std..fs..File$u20$as$u20$std..sys..unix..ext..fs..FileExt$GT$::write_at::hbf31af6566aef5c6':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN66_$LT$std..fs..File$u20$as$u20$std..sys..unix..ext..fs..FileExt$GT$8write_at17hbf31af6566aef5c6E+0x5): undefined reference to `std::sys::unix::fs::File::write_at::hb531204ede185756'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `_$LT$std..fs..Permissions$u20$as$u20$std..sys..unix..ext..fs..PermissionsExt$GT$::mode::haf982b58addb5ed0':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN80_$LT$std..fs..Permissions$u20$as$u20$std..sys..unix..ext..fs..PermissionsExt$GT$4mode17haf982b58addb5ed0E+0x1): undefined reference to `std::sys::unix::fs::FilePermissions::mode::h5da73fc1ae2618b3'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `_$LT$std..fs..OpenOptions$u20$as$u20$std..sys..unix..ext..fs..OpenOptionsExt$GT$::mode::h24cf20736674a7cd':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN80_$LT$std..fs..OpenOptions$u20$as$u20$std..sys..unix..ext..fs..OpenOptionsExt$GT$4mode17h24cf20736674a7cdE+0x5): undefined reference to `std::sys::unix::fs::OpenOptions::mode::h4fbabc8479ad5136'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `_$LT$std..fs..OpenOptions$u20$as$u20$std..sys..unix..ext..fs..OpenOptionsExt$GT$::custom_flags::h0240bb2b56b5e74c':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN80_$LT$std..fs..OpenOptions$u20$as$u20$std..sys..unix..ext..fs..OpenOptionsExt$GT$12custom_flags17h0240bb2b56b5e74cE+0x5): undefined reference to `std::sys::unix::fs::OpenOptions::custom_flags::he8683b11bdc4e1d7'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `_$LT$std..fs..FileType$u20$as$u20$std..sys..unix..ext..fs..FileTypeExt$GT$::is_block_device::hf68b788b91e3f170':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN74_$LT$std..fs..FileType$u20$as$u20$std..sys..unix..ext..fs..FileTypeExt$GT$15is_block_device17hf68b788b91e3f170E+0x6): undefined reference to `std::sys::unix::fs::FileType::is::h4d98aa1af53f8a1b'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `_$LT$std..fs..FileType$u20$as$u20$std..sys..unix..ext..fs..FileTypeExt$GT$::is_char_device::hb7a0cfb2c5a77332':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN74_$LT$std..fs..FileType$u20$as$u20$std..sys..unix..ext..fs..FileTypeExt$GT$14is_char_device17hb7a0cfb2c5a77332E+0x6): undefined reference to `std::sys::unix::fs::FileType::is::h4d98aa1af53f8a1b'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `_$LT$std..fs..FileType$u20$as$u20$std..sys..unix..ext..fs..FileTypeExt$GT$::is_fifo::hd2d7c854aad0fba0':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN74_$LT$std..fs..FileType$u20$as$u20$std..sys..unix..ext..fs..FileTypeExt$GT$7is_fifo17hd2d7c854aad0fba0E+0x6): undefined reference to `std::sys::unix::fs::FileType::is::h4d98aa1af53f8a1b'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `_$LT$std..fs..FileType$u20$as$u20$std..sys..unix..ext..fs..FileTypeExt$GT$::is_socket::h60f02ede54cc19e6':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN74_$LT$std..fs..FileType$u20$as$u20$std..sys..unix..ext..fs..FileTypeExt$GT$9is_socket17h60f02ede54cc19e6E+0x6): undefined reference to `std::sys::unix::fs::FileType::is::h4d98aa1af53f8a1b'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `_$LT$std..fs..DirEntry$u20$as$u20$std..sys..unix..ext..fs..DirEntryExt$GT$::ino::h72b5ad1b68e33465':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN74_$LT$std..fs..DirEntry$u20$as$u20$std..sys..unix..ext..fs..DirEntryExt$GT$3ino17h72b5ad1b68e33465E+0x1): undefined reference to `std::sys::unix::fs::DirEntry::ino::ha23fcc22c00923ed'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std15.rcgu.o: In function `_$LT$std..fs..DirBuilder$u20$as$u20$std..sys..unix..ext..fs..DirBuilderExt$GT$::mode::h94b9825d22ce207c':
[00:26:12]           std15-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN78_$LT$std..fs..DirBuilder$u20$as$u20$std..sys..unix..ext..fs..DirBuilderExt$GT$4mode17h94b9825d22ce207cE+0x5): undefined reference to `std::sys::unix::fs::DirBuilder::set_mode::hb6c274c6745d053b'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std4.rcgu.o: In function `_$LT$$RF$$u27$a$u20$std..sys..unix..ext..net..UnixStream$u20$as$u20$std..io..Read$GT$::read::h4410e5bc246590a2':
[00:26:12]           std4-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN85_$LT$$RF$$u27$a$u20$std..sys..unix..ext..net..UnixStream$u20$as$u20$std..io..Read$GT$4read17h4410e5bc246590a2E+0x8): undefined reference to `std::sys::unix::net::Socket::read::hd6804ffa9b3dbaaa'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std4.rcgu.o: In function `_$LT$$RF$$u27$a$u20$std..sys..unix..ext..net..UnixStream$u20$as$u20$std..io..Write$GT$::write::h9e5e84e6179ef72b':
[00:26:12]           std4-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN86_$LT$$RF$$u27$a$u20$std..sys..unix..ext..net..UnixStream$u20$as$u20$std..io..Write$GT$5write17h9e5e84e6179ef72bE+0x8): undefined reference to `std::sys::unix::net::Socket::write::h8e466cde6309448b'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std4.rcgu.o: In function `_$LT$std..sys..unix..ext..net..Incoming$LT$$u27$a$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$::next::h4c8fc8da60f5d7d5':
[00:26:12]           std4-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN99_$LT$std..sys..unix..ext..net..Incoming$LT$$u27$a$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h4c8fc8da60f5d7d5E+0x66): undefined reference to `std::sys::unix::net::Socket::accept::habea0290ea62fedd'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std4.rcgu.o: In function `std::sys::unix::cvt_r::h35c8f39e79f926be':
[00:26:12]           std4-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std3sys4unix5cvt_r17h35c8f39e79f926beE+0x2b): undefined reference to `std::sys::unix::fs::File::datasync::os_datasync::h603e90379646f366'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std6.rcgu.o: In function `std::sys_common::gnu::libbacktrace::foreach_symbol_fileline::h4a6f2e5f01a82db3':
[00:26:12]           std6-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std10sys_common3gnu12libbacktrace23foreach_symbol_fileline17h4a6f2e5f01a82db3E+0x40a): undefined reference to `std::sys_common::backtrace::output_fileline::h7824ef1a6a82fa69'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std6.rcgu.o: In function `std::sys_common::gnu::libbacktrace::resolve_symname::hfe2f4da1d59ce3d1':
[00:26:12]           std6-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std10sys_common3gnu12libbacktrace15resolve_symname17hfe2f4da1d59ce3d1E+0xe5): undefined reference to `std::sys_common::backtrace::output::h56bce346112a3f1d'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std7.rcgu.o: In function `std::sys::unix::process::process_inner::Process::wait::h3dcab18f449056d7':
[00:26:12]           std7-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std3sys4unix7process13process_inner7Process4wait17h3dcab18f449056d7E+0x7b): undefined reference to `std::sys::unix::process::process_common::ExitStatus::new::h3548ea37daaf4871'
[00:26:12]           std7-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std3sys4unix7process13process_inner7Process4wait17h3dcab18f449056d7E+0x93): undefined reference to `std::sys::unix::process::process_common::ExitStatus::new::h3548ea37daaf4871'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std7.rcgu.o: In function `std::sys::unix::process::process_inner::Process::try_wait::hd41b6a275260a9bc':
[00:26:12]           std7-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std3sys4unix7process13process_inner7Process8try_wait17hd41b6a275260a9bcE+0xb4): undefined reference to `std::sys::unix::process::process_common::ExitStatus::new::h3548ea37daaf4871'
[00:26:12]           std7-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std3sys4unix7process13process_inner7Process8try_wait17hd41b6a275260a9bcE+0xcb): undefined reference to `std::sys::unix::process::process_common::ExitStatus::new::h3548ea37daaf4871'
[00:26:12]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-5b73d6d9f353b291.std9.rcgu.o: In function `std::sys::unix::backtrace::printing::dladdr::resolve_symname::h4a078af9b830763a':
[00:26:12]           std9-681dcf11a004ed42c5d5ac1106afe967.rs:(.text._ZN3std3sys4unix9backtrace8printing6dladdr15resolve_symname17h4a078af9b830763aE+0x99): undefined reference to `std::sys_common::backtrace::output::h56bce346112a3f1d'
[00:26:12]           /usr/bin/ld: /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/libstd-5b73d6d9f353b291.so: hidden symbol `_ZN3std3sys4unix2fs8FileType7is_file17h322644336aac703bE' isn't defined
[00:26:12]           /usr/bin/ld: final link failed: Bad value
[00:26:12]           collect2: error: ld returned 1 exit status
[00:26:12] 
[00:26:13] error: aborting due to previous error
[00:26:13] 
[00:26:13] error: Could not compile `std`.
[00:26:13] error: Could not compile `std`.
[00:26:13] 
[00:26:13] Caused by:
[00:26:13]   process didn't exit successfully: `/checkout/obj/build/bootstrap/debug/rustc --crate-name std libstd/lib.rs --color always --error-format json --crate-type dylib --crate-type rlib --emit=dep-info,link -C prefer-dynamic -C opt-level=3 --cfg feature="alloc_jemalloc" --cfg feature="backtrace" --cfg feature="jemalloc" --cfg feature="panic-unwind" --cfg feature="panic_unwind" -C metadata=5b73d6d9f353b291 -C extra-filename=-5b73d6d9f353b291 --out-dir /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps --target x86_64-unknown-linux-gnu -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/release/deps --extern libc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/liblibc-258b9765e9d382f8.rlib --extern core=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/libcore-07c899b6c3d44697.rlib --extern rustc_msan=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/librustc_msan-98dded67db9296cd.rlib --extern panic_unwind=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/libpanic_unwind-78a2bbc8405d4a9e.rlib --extern rustc_tsan=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/librustc_tsan-76a13993ec135458.rlib --extern alloc_system=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/liballoc_system-2fe04b3784b4428d.rlib --extern compiler_builtins=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/libcompiler_builtins-b4e196030fb3059f.rlib --extern alloc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/liballoc-c38091e970008824.rlib --extern rustc_lsan=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/librustc_lsan-054468119fa59e25.rlib --extern std_unicode=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/libstd_unicode-4cdfa670ecdd4818.rlib --extern rustc_asan=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/librustc_asan-bea61125e09eccf7.rlib --extern alloc_jemalloc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/liballoc_jemalloc-af61bf2ee8b8d375.rlib --extern unwind=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/libunwind-54238eb4a2f0e511.rlib --extern panic_abort=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/libpanic_abort-321ca3a25e85c1cf.rlib -L native=/checkout/obj/build/x86_64-unknown-linux-gnu/native/libbacktrace/.libs -l static=backtrace -l dl -l rt -l pthread -L native=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/build/compiler_builtins-3c62409c53174beb/out -L native=/checkout/obj/build/x86_64-unknown-linux-gnu/native/jemalloc/lib` (exit code: 101)
[00:26:13] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "build" "--target" "x86_64-unknown-linux-gnu" "--release" "--locked" "--color" "always" "--features" "panic-unwind jemalloc backtrace" "--manifest-path" "/checkout/src/libstd/Cargo.toml" "--message-format" "json"
[00:26:13] expected success, got: exit code: 101
[00:26:13] thread 'main' panicked at 'cargo must succeed', bootstrap/compile.rs:1091:9
[00:26:13] travis_fold:end:stage1-std

[00:26:13] travis_time:end:stage1-std:start=1525975028678574393,finish=1525975117850134092,duration=89171559699


[00:26:13] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap build
[00:26:13] Build completed unsuccessfully in 0:20:47
[00:26:13] Makefile:28: recipe for target 'all' failed
[00:26:13] make: *** [all] Error 1

The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:2ae5eac0
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
Thu May 10 17:58:38 UTC 2018
t/modules
149676 ./.git/modules/src
149120 ./src/llvm-emscripten/test
148912 ./obj/build/bootstrap/debug/incremental
124332 ./obj/build/bootstrap/debug/incremental/bootstrap-182x3aewwy26b
124328 ./obj/build/bootstrap/debug/incremental/bootstrap-182x3aewwy26b/s-f0wumieics-1otnwj0-22v3gsapbxtg7
102820 ./obj/build/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/codegen-backends
93336 ./obj/build/x86_64-unknown-linux-gnu/stage1
93312 ./obj/build/x86_64-unknown-linux-gnu/stage1/lib
89704 ./src/llvm/test/CodeGen

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)

@michaelwoerister
Copy link
Member

At least the linker errors are reproducible ;)


impl<T> PartialEq for Slice<T> {
#[inline]
fn eq(&self, other: &Slice<T>) -> bool {
(&self.0 as *const [T]) == (&other.0 as *const [T])
(self as *const _) == (other as *const _)
Copy link
Member

Choose a reason for hiding this comment

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

PartialEq and Hash don't agree. Is it possible that we ever have two slices with the same address but different lengths?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

That's not possible as the length is stored at that address.

Copy link
Member

Choose a reason for hiding this comment

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

Yeah.

Copy link
Member

Choose a reason for hiding this comment

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

The Hash implementation should just hash the pointer then. Should be faster too.

Copy link
Member

Choose a reason for hiding this comment

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

The HashStable impl in impls_ty.rs should also just use the pointer as the cache key.

pub fn empty<'a>() -> &'a Slice<T> {
unsafe {
mem::transmute(slice::from_raw_parts(0x1 as *const T, 0))
&*(EMPTY_SLICE as *const _)
Copy link
Member

Choose a reason for hiding this comment

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

I'm wondering if this can trigger some kind of undefined behavior? Maybe mem::transmute(EMPTY_SLICE) would be better.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I can get rid of the optimization for the empty slice and see if that helps...

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Removing it does make things work.

@bors
Copy link
Contributor

bors commented May 11, 2018

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

@TimNN TimNN added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels May 15, 2018
@pietroalbini
Copy link
Member

Ping from triage @Zoxc! It's been a while since we heard from you, will you have time to work on this again soon?

@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-3.9 of your PR failed on Travis (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.
[00:05:41]    Compiling syntax_pos v0.0.0 (file:///checkout/src/libsyntax_pos)
[00:05:44]    Compiling rustc_errors v0.0.0 (file:///checkout/src/librustc_errors)
[00:07:12]    Compiling proc_macro v0.0.0 (file:///checkout/src/libproc_macro)
[00:07:30]    Compiling syntax_ext v0.0.0 (file:///checkout/src/libsyntax_ext)
[00:08:49] error: constant item is never used: `EMPTY_SLICE`
[00:08:49]    --> librustc/ty/mod.rs:588:1
[00:08:49]     |
[00:08:49] 588 | const EMPTY_SLICE: usize = 1;
[00:08:49]     |
[00:08:49]     |
[00:08:49]     = note: `-D dead-code` implied by `-D warnings`
[00:08:51] error: aborting due to previous error
[00:08:51] 
[00:08:51] error: Could not compile `rustc`.
[00:08:51] 
[00:08:51] 
[00:08:51] Caused by:
[00:08:51]   process didn't exit successfully: `/checkout/obj/build/bootstrap/debug/rustc --crate-name rustc librustc/lib.rs --color always --error-format json --crate-type dylib --emit=dep-info,link -C prefer-dynamic -C opt-level=3 -C metadata=71e4694314b7f91c -C extra-filename=-71e4694314b7f91c --out-dir /checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps --target x86_64-unknown-linux-gnu -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/release/deps --extern syntax_pos=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/libsyntax_pos-b295ea05411d660b.so --extern byteorder=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/libbyteorder-7575351e73c880a2.rlib --extern rustc_target=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_target-a7e6c70c1d8dd47c.so --extern proc_macro=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/libproc_macro-e865be939b03ef41.so --extern serialize=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/libserialize-a476bbed33563995.so --extern serialize=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/libserialize-a476bbed33563995.rlib --extern jobserver=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/libjobserver-ae6ba972807bb99f.rlib --extern syntax=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/libsyntax-56d64b1c20d3e94a.so --extern rustc_errors=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_errors-f4ae3ca4254eee93.so --extern rustc_data_structures=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_data_structures-9a1651e7b43f567b.so --extern fmt_macros=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/libfmt_macros-c2f2c8c35b176352.so --extern tempdir=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/libtempdir-5940c2a57172dcdb.rlib --extern flate2=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/libflate2-7a064031021abb10.rlib --extern graphviz=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/libgraphviz-550225fbe3657ec3.so --extern log=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/liblog-bde077c9625bcd15.rlib --extern bitflags=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/libbitflags-f223cc35df6c29ec.rlib --extern lazy_static=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86/release
48504 ./obj/build/x86_64-unknown-linux-gnu/stage0-std
47768 ./src/test
47328 ./obj/build/x86_64-unknown-linux-gnu/stage0-std/release
46352 ./src/llvm/test/MC

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 x86_64-gnu-llvm-3.9 of your PR failed on Travis (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.
[00:25:02]    Compiling std_unicode v0.0.0 (file:///checkout/src/libstd_unicode)
[00:25:03]    Compiling alloc_system v0.0.0 (file:///checkout/src/liballoc_system)
[00:25:03]    Compiling panic_abort v0.0.0 (file:///checkout/src/libpanic_abort)
[00:25:08]    Compiling panic_unwind v0.0.0 (file:///checkout/src/libpanic_unwind)
[00:25:22] error: linking with `cc` failed: exit code: 1
[00:25:22]   |
[00:25:22]   = 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-std/x86_64-unknown-linux-gnu/release/deps/std-fa75c8f103a9cdf5.std0.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-fa75c8f103a9cdf5.std1.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-fa75c8f103a9cdf5.std10.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-fa75c8f103a9cdf5.std11.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-fa75c8f103a9cdf5.std12.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-fa75c8f103a9cdf5.std13.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-fa75c8f103a9cdf5.std14.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-fa75c8f103a9cdf5.std15.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-fa75c8f103a9cdf5.std2.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-fa75c8f103a9cdf5.std3.rcgu.o" "/e/deps/std-fa75c8f103a9cdf5.std11.rcgu.o: In function `std::env::current_exe::ha5736576c8afa5ff':
[00:25:22]           std11-259254a58549252be86793916c6a49fd.rs:(.text._ZN3std3env11current_exe17ha5736576c8afa5ffE+0x5): undefined reference to `std::sys::unix::os::current_exe::h741d48dadcfd8564'
[00:25:22]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-fa75c8f103a9cdf5.std11.rcgu.o: In function `std::panicking::default_hook::h4a4f4cebf0ffd248':
[00:25:22]           std11-259254a58549252be86793916c6a49fd.rs:(.text._ZN3std9panicking12default_hook17h4a4f4cebf0ffd248E+0x34): undefined reference to `std::sys_common::backtrace::log_enabled::hdcfadaba5a2105d4'
[00:25:22]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-fa75c8f103a9cdf5.std11.rcgu.o: In function `std::panicking::default_hook::_$u7b$$u7b$closure$u7d$$u7d$::h648a0cecd8217a4f':
[00:25:22]           std11-259254a58549252be86793916c6a49fd.rs:(.text._ZN3std9panicking12default_hook28_$u7b$$u7b$closure$u7d$$u7d$17h648a0cecd8217a4fE+0x160): undefined reference to `std::sys_common::backtrace::print::hed4dbe8aaa0c12a5'
[00:25:22]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-fa75c8f103a9cdf5.std2.rcgu.o: In function `std::sys_common::net::lookup_host::had03716fde5b7814':
[00:25:22]           std2-259254a58549252be86793916c6a49fd.rs:(.text._ZN3std10sys_common3net11lookup_host17had03716fde5b7814E+0x100): undefined reference to `std::sys::unix::os::glibc_version::h27d0aa96d32c6130'
[00:25:22]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-fa75c8f103a9cdf5.std3.rcgu.o: In function `std::sys::unix::rand::imp::getrandom_fill_bytes::hc3bed1519fb05237':
[00:25:22]           std3-259254a58549252be86793916c6a49fd.rs:(.text._ZN3std3sys4unix4rand3imp20getrandom_fill_bytes17hc3bed1519fb05237E+0x48): undefined reference to `std::sys::unix::os::errno::h7afa3bf74917cdb5'
[00:25:22]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-fa75c8f103a9cdf5.std3.rcgu.o: In function `std::sys::unix::cvt_r::h52e8d159e4fe2aa9':
[00:25:22]           std3-259254a58549252be86793916c6a49fd.rs:(.text._ZN3std3sys4unix5cvt_r17h52e8d159e4fe2aa9E+0x2b): undefined reference to `std::sys::unix::fs::File::datasync::os_datasync::hdb4821e8a3818390'
[00:25:22]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-fa75c8f103a9cdf5.std4.rcgu.o: In function `_$LT$$RF$$u27$a$u20$std..sys..unix..ext..net..UnixStream$u20$as$u20$std..io..Read$GT$::read::h595957b8d7a218c5':
[00:25:22]           std4-259254a58549252be86793916c6a49fd.rs:(.text._ZN85_$LT$$RF$$u27$a$u20$std..sys..unix..ext..net..UnixStream$u20$as$u20$std..io..Read$GT$4read17h595957b8d7a218c5E+0x8): undefined reference to `std::sys::unix::net::Socket::read::h18068d88e4c1e53e'
[00:25:22]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-fa75c8f103a9cdf5.std4.rcgu.o: In function `_$LT$$RF$$u27$a$u20$std..sys..unix..ext..net..UnixStream$u20$as$u20$std..io..Write$GT$::write::hf05f9a563c7e9dd7':
[00:25:22]           std4-259254a58549252be86793916c6a49fd.rs:(.text._ZN86_$LT$$RF$$u27$a$u20$std..sys..unix..ext..net..UnixStream$u20$as$u20$std..io..Write$GT$5write17hf05f9a563c7e9dd7E+0x8): undefined reference to `std::sys::unix::net::Socket::write::h4bff078d99ea67d5'
[00:25:22]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-fa75c8f103a9cdf5.std4.rcgu.o: In function `_$LT$std..sys..unix..ext..net..Incoming$LT$$u27$a$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$::next::h7c5b82539355b66b':
[00:25:22]           std4-259254a58549252be86793916c6a49fd.rs:(.text._ZN99_$LT$std..sys..unix..ext..net..Incoming$LT$$u27$a$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h7c5b82539355b66bE+0x66): undefined reference to `std::sys::unix::net::Socket::accept::h3e0aab83b1d8356d'
[00:25:22]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-fa75c8f103a9cdf5.std6.rcgu.o: In function `std::thread::yield_now::hff05b82b026d15c3':
[00:25:22]           std6-259254a58549252be86793916c6a49fd.rs:(.text._ZN3std6thread9yield_now17hff05b82b026d15c3E+0x1): undefined reference to `std::sys::unix::thread::Thread::yield_now::h2795cebf33d30a8b'
[00:25:22]           /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-fa75c8f103a9cdf5.std6.rcgu.o: In function `std::thread::sleep_ms::h7fd25af058da0ad2':y=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/release/deps --extern rustc_tsan=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/librustc_tsan-4f182ebab5cb4525.rlib --extern std_unicode=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/libstd_unicode-0a15fd728e8b9fb5.rlib --extern panic_unwind=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/libpanic_unwind-ea8bb7a0c1b7a2c9.rlib --extern alloc_jemalloc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/liballoc_jemalloc-fdab96860aec821b.rlib --extern rustc_asan=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/librustc_asan-9be7699db1c09cff.rlib --extern alloc_system=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/liballoc_system-b3e6a4b55e395064.rlib --extern libc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/liblibc-6a2dc0ef40dea730.rlib --extern unwind=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/libunwind-dc9bd859cc800f80.rlib --extern rustc_lsan=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/librustc_lsan-8245f34fd64f0fae.rlib --extern compiler_builtins=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/libc

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)

@Zoxc
Copy link
Contributor Author

Zoxc commented May 22, 2018

@bors try

@bors
Copy link
Contributor

bors commented May 22, 2018

⌛ Trying commit 60ca7ef with merge 93b8ebd...

bors added a commit that referenced this pull request May 22, 2018
Make &Slice a thin pointer

Split out from #50395

r? @michaelwoerister
@bors
Copy link
Contributor

bors commented May 22, 2018

☀️ Test successful - status-travis
State: approved= try=True

@Zoxc
Copy link
Contributor Author

Zoxc commented May 22, 2018

@Mark-Simulacrum I'd like a perf run here

@michaelwoerister
Copy link
Member

This will be interesting :)

@kennytm kennytm added S-waiting-on-perf Status: Waiting on a perf run to be completed. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels May 22, 2018
@michaelwoerister
Copy link
Member

Perf results are in. Some slower, some faster, mostly within the +/- 1% range. cc @eddyb

@Zoxc, does #50959 depend on this?

@Zoxc
Copy link
Contributor Author

Zoxc commented May 24, 2018

Even if this doesn't improve performance it reduces memory usage, so I'd want it to get merged anyway.

@Zoxc, does #50959 depend on this?

It does.

/// A wrapper for slices with the additional invariant
/// that the slice is interned and no other slice with
/// the same contents can exist in the same context.
/// This means we can use pointer + length for both
/// equality comparisons and hashing.
#[derive(Debug, RustcEncodable)]
pub struct Slice<T>([T]);
pub struct Slice<T>(PhantomData<T>, OpaqueSliceContents);
Copy link
Member

Choose a reason for hiding this comment

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

If you write this as:

#[repr(C)]
pub struct Slice<T> {
    pub len: usize,
    data: [T; 0],
    _opaque: OpaqueSliceContents,
}

Then you can read/write the len, and get a pointer to the start of the data by .data.as_ptr(), both of which work in safe code.

Copy link
Member

Choose a reason for hiding this comment

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

+1

@michaelwoerister
Copy link
Member

I'm OK with merging this but could you please implement @eddyb's suggestion, @Zoxc?

@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-3.9 of your PR failed on Travis (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.
[00:22:47]    Compiling alloc_jemalloc v0.0.0 (file:///checkout/src/liballoc_jemalloc)
[00:22:51] error: Could not compile `core`.
[00:22:51] 
[00:22:51] Caused by:
[00:22:51]   process didn't exit successfully: `/checkout/obj/build/bootstrap/debug/rustc --crate-name core libcore/lib.rs --color always --error-format json --crate-type lib --emit=dep-info,link -C opt-level=3 -C metadata=9b2cf3afb370a473 -C extra-filename=-9b2cf3afb370a473 --out-dir /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps --target x86_64-unknown-linux-gnu -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/release/deps` (signal: 11, SIGSEGV: invalid memory reference)
Thu, 24 May 2018 11:32:22 GMT
travis_time:end:1272b940:start=1527161542145166147,finish=1527161542206209881,duration=61043734

The command "date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)

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)

let align = mem::align_of::<T>();
let align_mask = align - 1;
let offset = mem::size_of::<usize>();
(offset + align_mask) & !align_mask
Copy link
Member

Choose a reason for hiding this comment

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

Since this is only used to compute the size to allocate, could you inline it into from_arena?

@bors
Copy link
Contributor

bors commented May 24, 2018

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

@bors bors added the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label May 24, 2018
@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-3.9 of your PR failed on Travis (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.
[00:06:12]    Compiling syntax_pos v0.0.0 (file:///checkout/src/libsyntax_pos)
[00:06:16]    Compiling rustc_errors v0.0.0 (file:///checkout/src/librustc_errors)
[00:08:02]    Compiling proc_macro v0.0.0 (file:///checkout/src/libproc_macro)
[00:08:23]    Compiling syntax_ext v0.0.0 (file:///checkout/src/libsyntax_ext)
[00:08:53] error[E0609]: no field `0` on type `&ty::Slice<T>`
[00:08:53]    --> librustc/ty/mod.rs:651:37
[00:08:53]     |
[00:08:53] 651 |             <[T] as Ord>::cmp(&self.0, &other.0)
[00:08:53] 
[00:08:53] 
[00:08:53] error[E0609]: no field `0` on type `&ty::Slice<T>`
[00:08:53]    --> librustc/ty/mod.rs:651:47
[00:08:53]     |
[00:08:53] 651 |             <[T] as Ord>::cmp(&self.0, &other.0)
[00:08:53] 
[00:08:53] 
[00:08:53] error[E0609]: no field `0` on type `&ty::Slice<T>`
[00:08:53]    --> librustc/ty/mod.rs:659:52
[00:08:53]     |
[00:08:53] 659 |             <[T] as PartialOrd>::partial_cmp(&self.0, &other.0)
[00:08:53] 
[00:08:53] 
[00:08:53] error[E0609]: no field `0` on type `&ty::Slice<T>`
[00:08:53]    --> librustc/ty/mod.rs:659:62
[00:08:53]     |
[00:08:53] 659 |             <[T] as PartialOrd>::partial_cmp(&self.0, &other.0)
[00:08:53] 
[00:08:59] error: aborting due to 4 previous errors
[00:08:59] 
[00:08:59] For more information about this error, try `rustc --explain E0609`.
[00:08:59] For more information about this error, try `rustc --explain E0609`.
[00:08:59] error: Could not compile `rustc`.
[00:08:59] 
[00:08:59] Caused by:
[00:08:59]   process didn't exit successfully: `/checkout/obj/build/bootstrap/debug/rustc --crate-name rustc librustc/lib.rs --color always --error-format json --crate-type dylib --emit=dep-info,link -C prefer-dynamic -C opt-level=3 -C metadata=5b4f8bf37669326d -C extra-filename=-5b4f8bf37669326d --out-dir /checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps --target x86_64-unknown-linux-gnu -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/release/deps --extern syntax_pos=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/libsyntax_pos-2bee8f0c1e719b79.so --extern rustc_apfloat=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_apfloat-3024734921a8d3c2.rlib --extern lazy_static=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/liblazy_static-e2bf728a74e7d80c.rlib --extern arena=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/libarena-6f643d03661f77af.so --extern bitflags=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/libbitflagx-gnu/release/deps/libsyntax-cfccf57e1967c508.so --extern log=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/liblog-bde077c9625bcd15.rlib --extern graphviz=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/libgraphviz-550225fbe3657ec3.so --extern rustc_errors=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_errors-5c21a695e1301573.so --extern tempdir=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/libtempdir-5940c2a57172dcdb.rlib --extern proc_macro=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/libproc_macro-851dbea9607dbada.so --extern fmt_macros=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/libfmt_macros-c2f2c8c35b176352.so -L native=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/build/backtrace-sys-f085762345e9053e/out/.libs -L native=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/build/miniz-sys-c0082fee642cc0bf/out` (exit code: 101)
[00:08:59] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "build" "--target" "x86_64-unknown-linux-gnu" "-j" "4" "--release" "--locked" "--color" "always" "--features" " jemalloc" "--manifest-path" "/checkout/src/rustc/Cargo.toml" "--message-format" "json"
[00:08:59] travis_fold:end:stage0-rustc

[00:08

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)

@Zoxc
Copy link
Contributor Author

Zoxc commented May 27, 2018

@eddyb's suggestions have been applied.

@michaelwoerister
Copy link
Member

Thanks, @Zoxc!

@bors r+

@bors
Copy link
Contributor

bors commented May 28, 2018

📌 Commit fb4e3b6 has been approved by michaelwoerister

@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-author Status: This is awaiting some action (such as code changes or more information) from the author. labels May 28, 2018
@bors
Copy link
Contributor

bors commented May 28, 2018

⌛ Testing commit fb4e3b6 with merge 68e0e58...

bors added a commit that referenced this pull request May 28, 2018
@bors
Copy link
Contributor

bors commented May 28, 2018

☀️ Test successful - status-appveyor, status-travis
Approved by: michaelwoerister
Pushing 68e0e58 to master...

@bors bors merged commit fb4e3b6 into rust-lang:master May 28, 2018
@kennytm kennytm removed the S-waiting-on-perf Status: Waiting on a perf run to be completed. label May 28, 2018
@Zoxc Zoxc deleted the thin-slice branch May 28, 2018 14:37
@Zoxc
Copy link
Contributor Author

Zoxc commented Jun 2, 2018

This looks like a slight performance win. The previous benchmark run hashed the length of slices and it had an assertion in the Eq implementation which was just there for debugging.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
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.

8 participants