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

error[E0277]: syntax_pos::symbol::LocalInternedString cannot be sent between threads safely #3613

Closed
ghost opened this issue Jan 2, 2019 · 19 comments

Comments

@ghost
Copy link

ghost commented Jan 2, 2019

EDIT: tl;dr: this error(and the 3 others inside Details below) happens because I've compiled rustc with non-default config.toml setting: experimental-parallel-queries = true

In trying to compile rust-clippy's latest commit 85ba5f0 I get the following error:

error[E0277]: `syntax_pos::symbol::LocalInternedString` cannot be sent between threads safely
   --> /home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/clippy_lints/src/lib.rs:352:34
    |
352 |     reg.register_early_lint_pass(box enum_variants::EnumVariantNames::new(conf.enum_variant_name_threshold));
    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `syntax_pos::symbol::LocalInternedString` cannot be sent between threads safely
    |
    = help: within `(syntax_pos::symbol::LocalInternedString, std::string::String)`, the trait `std::marker::Send` is not implemented for `syntax_pos::symbol::LocalInternedString`
    = note: required because it appears within the type `(syntax_pos::symbol::LocalInternedString, std::string::String)`
    = note: required because of the requirements on the impl of `std::marker::Send` for `std::ptr::Unique<(syntax_pos::symbol::LocalInternedString, std::string::String)>`
    = note: required because it appears within the type `alloc::raw_vec::RawVec<(syntax_pos::symbol::LocalInternedString, std::string::String)>`
    = note: required because it appears within the type `std::vec::Vec<(syntax_pos::symbol::LocalInternedString, std::string::String)>`
    = note: required because it appears within the type `enum_variants::EnumVariantNames`
    = note: required for the cast to the object type `dyn rustc::lint::EarlyLintPass + std::marker::Send + std::marker::Sync`
$ time cargo build --verbose
!! LD_LIBRARY_PATH=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib:
!! Executing '/home/xftroxgpx/build/2nonpkgs/rust.stuff/cargo/cargo//target/release//cargo' in pwd='/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy' with args: 'build --verbose'
       Fresh cc v1.0.25
       Fresh unicode-xid v0.1.0
       Fresh version_check v0.1.5
       Fresh libc v0.2.43
       Fresh matches v0.1.8
       Fresh cfg-if v0.1.6
       Fresh rustc-demangle v0.1.9
       Fresh unicode-width v0.1.5
       Fresh void v1.0.2
       Fresh semver-parser v0.7.0
       Fresh unicode-normalization v0.1.7
       Fresh itoa v0.4.3
       Fresh percent-encoding v1.0.1
       Fresh bitflags v1.0.4
       Fresh ucd-util v0.1.2
       Fresh rustc_tools_util v0.1.0 (/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/rustc_tools_util)
       Fresh either v1.5.0
       Fresh utf8-ranges v1.0.2
       Fresh quine-mc_cluskey v0.2.4
       Fresh if_chain v0.1.3
       Fresh unicode-bidi v0.3.4
       Fresh getopts v0.2.18
       Fresh unreachable v1.0.0
       Fresh regex-syntax v0.6.2
       Fresh itertools v0.7.8
       Fresh proc-macro2 v0.4.20
       Fresh serde v1.0.80
       Fresh ryu v0.2.6
       Fresh idna v0.1.5
       Fresh smallvec v0.6.5
       Fresh pulldown-cmark v0.2.0
       Fresh backtrace-sys v0.1.24
       Fresh quote v0.6.9
       Fresh lazy_static v1.1.0
       Fresh memchr v2.1.1
       Fresh semver v0.9.0
       Fresh toml v0.4.8
       Fresh serde_json v1.0.32
       Fresh url v1.7.1
       Fresh backtrace v0.3.9
       Fresh syn v0.15.18
       Fresh thread_local v0.3.6
       Fresh aho-corasick v0.6.9
       Fresh error-chain v0.12.0
       Fresh serde_derive v1.0.80
       Fresh regex v1.0.5
       Fresh cargo_metadata v0.6.4
   Compiling clippy_lints v0.0.212 (/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/clippy_lints)
     Running `rustc --edition=2018 --crate-name clippy_lints /home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/clippy_lints/src/lib.rs --color always --crate-type lib --emit=dep-info,link -C debuginfo=2 -C metadata=577755aa4b98394d -C extra-filename=-577755aa4b98394d --out-dir /home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps -C incremental=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/incremental -L dependency=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps --extern cargo_metadata=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libcargo_metadata-e3e887206b827647.rlib --extern if_chain=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libif_chain-99c0457ea547490a.rlib --extern itertools=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libitertools-8169a8efe487708b.rlib --extern lazy_static=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/liblazy_static-7feb2e85f877fabd.rlib --extern matches=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libmatches-72c4b0ca8723697d.rlib --extern pulldown_cmark=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libpulldown_cmark-24e41b2cff8b3036.rlib --extern quine_mc_cluskey=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libquine_mc_cluskey-1df5db91f29ce21b.rlib --extern regex_syntax=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libregex_syntax-a7b792323b070331.rlib --extern semver=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libsemver-1a3dc4a8154bb575.rlib --extern serde=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libserde-8bda8064e2e1b789.rlib --extern serde_derive=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libserde_derive-004cb89792953908.so --extern smallvec=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libsmallvec-064d24eee6737503.rlib --extern toml=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libtoml-c558314f6b324981.rlib --extern unicode_normalization=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libunicode_normalization-afaebc42ab675f1e.rlib --extern url=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/liburl-a91d0fd3c5fb8bc1.rlib -L native=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/build/backtrace-sys-efa17084f44d4d88/out`
!! LD_LIBRARY_PATH=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage2/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib:
!! Executing '/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build//x86_64-unknown-linux-gnu/stage2/bin//rustc' in pwd='/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy' with args: '--edition=2018 --crate-name clippy_lints /home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/clippy_lints/src/lib.rs --color always --crate-type lib --emit=dep-info,link -C debuginfo=2 -C metadata=577755aa4b98394d -C extra-filename=-577755aa4b98394d --out-dir /home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps -C incremental=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/incremental -L dependency=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps --extern cargo_metadata=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libcargo_metadata-e3e887206b827647.rlib --extern if_chain=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libif_chain-99c0457ea547490a.rlib --extern itertools=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libitertools-8169a8efe487708b.rlib --extern lazy_static=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/liblazy_static-7feb2e85f877fabd.rlib --extern matches=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libmatches-72c4b0ca8723697d.rlib --extern pulldown_cmark=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libpulldown_cmark-24e41b2cff8b3036.rlib --extern quine_mc_cluskey=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libquine_mc_cluskey-1df5db91f29ce21b.rlib --extern regex_syntax=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libregex_syntax-a7b792323b070331.rlib --extern semver=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libsemver-1a3dc4a8154bb575.rlib --extern serde=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libserde-8bda8064e2e1b789.rlib --extern serde_derive=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libserde_derive-004cb89792953908.so --extern smallvec=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libsmallvec-064d24eee6737503.rlib --extern toml=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libtoml-c558314f6b324981.rlib --extern unicode_normalization=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libunicode_normalization-afaebc42ab675f1e.rlib --extern url=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/liburl-a91d0fd3c5fb8bc1.rlib -L native=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/build/backtrace-sys-efa17084f44d4d88/out'
error[E0277]: `syntax_pos::symbol::LocalInternedString` cannot be sent between threads safely
   --> /home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/clippy_lints/src/lib.rs:352:34
    |
352 |     reg.register_early_lint_pass(box enum_variants::EnumVariantNames::new(conf.enum_variant_name_threshold));
    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `syntax_pos::symbol::LocalInternedString` cannot be sent between threads safely
    |
    = help: within `(syntax_pos::symbol::LocalInternedString, std::string::String)`, the trait `std::marker::Send` is not implemented for `syntax_pos::symbol::LocalInternedString`
    = note: required because it appears within the type `(syntax_pos::symbol::LocalInternedString, std::string::String)`
    = note: required because of the requirements on the impl of `std::marker::Send` for `std::ptr::Unique<(syntax_pos::symbol::LocalInternedString, std::string::String)>`
    = note: required because it appears within the type `alloc::raw_vec::RawVec<(syntax_pos::symbol::LocalInternedString, std::string::String)>`
    = note: required because it appears within the type `std::vec::Vec<(syntax_pos::symbol::LocalInternedString, std::string::String)>`
    = note: required because it appears within the type `enum_variants::EnumVariantNames`
    = note: required for the cast to the object type `dyn rustc::lint::EarlyLintPass + std::marker::Send + std::marker::Sync`

error[E0277]: `syntax_pos::symbol::LocalInternedString` cannot be shared between threads safely
   --> /home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/clippy_lints/src/lib.rs:352:34
    |
352 |     reg.register_early_lint_pass(box enum_variants::EnumVariantNames::new(conf.enum_variant_name_threshold));
    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `syntax_pos::symbol::LocalInternedString` cannot be shared between threads safely
    |
    = help: within `(syntax_pos::symbol::LocalInternedString, std::string::String)`, the trait `std::marker::Sync` is not implemented for `syntax_pos::symbol::LocalInternedString`
    = note: required because it appears within the type `(syntax_pos::symbol::LocalInternedString, std::string::String)`
    = note: required because of the requirements on the impl of `std::marker::Sync` for `std::ptr::Unique<(syntax_pos::symbol::LocalInternedString, std::string::String)>`
    = note: required because it appears within the type `alloc::raw_vec::RawVec<(syntax_pos::symbol::LocalInternedString, std::string::String)>`
    = note: required because it appears within the type `std::vec::Vec<(syntax_pos::symbol::LocalInternedString, std::string::String)>`
    = note: required because it appears within the type `enum_variants::EnumVariantNames`
    = note: required for the cast to the object type `dyn rustc::lint::EarlyLintPass + std::marker::Send + std::marker::Sync`

error[E0308]: mismatched types
   --> /home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/clippy_lints/src/consts.rs:159:63
    |
159 |         LitKind::ByteStr(ref s) => Constant::Binary(Rc::clone(s)),
    |                                                               ^ expected struct `std::rc::Rc`, found struct `std::sync::Arc`
    |
    = note: expected type `&std::rc::Rc<std::vec::Vec<u8>>`
               found type `&std::sync::Arc<std::vec::Vec<u8>>`

error[E0308]: mismatched types
   --> /home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/clippy_lints/src/utils/mod.rs:226:50
    |
226 |             for item in mem::replace(&mut items, Rc::new(vec![])).iter() {
    |                                                  ^^^^^^^^^^^^^^^ expected struct `std::sync::Arc`, found struct `std::rc::Rc`
    |
    = note: expected type `std::sync::Arc<std::vec::Vec<rustc::hir::def::Export>>`
               found type `std::rc::Rc<std::vec::Vec<_>>`

error: aborting due to 4 previous errors

Some errors occurred: E0277, E0308.
For more information about an error, try `rustc --explain E0277`.
error: Could not compile `clippy_lints`.

Caused by:
  process didn't exit successfully: `rustc --edition=2018 --crate-name clippy_lints /home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/clippy_lints/src/lib.rs --color always --crate-type lib --emit=dep-info,link -C debuginfo=2 -C metadata=577755aa4b98394d -C extra-filename=-577755aa4b98394d --out-dir /home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps -C incremental=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/incremental -L dependency=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps --extern cargo_metadata=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libcargo_metadata-e3e887206b827647.rlib --extern if_chain=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libif_chain-99c0457ea547490a.rlib --extern itertools=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libitertools-8169a8efe487708b.rlib --extern lazy_static=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/liblazy_static-7feb2e85f877fabd.rlib --extern matches=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libmatches-72c4b0ca8723697d.rlib --extern pulldown_cmark=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libpulldown_cmark-24e41b2cff8b3036.rlib --extern quine_mc_cluskey=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libquine_mc_cluskey-1df5db91f29ce21b.rlib --extern regex_syntax=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libregex_syntax-a7b792323b070331.rlib --extern semver=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libsemver-1a3dc4a8154bb575.rlib --extern serde=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libserde-8bda8064e2e1b789.rlib --extern serde_derive=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libserde_derive-004cb89792953908.so --extern smallvec=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libsmallvec-064d24eee6737503.rlib --extern toml=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libtoml-c558314f6b324981.rlib --extern unicode_normalization=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libunicode_normalization-afaebc42ab675f1e.rlib --extern url=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/liburl-a91d0fd3c5fb8bc1.rlib -L native=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/build/backtrace-sys-efa17084f44d4d88/out` (exit code: 1)

real	0m29.244s
user	0m28.957s
sys	0m0.278s

cargo/rustc used:

$ cargo -vV
!! LD_LIBRARY_PATH=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib:
!! Executing '/home/xftroxgpx/build/2nonpkgs/rust.stuff/cargo/cargo//target/release//cargo' in pwd='/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy' with args: '-vV'
cargo 1.33.0-dev (497f426a 2019-01-01)
release: 1.33.0
commit-hash: 497f426ab4d41f36c345663b1a161c7eb63c7eac
commit-date: 2019-01-01
$ rustc -vV
!! LD_LIBRARY_PATH=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib:
!! Executing '/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build//x86_64-unknown-linux-gnu/stage2/bin//rustc' in pwd='/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy' with args: '-vV'
rustc 1.33.0-dev (96530344e 2019-01-02)
binary: rustc
commit-hash: 96530344ef951c79e07cad69cf65eddb876b0e2d
commit-date: 2019-01-02
host: x86_64-unknown-linux-gnu
release: 1.33.0-dev
LLVM version: 8.0
$ cargo clippy -V

clippy 0.0.212 (39bd844 2018-12-30)

(that must be rustup's clippy)

I realized that the fail is also seen here: https://rust-lang-nursery.github.io/rust-toolstate/ and points to these rust changes https://github.com/rust-lang/rust/commits/cae164753f557f668cb75610abda4f790981e5e6

@flip1995
Copy link
Member

flip1995 commented Jan 2, 2019

I can't reproduce this with the current rust-lang/rust master branch.
Running

rustup-toolchain-install-master -f -n master
cargo +master build

works for me.

https://rust-lang-nursery.github.io/rust-toolstate/ is test-pass again.

Am I missing something?

@ghost
Copy link
Author

ghost commented Jan 2, 2019

I'm not sure(I haven't tried it that way), but that link now shows:

Tool | Linux | Windows | In this state since…
clippy-driver | test fail | test fail | a36b960df on 2019-01-02 14:37:47
...
rls | build fail | build fail | cae164753 on 2019-01-01 18:04:04

Maybe rls has nothing to do with clippy? but that's what I was referring to in OP when I said "I realized that the fail is also seen here"

@mati865
Copy link
Contributor

mati865 commented Jan 2, 2019

In this state since…
a36b960 on 2019-01-02 14:37:47

It means clippy broke few hours ago but #3609 should fix it.

@ghost
Copy link
Author

ghost commented Jan 2, 2019

oh my bad, it then fails(like in OP) only for me... probably my fault - I'll try to figure out something

@flip1995
Copy link
Member

flip1995 commented Jan 2, 2019

The only difference I see between your setup and mine is the cargo commit:

cargo 1.33.0-nightly (0d1f1bbea 2018-12-19)
release: 1.33.0
commit-hash: 0d1f1bbeabd5b43a7f3ecfa16540af8e76d5efb4
commit-date: 2018-12-19

This is the current cargo commit on the rust-lang/rust master branch

@ghost
Copy link
Author

ghost commented Jan 2, 2019

uuu, that is good information @flip1995 ! (meanwhile github decided to crash with unicorns hence why this info is delayed by a few minutes)
I can confirm that rust-clippy compiles successfully using that cargo AND a different rustc:

$ cargo -vV
!! LD_LIBRARY_PATH=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib:
!! Executing '/home/xftroxgpx/.cargo/bin/cargo' in pwd='/home/xftroxgpx/.cargo/bin' with args: '-vV'
cargo 1.33.0-nightly (0d1f1bbea 2018-12-19)
release: 1.33.0
commit-hash: 0d1f1bbeabd5b43a7f3ecfa16540af8e76d5efb4
commit-date: 2018-12-19

$ rustc -vV
!! LD_LIBRARY_PATH=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib:
!! Executing '/home/xftroxgpx/.cargo/bin/rustc' in pwd='/home/xftroxgpx/.cargo/bin' with args: '-vV'
rustc 1.33.0-nightly (9eac38634 2018-12-31)
binary: rustc
commit-hash: 9eac386342c601b14311b435f2b6d314fc817bb5
commit-date: 2018-12-31
host: x86_64-unknown-linux-gnu
release: 1.33.0-nightly
LLVM version: 8.0

EDIT: Oh I just noticed that I also fell back to the rustup rustc also! hmm...
I now recompiled and ensured that I'm was using the OP rustc, but with rustup's cargo and the OP error is back!

@ghost ghost closed this as completed Jan 2, 2019
@ghost
Copy link
Author

ghost commented Jan 2, 2019

Ok, I can confirm that it works when I use rustup's cargo AND rustc (as per my previous comment), but it fails when I use rustup's(or even master) cargo AND my locally compiled rustc:

$ rustc -vV
!! LD_LIBRARY_PATH=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib:
!! Executing '/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build//x86_64-unknown-linux-gnu/stage2/bin//rustc' in pwd='/home/xftroxgpx' with args: '-vV'
rustc 1.33.0-dev (96530344e 2019-01-02)
binary: rustc
commit-hash: 96530344ef951c79e07cad69cf65eddb876b0e2d
commit-date: 2019-01-02
host: x86_64-unknown-linux-gnu
release: 1.33.0-dev
LLVM version: 8.0

$ cargo -vV
!! LD_LIBRARY_PATH=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib:
!! Executing '/home/xftroxgpx/.cargo/bin/cargo' in pwd='/home/xftroxgpx' with args: '-vV'
cargo 1.33.0-nightly (0d1f1bbea 2018-12-19)
release: 1.33.0
commit-hash: 0d1f1bbeabd5b43a7f3ecfa16540af8e76d5efb4
commit-date: 2018-12-19

Therefore the issue must be in something(that I changed?) in my local rustc compilation. Or, a certain cargo+rustc combination is required?

@ghost
Copy link
Author

ghost commented Jan 2, 2019

@flip1995 can you please tell me your rustc -Vv for your working rust-clippy compilation?

Edit: I'm recompiling rustc, at the very least I didn't do this git submodule update --init --recursive --progress (I only did git pull) so this might be it...

this is what I've had before:

$ git submodule status
 74d81d80052cb88925f0e73b12fbd0b73ab7b5a0 src/doc/book (one-book-to-rule-them-all-26-g74d81d80)
 419edb885ec1a98c0747b3907003d79e3e6b93a9 src/doc/edition-guide (419edb8)
 b7eb4a087207af2405c0669fa577f8545b894c66 src/doc/nomicon (remotes/origin/Gankro-patch-1-51-gb7eb4a0)
 60077efda319c95a89fe39609803c5433567adbf src/doc/reference (remotes/origin/memory-model-216-g60077ef)
 2ce92beabb912d417a7314d6da83ac9b50dc2afb src/doc/rust-by-example (heads/master-117-g2ce92beabb)
 344c4e437ba4cfa5c14db643ec4d6b68dcd164c5 src/doc/rustc-guide (344c4e4)
 f4728ed8fa2296c5b009bb85550e157e1e57ed0b src/llvm (f4728ed8fa2)
-7f23313edff8beccb3fe44b815714269c5124c15 src/llvm-emscripten
 513e067908f3e2eb8b31ad1c12b2e0a62817e557 src/stdsimd (0.0.3-410-g513e0679)
 0d1f1bbeabd5b43a7f3ecfa16540af8e76d5efb4 src/tools/cargo (0.30.0-782-g0d1f1bbe)
-032312dd0140a7074c9b89d305fe44eb0e44e407 src/tools/clang
 39bd84494f4a9b40f2e3b38416a91d52d5c4738b src/tools/clippy (v0.0.212-1119-g39bd8449)
-1928c5eeb613a4c6d232fc47ae91914bbfd92a79 src/tools/lld
-8ad0817ce45b0eef9d374691b23f2bd69c164254 src/tools/lldb
 2e2a33aab897273a36498d526530f648d6113dc8 src/tools/miri (remotes/origin/rustup-8-g2e2a33a)
 6f5e4bba7b1586fca6e0ea7724cadb5683b2f308 src/tools/rls (1.31.6-96-g6f5e4bb)
 27dec6cae3a8132d8a073aad6775425c85095c99 src/tools/rust-installer (remotes/origin/HEAD)
 be135599ef5e54b5219f9adec68e1ee267ea0584 src/tools/rustfmt (1.0.1)

and after update:

 74d81d80052cb88925f0e73b12fbd0b73ab7b5a0 src/doc/book (one-book-to-rule-them-all-26-g74d81d80)
 419edb885ec1a98c0747b3907003d79e3e6b93a9 src/doc/edition-guide (419edb8)
 b7eb4a087207af2405c0669fa577f8545b894c66 src/doc/nomicon (remotes/origin/Gankro-patch-1-51-gb7eb4a0)
 60077efda319c95a89fe39609803c5433567adbf src/doc/reference (remotes/origin/memory-model-216-g60077ef)
 2ce92beabb912d417a7314d6da83ac9b50dc2afb src/doc/rust-by-example (heads/master-117-g2ce92beabb)
 344c4e437ba4cfa5c14db643ec4d6b68dcd164c5 src/doc/rustc-guide (344c4e4)
 f4728ed8fa2296c5b009bb85550e157e1e57ed0b src/llvm (f4728ed8fa2)
 7f23313edff8beccb3fe44b815714269c5124c15 src/llvm-emscripten (remotes/origin/rust-emscripten-2018-11-09)
 513e067908f3e2eb8b31ad1c12b2e0a62817e557 src/stdsimd (0.0.3-410-g513e0679)
 0d1f1bbeabd5b43a7f3ecfa16540af8e76d5efb4 src/tools/cargo (0.30.0-782-g0d1f1bbe)
 032312dd0140a7074c9b89d305fe44eb0e44e407 src/tools/clang (remotes/origin/rust-release-80-v2)
 39bd84494f4a9b40f2e3b38416a91d52d5c4738b src/tools/clippy (v0.0.212-1119-g39bd8449)
 1928c5eeb613a4c6d232fc47ae91914bbfd92a79 src/tools/lld (remotes/origin/rust-llvm-release-8-0-0-v2)
 8ad0817ce45b0eef9d374691b23f2bd69c164254 src/tools/lldb (remotes/origin/rust-release-80-v2)
 2e2a33aab897273a36498d526530f648d6113dc8 src/tools/miri (remotes/origin/rustup-8-g2e2a33a)
 6f5e4bba7b1586fca6e0ea7724cadb5683b2f308 src/tools/rls (1.31.6-96-g6f5e4bb)
 27dec6cae3a8132d8a073aad6775425c85095c99 src/tools/rust-installer (remotes/origin/HEAD)
 be135599ef5e54b5219f9adec68e1ee267ea0584 src/tools/rustfmt (1.0.1)

diff:

$ colordiff -up before.deleteme after.deleteme 
--- before.deleteme	2019-01-02 19:11:21.388819219 +0100
+++ after.deleteme	2019-01-02 19:26:34.442340582 +0100
@@ -1,4 +1,3 @@
-$ git submodule status
  74d81d80052cb88925f0e73b12fbd0b73ab7b5a0 src/doc/book (one-book-to-rule-them-all-26-g74d81d80)
  419edb885ec1a98c0747b3907003d79e3e6b93a9 src/doc/edition-guide (419edb8)
  b7eb4a087207af2405c0669fa577f8545b894c66 src/doc/nomicon (remotes/origin/Gankro-patch-1-51-gb7eb4a0)
@@ -6,13 +5,13 @@ $ git submodule status
  2ce92beabb912d417a7314d6da83ac9b50dc2afb src/doc/rust-by-example (heads/master-117-g2ce92beabb)
  344c4e437ba4cfa5c14db643ec4d6b68dcd164c5 src/doc/rustc-guide (344c4e4)
  f4728ed8fa2296c5b009bb85550e157e1e57ed0b src/llvm (f4728ed8fa2)
--7f23313edff8beccb3fe44b815714269c5124c15 src/llvm-emscripten
+ 7f23313edff8beccb3fe44b815714269c5124c15 src/llvm-emscripten (remotes/origin/rust-emscripten-2018-11-09)
  513e067908f3e2eb8b31ad1c12b2e0a62817e557 src/stdsimd (0.0.3-410-g513e0679)
  0d1f1bbeabd5b43a7f3ecfa16540af8e76d5efb4 src/tools/cargo (0.30.0-782-g0d1f1bbe)
--032312dd0140a7074c9b89d305fe44eb0e44e407 src/tools/clang
+ 032312dd0140a7074c9b89d305fe44eb0e44e407 src/tools/clang (remotes/origin/rust-release-80-v2)
  39bd84494f4a9b40f2e3b38416a91d52d5c4738b src/tools/clippy (v0.0.212-1119-g39bd8449)
--1928c5eeb613a4c6d232fc47ae91914bbfd92a79 src/tools/lld
--8ad0817ce45b0eef9d374691b23f2bd69c164254 src/tools/lldb
+ 1928c5eeb613a4c6d232fc47ae91914bbfd92a79 src/tools/lld (remotes/origin/rust-llvm-release-8-0-0-v2)
+ 8ad0817ce45b0eef9d374691b23f2bd69c164254 src/tools/lldb (remotes/origin/rust-release-80-v2)
  2e2a33aab897273a36498d526530f648d6113dc8 src/tools/miri (remotes/origin/rustup-8-g2e2a33a)
  6f5e4bba7b1586fca6e0ea7724cadb5683b2f308 src/tools/rls (1.31.6-96-g6f5e4bb)
  27dec6cae3a8132d8a073aad6775425c85095c99 src/tools/rust-installer (remotes/origin/HEAD)

Hmm, so no change then... except that I didn't have anything checkout for: src/llvm-emscripten src/tools/clang src/tools/lld src/tools/lldb, ie. those dirs were empty (except for the .git file(not dir) itself)

@ghost ghost reopened this Jan 2, 2019
@mati865
Copy link
Contributor

mati865 commented Jan 2, 2019

@xftroxgpx you should update submodules by running ./x.py. It should sync them and checkout the correct version.

When key tools like clippy or rls are broken (just like at the moment) you have to fix them by yourself.
Clippy has fix commited already so if you are using the latest rust HEAD you can checkout latest clippy HEAD and it should work.
Rls has no fix yet so you'd have to fix it yourself.

Easier alternative would be to exclude broken tools or checkout rust commit where they do work.

@ghost
Copy link
Author

ghost commented Jan 2, 2019

Thanks! That explains why the submodules were already updated because I was using ./x.py.

Then maybe these rustc build instructions are outdated:

3. Build and install:

$ git submodule update --init --recursive --progress
$ ./x.py build && sudo ./x.py install

I'm not even sure that git submodule command is ever needed, presumably due to ./x.py doing it. By doing it manually I gained about 3 more Gigabytes in the rust checkout dir because that git submodule command checked out some extras like src/llvm-emscripten, src/tools/clang, src/tools/lld, src/tools/lldb that were empty dirs (except for the .git file) before, presumably because ./x.py knew they weren't needed!

@ghost ghost closed this as completed Jan 2, 2019
@mati865
Copy link
Contributor

mati865 commented Jan 2, 2019

./x.py doesn't initialize submodules so you still have to run git submodule update --init --recursive --progress when new submodule is added.
git submodule update --init just doesn't do anything to the already initialized submodules.

@flip1995
Copy link
Member

flip1995 commented Jan 2, 2019

@xftroxgpx I tested it with your rustc commit from the OP, the latest master commit and the rustup nightly toolchain. I used the cargo I posted above (resp. the one from rustup nightly).

It's probably something you changed and/or a certain cargo+rustc combination. But as long as Clippy compiles with the current master branch of rust-lang/rust (which is tested in the CI), we can't do much here for you. :(

@ghost
Copy link
Author

ghost commented Jan 2, 2019

I tried cloning rust-clippy into a new dir and compiling,
even tried removing ~/.cargo/ dir

same OP error. (well those same 4 errors)
/tmp/rust-clippy 
$ cargo build -vv
!! LD_LIBRARY_PATH=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib:
!! Executing '/home/xftroxgpx/build/2nonpkgs/rust.stuff/cargo/cargo//target/release//cargo' in pwd='/tmp/rust-clippy' with args: 'build -vv'
       Fresh cc v1.0.28
       Fresh unicode-xid v0.1.0
       Fresh autocfg v0.1.1
       Fresh version_check v0.1.5
       Fresh cfg-if v0.1.6
       Fresh matches v0.1.8
       Fresh rustc-demangle v0.1.13
       Fresh unicode-normalization v0.1.7
       Fresh void v1.0.2
       Fresh semver-parser v0.7.0
       Fresh itoa v0.4.3
       Fresh unicode-width v0.1.5
       Fresh lazy_static v1.2.0
       Fresh percent-encoding v1.0.1
       Fresh bitflags v1.0.4
       Fresh ucd-util v0.1.3
       Fresh either v1.5.0
       Fresh rustc_tools_util v0.1.0 (/tmp/rust-clippy/rustc_tools_util)
       Fresh if_chain v0.1.3
       Fresh utf8-ranges v1.0.2
       Fresh quine-mc_cluskey v0.2.4
       Fresh unicode-bidi v0.3.4
       Fresh unreachable v1.0.0
       Fresh getopts v0.2.18
       Fresh thread_local v0.3.6
       Fresh regex-syntax v0.6.4
       Fresh itertools v0.7.11
       Fresh proc-macro2 v0.4.24
       Fresh libc v0.2.45
       Fresh serde v1.0.84
       Fresh ryu v0.2.7
       Fresh idna v0.1.5
       Fresh smallvec v0.6.7
       Fresh pulldown-cmark v0.2.0
       Fresh quote v0.6.10
       Fresh backtrace-sys v0.1.28
       Fresh semver v0.9.0
       Fresh toml v0.4.10
       Fresh memchr v2.1.2
       Fresh serde_json v1.0.34
       Fresh url v1.7.2
       Fresh syn v0.15.23
       Fresh backtrace v0.3.13
       Fresh aho-corasick v0.6.9
       Fresh serde_derive v1.0.84
       Fresh error-chain v0.12.0
       Fresh regex v1.1.0
       Fresh cargo_metadata v0.6.4
   Compiling clippy_lints v0.0.212 (/tmp/rust-clippy/clippy_lints)
     Running `rustc --edition=2018 --crate-name clippy_lints /tmp/rust-clippy/clippy_lints/src/lib.rs --color always --crate-type lib --emit=dep-info,link -C debuginfo=2 -C metadata=29ce0cf926cb2281 -C extra-filename=-29ce0cf926cb2281 --out-dir /tmp/rust-clippy/target/debug/deps -C incremental=/tmp/rust-clippy/target/debug/incremental -L dependency=/tmp/rust-clippy/target/debug/deps --extern cargo_metadata=/tmp/rust-clippy/target/debug/deps/libcargo_metadata-a4cb0aee8913401c.rlib --extern if_chain=/tmp/rust-clippy/target/debug/deps/libif_chain-b7fbe65866295f15.rlib --extern itertools=/tmp/rust-clippy/target/debug/deps/libitertools-1b851ab4d816cc8c.rlib --extern lazy_static=/tmp/rust-clippy/target/debug/deps/liblazy_static-a62e07034ecb6c1f.rlib --extern matches=/tmp/rust-clippy/target/debug/deps/libmatches-c91f7942e75c403b.rlib --extern pulldown_cmark=/tmp/rust-clippy/target/debug/deps/libpulldown_cmark-af0ec35ec78682f8.rlib --extern quine_mc_cluskey=/tmp/rust-clippy/target/debug/deps/libquine_mc_cluskey-def66143d9b2bb4a.rlib --extern regex_syntax=/tmp/rust-clippy/target/debug/deps/libregex_syntax-80a89a85ac08a243.rlib --extern semver=/tmp/rust-clippy/target/debug/deps/libsemver-7d8f771f74718b82.rlib --extern serde=/tmp/rust-clippy/target/debug/deps/libserde-dd803189d85aff0f.rlib --extern serde_derive=/tmp/rust-clippy/target/debug/deps/libserde_derive-d03604a4b555fbae.so --extern smallvec=/tmp/rust-clippy/target/debug/deps/libsmallvec-cc5e71105e8c47af.rlib --extern toml=/tmp/rust-clippy/target/debug/deps/libtoml-d058ea31398bbe4d.rlib --extern unicode_normalization=/tmp/rust-clippy/target/debug/deps/libunicode_normalization-a99f2f02d7a40a25.rlib --extern url=/tmp/rust-clippy/target/debug/deps/liburl-777a65d82666a1e0.rlib -L native=/tmp/rust-clippy/target/debug/build/backtrace-sys-0d7dbd0af44e6b06/out`
!! LD_LIBRARY_PATH=/tmp/rust-clippy/target/debug/deps:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage2/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib:
!! Executing '/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build//x86_64-unknown-linux-gnu/stage2/bin//rustc' in pwd='/tmp/rust-clippy' with args: '--edition=2018 --crate-name clippy_lints /tmp/rust-clippy/clippy_lints/src/lib.rs --color always --crate-type lib --emit=dep-info,link -C debuginfo=2 -C metadata=29ce0cf926cb2281 -C extra-filename=-29ce0cf926cb2281 --out-dir /tmp/rust-clippy/target/debug/deps -C incremental=/tmp/rust-clippy/target/debug/incremental -L dependency=/tmp/rust-clippy/target/debug/deps --extern cargo_metadata=/tmp/rust-clippy/target/debug/deps/libcargo_metadata-a4cb0aee8913401c.rlib --extern if_chain=/tmp/rust-clippy/target/debug/deps/libif_chain-b7fbe65866295f15.rlib --extern itertools=/tmp/rust-clippy/target/debug/deps/libitertools-1b851ab4d816cc8c.rlib --extern lazy_static=/tmp/rust-clippy/target/debug/deps/liblazy_static-a62e07034ecb6c1f.rlib --extern matches=/tmp/rust-clippy/target/debug/deps/libmatches-c91f7942e75c403b.rlib --extern pulldown_cmark=/tmp/rust-clippy/target/debug/deps/libpulldown_cmark-af0ec35ec78682f8.rlib --extern quine_mc_cluskey=/tmp/rust-clippy/target/debug/deps/libquine_mc_cluskey-def66143d9b2bb4a.rlib --extern regex_syntax=/tmp/rust-clippy/target/debug/deps/libregex_syntax-80a89a85ac08a243.rlib --extern semver=/tmp/rust-clippy/target/debug/deps/libsemver-7d8f771f74718b82.rlib --extern serde=/tmp/rust-clippy/target/debug/deps/libserde-dd803189d85aff0f.rlib --extern serde_derive=/tmp/rust-clippy/target/debug/deps/libserde_derive-d03604a4b555fbae.so --extern smallvec=/tmp/rust-clippy/target/debug/deps/libsmallvec-cc5e71105e8c47af.rlib --extern toml=/tmp/rust-clippy/target/debug/deps/libtoml-d058ea31398bbe4d.rlib --extern unicode_normalization=/tmp/rust-clippy/target/debug/deps/libunicode_normalization-a99f2f02d7a40a25.rlib --extern url=/tmp/rust-clippy/target/debug/deps/liburl-777a65d82666a1e0.rlib -L native=/tmp/rust-clippy/target/debug/build/backtrace-sys-0d7dbd0af44e6b06/out'
error[E0277]: `syntax_pos::symbol::LocalInternedString` cannot be shared between threads safely
   --> /tmp/rust-clippy/clippy_lints/src/lib.rs:352:34
    |
352 |     reg.register_early_lint_pass(box enum_variants::EnumVariantNames::new(conf.enum_variant_name_threshold));
    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `syntax_pos::symbol::LocalInternedString` cannot be shared between threads safely
    |
    = help: within `(syntax_pos::symbol::LocalInternedString, std::string::String)`, the trait `std::marker::Sync` is not implemented for `syntax_pos::symbol::LocalInternedString`
    = note: required because it appears within the type `(syntax_pos::symbol::LocalInternedString, std::string::String)`
    = note: required because of the requirements on the impl of `std::marker::Sync` for `std::ptr::Unique<(syntax_pos::symbol::LocalInternedString, std::string::String)>`
    = note: required because it appears within the type `alloc::raw_vec::RawVec<(syntax_pos::symbol::LocalInternedString, std::string::String)>`
    = note: required because it appears within the type `std::vec::Vec<(syntax_pos::symbol::LocalInternedString, std::string::String)>`
    = note: required because it appears within the type `enum_variants::EnumVariantNames`
    = note: required for the cast to the object type `dyn rustc::lint::EarlyLintPass + std::marker::Sync + std::marker::Send`

error[E0277]: `syntax_pos::symbol::LocalInternedString` cannot be sent between threads safely
   --> /tmp/rust-clippy/clippy_lints/src/lib.rs:352:34
    |
352 |     reg.register_early_lint_pass(box enum_variants::EnumVariantNames::new(conf.enum_variant_name_threshold));
    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `syntax_pos::symbol::LocalInternedString` cannot be sent between threads safely
    |
    = help: within `(syntax_pos::symbol::LocalInternedString, std::string::String)`, the trait `std::marker::Send` is not implemented for `syntax_pos::symbol::LocalInternedString`
    = note: required because it appears within the type `(syntax_pos::symbol::LocalInternedString, std::string::String)`
    = note: required because of the requirements on the impl of `std::marker::Send` for `std::ptr::Unique<(syntax_pos::symbol::LocalInternedString, std::string::String)>`
    = note: required because it appears within the type `alloc::raw_vec::RawVec<(syntax_pos::symbol::LocalInternedString, std::string::String)>`
    = note: required because it appears within the type `std::vec::Vec<(syntax_pos::symbol::LocalInternedString, std::string::String)>`
    = note: required because it appears within the type `enum_variants::EnumVariantNames`
    = note: required for the cast to the object type `dyn rustc::lint::EarlyLintPass + std::marker::Sync + std::marker::Send`

error[E0308]: mismatched types
   --> /tmp/rust-clippy/clippy_lints/src/consts.rs:159:63
    |
159 |         LitKind::ByteStr(ref s) => Constant::Binary(Rc::clone(s)),
    |                                                               ^ expected struct `std::rc::Rc`, found struct `std::sync::Arc`
    |
    = note: expected type `&std::rc::Rc<std::vec::Vec<u8>>`
               found type `&std::sync::Arc<std::vec::Vec<u8>>`

error[E0308]: mismatched types
   --> /tmp/rust-clippy/clippy_lints/src/utils/mod.rs:226:50
    |
226 |             for item in mem::replace(&mut items, Rc::new(vec![])).iter() {
    |                                                  ^^^^^^^^^^^^^^^ expected struct `std::sync::Arc`, found struct `std::rc::Rc`
    |
    = note: expected type `std::sync::Arc<std::vec::Vec<rustc::hir::def::Export>>`
               found type `std::rc::Rc<std::vec::Vec<_>>`

error: aborting due to 4 previous errors

Some errors occurred: E0277, E0308.
For more information about an error, try `rustc --explain E0277`.
error: Could not compile `clippy_lints`.

Caused by:
  process didn't exit successfully: `rustc --edition=2018 --crate-name clippy_lints /tmp/rust-clippy/clippy_lints/src/lib.rs --color always --crate-type lib --emit=dep-info,link -C debuginfo=2 -C metadata=29ce0cf926cb2281 -C extra-filename=-29ce0cf926cb2281 --out-dir /tmp/rust-clippy/target/debug/deps -C incremental=/tmp/rust-clippy/target/debug/incremental -L dependency=/tmp/rust-clippy/target/debug/deps --extern cargo_metadata=/tmp/rust-clippy/target/debug/deps/libcargo_metadata-a4cb0aee8913401c.rlib --extern if_chain=/tmp/rust-clippy/target/debug/deps/libif_chain-b7fbe65866295f15.rlib --extern itertools=/tmp/rust-clippy/target/debug/deps/libitertools-1b851ab4d816cc8c.rlib --extern lazy_static=/tmp/rust-clippy/target/debug/deps/liblazy_static-a62e07034ecb6c1f.rlib --extern matches=/tmp/rust-clippy/target/debug/deps/libmatches-c91f7942e75c403b.rlib --extern pulldown_cmark=/tmp/rust-clippy/target/debug/deps/libpulldown_cmark-af0ec35ec78682f8.rlib --extern quine_mc_cluskey=/tmp/rust-clippy/target/debug/deps/libquine_mc_cluskey-def66143d9b2bb4a.rlib --extern regex_syntax=/tmp/rust-clippy/target/debug/deps/libregex_syntax-80a89a85ac08a243.rlib --extern semver=/tmp/rust-clippy/target/debug/deps/libsemver-7d8f771f74718b82.rlib --extern serde=/tmp/rust-clippy/target/debug/deps/libserde-dd803189d85aff0f.rlib --extern serde_derive=/tmp/rust-clippy/target/debug/deps/libserde_derive-d03604a4b555fbae.so --extern smallvec=/tmp/rust-clippy/target/debug/deps/libsmallvec-cc5e71105e8c47af.rlib --extern toml=/tmp/rust-clippy/target/debug/deps/libtoml-d058ea31398bbe4d.rlib --extern unicode_normalization=/tmp/rust-clippy/target/debug/deps/libunicode_normalization-a99f2f02d7a40a25.rlib --extern url=/tmp/rust-clippy/target/debug/deps/liburl-777a65d82666a1e0.rlib -L native=/tmp/rust-clippy/target/debug/build/backtrace-sys-0d7dbd0af44e6b06/out` (exit code: 1)
$ cargo -vV
!! LD_LIBRARY_PATH=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib:
!! Executing '/home/xftroxgpx/build/2nonpkgs/rust.stuff/cargo/cargo//target/release//cargo' in pwd='/home/xftroxgpx' with args: '-vV'
cargo 1.33.0-dev (6e10374b 2019-01-02)
release: 1.33.0
commit-hash: 6e10374b0bceccd6e9de8af0114524337b89a58d
commit-date: 2019-01-02

$ rustc -vV
!! LD_LIBRARY_PATH=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib:
!! Executing '/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build//x86_64-unknown-linux-gnu/stage2/bin//rustc' in pwd='/home/xftroxgpx' with args: '-vV'
rustc 1.33.0-dev (ec194646f 2019-01-02)
binary: rustc
commit-hash: ec194646fef1a467073ad74b8b68f6f202cfce97
commit-date: 2019-01-02
host: x86_64-unknown-linux-gnu
release: 1.33.0-dev
LLVM version: 8.0

I'll edit this post with further failed tries, but if success I'll post anew.

@phansch
Copy link
Member

phansch commented Jan 2, 2019

Did you make any changes to the config.toml that's used for building rust?

@ghost
Copy link
Author

ghost commented Jan 2, 2019

Did you make any changes to the config.toml that's used for building rust?

yes

Here's the current one (I forgot what else I changed: probably only removed the i686 one), still compiling new rustc with it now:

# Sample TOML configuration file for building Rust.
#
# To configure rustbuild, copy this file to the directory from which you will be
# running the build, and name it config.toml.
#
# All options are commented out by default in this file, and they're commented
# out with their default values. The build system by default looks for
# `config.toml` in the current directory of a build for build configuration, but
# a custom configuration file can also be specified with `--config` to the build
# system.

# =============================================================================
# Tweaking how LLVM is compiled
# =============================================================================
[llvm]

# Indicates whether rustc will support compilation with LLVM
# note: rustc does not compile without LLVM at the moment
#enabled = true

# Indicates whether the LLVM build is a Release or Debug build
#optimize = true
optimize = true

# Indicates whether LLVM should be built with ThinLTO. Note that this will
# only succeed if you use clang, lld, llvm-ar, and llvm-ranlib in your C/C++
# toolchain (see the `cc`, `cxx`, `linker`, `ar`, and `ranlib` options below).
# More info at: https://clang.llvm.org/docs/ThinLTO.html#clang-bootstrap
#thin-lto = false

# Indicates whether an LLVM Release build should include debug info
#release-debuginfo = false
release-debuginfo = false

# Indicates whether the LLVM assertions are enabled or not
#assertions = false
assertions = false

# Indicates whether ccache is used when building LLVM
#ccache = false
# or alternatively ...
#ccache = "/path/to/ccache"
ccache = "/usr/bin/ccache"

# If an external LLVM root is specified, we automatically check the version by
# default to make sure it's within the range that we're expecting, but setting
# this flag will indicate that this version check should not be done.
#version-check = true

# Link libstdc++ statically into the librustc_llvm instead of relying on a
# dynamic version to be available.
#static-libstdcpp = false
static-libstdcpp = false

# Tell the LLVM build system to use Ninja instead of the platform default for
# the generated build system. This can sometimes be faster than make, for
# example.
#ninja = false
ninja = true

# LLVM targets to build support for.
# Note: this is NOT related to Rust compilation targets. However, as Rust is
# dependent on LLVM for code generation, turning targets off here WILL lead to
# the resulting rustc being unable to compile for the disabled architectures.
# Also worth pointing out is that, in case support for new targets are added to
# LLVM, enabling them here doesn't mean Rust is automatically gaining said
# support. You'll need to write a target specification at least, and most
# likely, teach rustc about the C ABI of the target. Get in touch with the
# Rust team and file an issue if you need assistance in porting!
#targets = "X86;ARM;AArch64;Mips;PowerPC;SystemZ;JSBackend;MSP430;Sparc;NVPTX;Hexagon"
targets = "X86"
#;ARM;Mips"

# LLVM experimental targets to build support for. These targets are specified in
# the same format as above, but since these targets are experimental, they are
# not built by default and the experimental Rust compilation targets that depend
# on them will not work unless the user opts in to building them. By default the
# `WebAssembly` and `RISCV` targets are enabled when compiling LLVM from scratch.
#experimental-targets = "WebAssembly;RISCV"

# Cap the number of parallel linker invocations when compiling LLVM.
# This can be useful when building LLVM with debug info, which significantly
# increases the size of binaries and consequently the memory required by
# each linker process.
# If absent or 0, linker invocations are treated like any other job and
# controlled by rustbuild's -j parameter.
#link-jobs = 0
link-jobs = 4

# When invoking `llvm-config` this configures whether the `--shared` argument is
# passed to prefer linking to shared libraries.
#link-shared = false

# When building llvm, this configures what is being appended to the version.
# If absent, we let the version as-is.
#version-suffix = "-rust"



# On MSVC you can compile LLVM with clang-cl, but the test suite doesn't pass
# with clang-cl, so this is special in that it only compiles LLVM with clang-cl
#clang-cl = '/path/to/clang-cl.exe'

# =============================================================================
# General build configuration options
# =============================================================================
[build]

# Build triple for the original snapshot compiler. This must be a compiler that
# nightlies are already produced for. The current platform must be able to run
# binaries of this build triple and the nightly will be used to bootstrap the
# first compiler.
#build = "x86_64-unknown-linux-gnu"    # defaults to your host platform
build = "x86_64-unknown-linux-gnu"

# In addition to the build triple, other triples to produce full compiler
# toolchains for. Each of these triples will be bootstrapped from the build
# triple and then will continue to bootstrap themselves. This platform must
# currently be able to run all of the triples provided here.
#host = ["x86_64-unknown-linux-gnu"]   # defaults to just the build triple
host = ["x86_64-unknown-linux-gnu"]

# In addition to all host triples, other triples to produce the standard library
# for. Each host triple will be used to produce a copy of the standard library
# for each target triple.
target = ["x86_64-unknown-linux-gnu"] # defaults to just the build triple
#target = ["x86_64-unknown-linux-gnu", "i686-unknown-linux-gnu" ] #XXX: disabled i686 to avoid wasting too much time compiling! FIXME: re-add i686 later.
#note: added i686-unknown-linux-gnu to be able to compile ${HOME}/build/2nonpkgs/rust.stuff/rustlearnage/usize/go_32bit

# Instead of downloading the src/stage0.txt version of Cargo specified, use
# this Cargo binary instead to build all Rust code
#cargo = "/path/to/bin/cargo"
#cargo = "/home/xftroxgpx/.cargo/bin/cargo"
#^ brought by rustup !

# Instead of downloading the src/stage0.txt version of the compiler
# specified, use this rustc binary instead as the stage0 snapshot compiler.
#rustc = "/path/to/bin/rustc"
#rustc = "/home/xftroxgpx/.cargo/bin/rustc" #this fails as follows:
#^ brought by rustup !
#rustc = "/home/xftroxgpx/bin/rustc"
#^ will use the rustup version unless we already have a stage2,1 or 0 rustc; this fails as follows:
#XXX: don't set rustc here, or you'll hit this https://github.com/rust-lang/rust/pull/47006#issuecomment-360561167 (see comment above that)  and local-rebuild must not be true also!


# Flag to specify whether any documentation is built. If false, rustdoc and
# friends will still be compiled but they will not be used to generate any
# documentation.
#docs = true
docs = true

# Indicate whether the compiler should be documented in addition to the standard
# library and facade crates.
#compiler-docs = false
compiler-docs = true

# Indicate whether submodules are managed and updated automatically.
#submodules = true
submodules = true

# Update submodules only when the checked out commit in the submodules differs
# from what is committed in the main rustc repo.
#fast-submodules = true

# The path to (or name of) the GDB executable to use. This is only used for
# executing the debuginfo test suite.
#gdb = "gdb"

# The node.js executable to use. Note that this is only used for the emscripten
# target when running tests, otherwise this can be omitted.
#nodejs = "node"

# Python interpreter to use for various tasks throughout the build, notably
# rustdoc tests, the lldb python interpreter, and some dist bits and pieces.
# Note that Python 2 is currently required.
#python = "python2.7"

# Force Cargo to check that Cargo.lock describes the precise dependency
# set that all the Cargo.toml files create, instead of updating it.
#locked-deps = false
locked-deps = false

# Indicate whether the vendored sources are used for Rust dependencies or not
#vendor = false

# Typically the build system will build the rust compiler twice. The second
# compiler, however, will simply use its own libraries to link against. If you
# would rather to perform a full bootstrap, compiling the compiler three times,
# then you can set this option to true. You shouldn't ever need to set this
# option to true.
#full-bootstrap = false
full-bootstrap = false

# Enable a build of the extended rust tool set which is not only the compiler
# but also tools such as Cargo. This will also produce "combined installers"
# which are used to install Rust and Cargo together. This is disabled by
# default.
#extended = false
extended = false

# Installs chosen set of extended tools if enabled. By default builds all.
# If chosen tool failed to build the installation fails.
#tools = ["cargo", "rls", "rustfmt", "analysis", "src"]
tools = [ "src" ]

# Verbosity level: 0 == not verbose, 1 == verbose, 2 == very verbose
#verbose = 0
verbose = 0

# Build the sanitizer runtimes
#sanitizers = false
sanitizers = false

# Build the profiler runtime
#profiler = false
profiler = false

# Indicates whether the native libraries linked into Cargo will be statically
# linked or not.
#cargo-native-static = false


# Run the build with low priority, by setting the process group's "nice" value
# to +10 on Unix platforms, and by using a "low priority" job object on Windows.
#low-priority = false
low-priority = true

# Arguments passed to the `./configure` script, used during distcheck. You
# probably won't fill this in but rather it's filled in by the `./configure`
# script.
#configure-args = []

# Indicates that a local rebuild is occurring instead of a full bootstrap,
# essentially skipping stage0 as the local compiler is recompiling itself again.
local-rebuild = false
#local-rebuild = true #don't to true here or you'll hit this https://github.com/rust-lang/rust/pull/47006#issuecomment-360561167 (see comment above that) and [build] rustc must not be set also!

# Print out how long each rustbuild step took (mostly intended for CI and
# tracking over time)
#print-step-timings = false
print-step-timings = false

# =============================================================================
# General install configuration options
# =============================================================================
[install]

# Instead of installing to /usr/local, install to this path instead.
#prefix = "/usr/local"

# Where to install system configuration files
# If this is a relative path, it will get installed in `prefix` above
#sysconfdir = "/etc"

# Where to install documentation in `prefix` above
#docdir = "share/doc/rust"

# Where to install binaries in `prefix` above
#bindir = "bin"

# Where to install libraries in `prefix` above
#libdir = "lib"

# Where to install man pages in `prefix` above
#mandir = "share/man"

# Where to install data in `prefix` above (currently unused)
#datadir = "share"

# Where to install additional info in `prefix` above (currently unused)
#infodir = "share/info"

# Where to install local state (currently unused)
# If this is a relative path, it will get installed in `prefix` above
#localstatedir = "/var/lib"

# =============================================================================
# Options for compiling Rust code itself
# =============================================================================
[rust]


# Whether or not to optimize the compiler and standard library.
#
# Note: the slowness of the non optimized compiler compiling itself usually
#       outweighs the time gains in not doing optimizations, therefore a
#       full bootstrap takes much more time with `optimize` set to false.
#optimize = true
optimize = true

# Indicates that the build should be configured for debugging Rust. A
# `debug`-enabled compiler and standard library will be somewhat
# slower (due to e.g. checking of debug assertions) but should remain
# usable.
#
# Note: If this value is set to `true`, it will affect a number of
#       configuration options below as well, if they have been left
#       unconfigured in this file.
#
# Note: changes to the `debug` setting do *not* affect `optimize`
#       above. In theory, a "maximally debuggable" environment would
#       set `optimize` to `false` above to assist the introspection
#       facilities of debuggers like lldb and gdb. To recreate such an
#       environment, explicitly set `optimize` to `false` and `debug`
#       to `true`. In practice, everyone leaves `optimize` set to
#       `true`, because an unoptimized rustc with debugging
#       enabled becomes *unusably slow* (e.g. rust-lang/rust#24840
#       reported a 25x slowdown) and bootstrapping the supposed
#       "maximally debuggable" environment (notably libstd) takes
#       hours to build.
#
#debug = false
debug = false


# Number of codegen units to use for each compiler invocation. A value of 0
# means "the number of cores on this machine", and 1+ is passed through to the
# compiler.
#codegen-units = 1
codegen-units = 1 #We currently have the capability to do multiple codegen units in parallel. Unfortunately, one drawback of using this functionality is that using multiple codegen units loses optimization opportunities, like inlining, between the units. src: https://internals.rust-lang.org/t/towards-a-second-edition-of-the-compiler/5582

# Sets the number of codegen units to build the standard library with,
# regardless of what the codegen-unit setting for the rest of the compiler is.
#codegen-units-std = 1
codegen-units-std = 1

# Whether or not debug assertions are enabled for the compiler and standard
# library. Also enables compilation of debug! and trace! logging macros.
#debug-assertions = false
debug-assertions = true  #that delay issue isn't fixed yet (rustc -vV with RUST_BACKTRACE=1) well, let's see now: https://github.com/ianlancetaylor/libbacktrace/commit/b0d690331db157f53ac4a8bd9d4bb7513a561d90.patch
#to test if fixed, you have to cargo new --bin newproj make it 'panic!()' then:
#$ time RUST_BACKTRACE=0 ./target/debug/newproj
#real	0m0.003s
#user	0m0.000s
#sys	0m0.004s
#$ time RUST_BACKTRACE=1 ./target/debug/panic
#real	0m0.096s
#user	0m0.092s
#sys	0m0.003s

#debug-assertions = false

# Whether or not debuginfo is emitted
debuginfo = false
#debuginfo = true #nope//this might be why this happens: "LLVM ERROR: Broken module found, compilation aborted! (fragment covers entire variable)" https://github.com/rust-lang/rust/issues/48910 //this alone isn't it, but debuginfo-lines=true is it, unsure atm if debuginfo has to also be false! assuming yes

# Whether or not line number debug information is emitted
debuginfo-lines = false
#debuginfo-lines = true #ok this triggers "fragment covers entire variable", thanks to michaelwoerister for telling me!

# Whether or not to only build debuginfo for the standard library if enabled.
# If enabled, this will not compile the compiler with debuginfo, just the
# standard library.
debuginfo-only-std = false
#debuginfo-only-std = true

# Enable debuginfo for the extended tools: cargo, rls, rustfmt
# Adding debuginfo makes them several times larger.
#debuginfo-tools = false
debuginfo-tools = true

# Whether or not `panic!`s generate backtraces (RUST_BACKTRACE)
#backtrace = true
backtrace = true

# Whether to always use incremental compilation when building rustc
#incremental = false
incremental = true

# Build rustc with experimental parallelization
#experimental-parallel-queries = false
experimental-parallel-queries = true

# The default linker that will be hard-coded into the generated compiler for
# targets that don't specify linker explicitly in their target specifications.
# Note that this is not the linker used to link said compiler.
#default-linker = "cc"

# The "channel" for the Rust build to produce. The stable/beta channels only
# allow using stable features, whereas the nightly and dev channels allow using
# nightly features
#channel = "dev"
channel = "dev"

# By default the `rustc` executable is built with `-Wl,-rpath` flags on Unix
# platforms to ensure that the compiler is usable by default from the build
# directory (as it links to a number of dynamic libraries). This may not be
# desired in distributions, for example.
#rpath = true
rpath = true

# Emits extraneous output from tests to ensure that failures of the test
# harness are debuggable just from logfiles.
#verbose-tests = false
verbose-tests = false

# Flag indicating whether tests are compiled with optimizations (the -O flag) or
# with debuginfo (the -g flag)
#optimize-tests = true
#debuginfo-tests = true
optimize-tests = false
debuginfo-tests = false

# Flag indicating whether codegen tests will be run or not. If you get an error
# saying that the FileCheck executable is missing, you may want to disable this.
# Also see the target's llvm-filecheck option.
#codegen-tests = true
codegen-tests = false #for no good reason; just to be sure

# Flag indicating whether git info will be retrieved from .git automatically.
# Having the git information can cause a lot of rebuilds during development.
# Note: If this attribute is not explicitly set (e.g. if left commented out) it
# will default to true if channel = "dev", but will default to false otherwise.
#ignore-git = true
ignore-git = false #i don't get it! what git information and why will it cause rebuilds?

# When creating source tarballs whether or not to create a source tarball.
#dist-src = false

# Whether to also run the Miri tests suite when running tests.
# As a side-effect also generates MIR for all libraries.
#test-miri = false

# After building or testing extended tools (e.g. clippy and rustfmt), append the
# result (broken, compiling, testing) into this JSON file.
#save-toolstates = "/path/to/toolstates.json"

# This is an array of the codegen backends that will be compiled for the rustc
# that's being compiled. The default is to only build the LLVM codegen backend,
# but you can also optionally enable the "emscripten" backend for asm.js or
# make this an empty array (but that probably won't get too far in the
# bootstrap)
#codegen-backends = ["llvm"]

# This is the name of the directory in which codegen backends will get installed
#codegen-backends-dir = "codegen-backends"

# Flag indicating whether `libstd` calls an imported function to handle basic IO
# when targeting WebAssembly. Enable this to debug tests for the `wasm32-unknown-unknown`
# target, as without this option the test output will not be captured.
#wasm-syscall = false

# Indicates whether LLD will be compiled and made available in the sysroot for
# rustc to execute.
lld = false

# Indicates whether some LLVM tools, like llvm-objdump, will be made available in the
# sysroot.
#llvm-tools = false

# Indicates whether LLDB will be made available in the sysroot.
# This is only built if LLVM is also being built.
#lldb = false


# Whether to deny warnings in crates
#deny-warnings = true
deny-warnings = true

# Print backtrace on internal compiler errors during bootstrap
#backtrace-on-ice = false
backtrace-on-ice = true

# Whether to verify generated LLVM IR
#verify-llvm-ir = false
#verify-llvm-ir = true
#2 aug 2018: error: unknown debugging option: `verify-llvm-ir`

# Map all debuginfo paths for libstd and crates to `/rust/$sha/$crate/...`,
# generally only set for releases
#remap-debuginfo = false

# Link the compiler against `jemalloc`, where on Linux and OSX it should
# override the default allocator for rustc and LLVM.
#jemalloc = false

# Run tests in various test suites with the "nll compare mode" in addition to
# running the tests in normal mode. Largely only used on CI and during local
# development of NLL
#test-compare-mode = false



# =============================================================================
# Options for specific targets
#
# Each of the following options is scoped to the specific target triple in
# question and is used for determining how to compile each target.
# =============================================================================
[target.x86_64-unknown-linux-gnu]

# C compiler to be used to compiler C code. Note that the
# default value is platform specific, and if not specified it may also depend on
# what platform is crossing to what platform.
#cc = "cc"

# C++ compiler to be used to compiler C++ code (e.g. LLVM and our LLVM shims).
# This is only used for host targets.
#cxx = "c++"

# Archiver to be used to assemble static libraries compiled from C/C++ code.
# Note: an absolute path should be used, otherwise LLVM build will break.
#ar = "ar"

# Ranlib to be used to assemble static libraries compiled from C/C++ code.
# Note: an absolute path should be used, otherwise LLVM build will break.
#ranlib = "ranlib"


# Linker to be used to link Rust code. Note that the
# default value is platform specific, and if not specified it may also depend on
# what platform is crossing to what platform.
#linker = "cc"

# Path to the `llvm-config` binary of the installation of a custom LLVM to link
# against. Note that if this is specified we don't compile LLVM at all for this
# target.
#llvm-config = "../path/to/llvm/root/bin/llvm-config"

# Normally the build system can find LLVM's FileCheck utility, but if
# not, you can specify an explicit file name for it.
#llvm-filecheck = "/path/to/FileCheck"

# If this target is for Android, this option will be required to specify where
# the NDK for the target lives. This is used to find the C compiler to link and
# build native code.
#android-ndk = "/path/to/ndk"

# Force static or dynamic linkage of the standard library for this target. If
# this target is a host for rustc, this will also affect the linkage of the
# compiler itself. This is useful for building rustc on targets that normally
# only use static libraries. If unset, the target's default linkage is used.
#crt-static = false

# The root location of the MUSL installation directory. The library directory
# will also need to contain libunwind.a for an unwinding implementation. Note
# that this option only makes sense for MUSL targets that produce statically
# linked binaries
#musl-root = "..."

# Used in testing for configuring where the QEMU images are located, you
# probably don't want to use this.
#qemu-rootfs = "..."

# =============================================================================
# Distribution options
#
# These options are related to distribution, mostly for the Rust project itself.
# You probably won't need to concern yourself with any of these options
# =============================================================================
[dist]

# This is the folder of artifacts that the build system will sign. All files in
# this directory will be signed with the default gpg key using the system `gpg`
# binary. The `asc` and `sha256` files will all be output into the standard dist
# output folder (currently `build/dist`)
#
# This folder should be populated ahead of time before the build system is
# invoked.
#sign-folder = "path/to/folder/to/sign"

# This is a file which contains the password of the default gpg key. This will
# be passed to `gpg` down the road when signing all files in `sign-folder`
# above. This should be stored in plaintext.
#gpg-password-file = "path/to/gpg/password"

# The remote address that all artifacts will eventually be uploaded to. The
# build system generates manifests which will point to these urls, and for the
# manifests to be correct they'll have to have the right URLs encoded.
#
# Note that this address should not contain a trailing slash as file names will
# be appended to it.
#upload-addr = "https://example.com/folder"

# Whether to build a plain source tarball to upload
# We disable that on Windows not to override the one already uploaded on S3
# as the one built on Windows will contain backslashes in paths causing problems
# on linux
#src-tarball = true
src-tarball = false
#

# Whether to allow failures when building tools
#missing-tools = false
missing-tools = false
here's a diff to give you an idea of what changed/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust $ colordiff -up <(cat config.toml.example | grep '=' | grep -v '^\s*$'| sed -re 's/^#(.*$)/\1/') <(cat config.toml | grep -v '^#' | grep -v '^\s*$')
--- /dev/fd/63	2019-01-02 23:27:59.934233287 +0100
+++ /dev/fd/62	2019-01-02 23:27:59.936233262 +0100
@@ -1,115 +1,54 @@
- =============================================================================
- =============================================================================
-enabled = true
+[llvm]
 optimize = true
-thin-lto = false
 release-debuginfo = false
 assertions = false
-ccache = false
-ccache = "/path/to/ccache"
-version-check = true
+ccache = "/usr/bin/ccache"
 static-libstdcpp = false
-ninja = false
-targets = "X86;ARM;AArch64;Mips;PowerPC;SystemZ;JSBackend;MSP430;Sparc;NVPTX;Hexagon"
-experimental-targets = "WebAssembly;RISCV"
-link-jobs = 0
-link-shared = false
-version-suffix = "-rust"
-clang-cl = '/path/to/clang-cl.exe'
- =============================================================================
- =============================================================================
-build = "x86_64-unknown-linux-gnu"    # defaults to your host platform
-host = ["x86_64-unknown-linux-gnu"]   # defaults to just the build triple
+ninja = true
+targets = "X86"
+link-jobs = 4
+[build]
+build = "x86_64-unknown-linux-gnu"
+host = ["x86_64-unknown-linux-gnu"]
 target = ["x86_64-unknown-linux-gnu"] # defaults to just the build triple
-cargo = "/path/to/bin/cargo"
-rustc = "/path/to/bin/rustc"
 docs = true
-compiler-docs = false
+compiler-docs = true
 submodules = true
-fast-submodules = true
-gdb = "gdb"
-nodejs = "node"
-python = "python2.7"
 locked-deps = false
-vendor = false
 full-bootstrap = false
 extended = false
-tools = ["cargo", "rls", "rustfmt", "analysis", "src"]
- Verbosity level: 0 == not verbose, 1 == verbose, 2 == very verbose
+tools = [ "src" ]
 verbose = 0
 sanitizers = false
 profiler = false
-cargo-native-static = false
-low-priority = false
-configure-args = []
+low-priority = true
 local-rebuild = false
 print-step-timings = false
- =============================================================================
- =============================================================================
-prefix = "/usr/local"
-sysconfdir = "/etc"
-docdir = "share/doc/rust"
-bindir = "bin"
-libdir = "lib"
-mandir = "share/man"
-datadir = "share"
-infodir = "share/info"
-localstatedir = "/var/lib"
- =============================================================================
- =============================================================================
+[install]
+[rust]
 optimize = true
 debug = false
-codegen-units = 1
+codegen-units = 1 #We currently have the capability to do multiple codegen units in parallel. Unfortunately, one drawback of using this functionality is that using multiple codegen units loses optimization opportunities, like inlining, between the units. src: https://internals.rust-lang.org/t/towards-a-second-edition-of-the-compiler/5582
 codegen-units-std = 1
-debug-assertions = false
+debug-assertions = true  #that delay issue isn't fixed yet (rustc -vV with RUST_BACKTRACE=1) well, let's see now: https://github.com/ianlancetaylor/libbacktrace/commit/b0d690331db157f53ac4a8bd9d4bb7513a561d90.patch
 debuginfo = false
 debuginfo-lines = false
 debuginfo-only-std = false
-debuginfo-tools = false
+debuginfo-tools = true
 backtrace = true
-incremental = false
-experimental-parallel-queries = false
-default-linker = "cc"
+incremental = true
+experimental-parallel-queries = true
 channel = "dev"
 rpath = true
 verbose-tests = false
-optimize-tests = true
-debuginfo-tests = true
-codegen-tests = true
- will default to true if channel = "dev", but will default to false otherwise.
-ignore-git = true
-dist-src = false
-test-miri = false
-save-toolstates = "/path/to/toolstates.json"
-codegen-backends = ["llvm"]
-codegen-backends-dir = "codegen-backends"
-wasm-syscall = false
+optimize-tests = false
+debuginfo-tests = false
+codegen-tests = false #for no good reason; just to be sure
+ignore-git = false #i don't get it! what git information and why will it cause rebuilds?
 lld = false
-llvm-tools = false
-lldb = false
 deny-warnings = true
-backtrace-on-ice = false
-verify-llvm-ir = false
-remap-debuginfo = false
-jemalloc = false
-test-compare-mode = false
- =============================================================================
- =============================================================================
-cc = "cc"
-cxx = "c++"
-ar = "ar"
-ranlib = "ranlib"
-linker = "cc"
-llvm-config = "../path/to/llvm/root/bin/llvm-config"
-llvm-filecheck = "/path/to/FileCheck"
-android-ndk = "/path/to/ndk"
-crt-static = false
-musl-root = "..."
-qemu-rootfs = "..."
- =============================================================================
- =============================================================================
-sign-folder = "path/to/folder/to/sign"
-gpg-password-file = "path/to/gpg/password"
-upload-addr = "https://example.com/folder"
-src-tarball = true
+backtrace-on-ice = true
+[target.x86_64-unknown-linux-gnu]
+[dist]
+src-tarball = false
 missing-tools = false

In OP, I had this target = ["x86_64-unknown-linux-gnu", "i686-unknown-linux-gnu" ], but now when compiling the new one I've removed the i686 one (to hopefully? shave some time)

I'm on ArchLinux, 64bit...

@ghost
Copy link
Author

ghost commented Jan 2, 2019

oh crap, I think I see what's wrong: experimental-parallel-queries = true
or maybe not, if that's used only for building rustc... nevermind i guess
Actually that might be it: rust-lang/rust#48685
due to:

Allow rustc to execute queries in parallel with one another.
Make all types in the compiler send and sync

@ghost
Copy link
Author

ghost commented Jan 3, 2019

Confirmed! it's because of experimental-parallel-queries = true
@phansch you are a genius! Thanks for the hint!

My bad for not including(or mentioning) config.toml changes in OP. (it's been a while since my last rustc compilation)

I reopen this because I assume rust-clippy will eventually want to support being compiled by a rustc that's been compiled with experimental-parallel-queries = true. But if not, feel free to close.

@phansch
Copy link
Member

phansch commented Jan 3, 2019

It will probably be fixed by rust-lang/rust#57308 and #3621 (merged) 🙂

@ghost
Copy link
Author

ghost commented Jan 4, 2019

tl;dr: those patches worked.

I applied that rust one manually(EDIT and since that patch is merged upstream by now I can confirm it still fixed this issue) and tried compiling rust-clippy latest HEAD 261ebcf with a rustc that was compiled with experimental-parallel-queries = true, got this error(looks fixed by this):

   Compiling clippy_lints v0.0.212 (/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/clippy_lints)
!! LD_LIBRARY_PATH=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage2/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib:
!! Executing '/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build//x86_64-unknown-linux-gnu/stage2/bin//rustc' in pwd='/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy' with args: '--edition=2018 --crate-name clippy_lints /home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/clippy_lints/src/lib.rs --color always --crate-type lib --emit=dep-info,link -C debuginfo=2 -C metadata=134dfced93fe20d3 -C extra-filename=-134dfced93fe20d3 --out-dir /home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps -C incremental=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/incremental -L dependency=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps --extern cargo_metadata=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libcargo_metadata-ab2c761a71e48cab.rlib --extern if_chain=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libif_chain-be6030112903d804.rlib --extern itertools=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libitertools-594f1e251cdbabdb.rlib --extern lazy_static=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/liblazy_static-6455ba91e699c0c0.rlib --extern matches=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libmatches-aa7c2d82a3becdd3.rlib --extern pulldown_cmark=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libpulldown_cmark-ebf051869dbdc02b.rlib --extern quine_mc_cluskey=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libquine_mc_cluskey-84a24c48160a526f.rlib --extern regex_syntax=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libregex_syntax-aa960f5af9b0d02e.rlib --extern semver=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libsemver-7d3edb24a4bab5ce.rlib --extern serde=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libserde-f09e02de978da39f.rlib --extern serde_derive=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libserde_derive-7c9a74ee6443514a.so --extern smallvec=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libsmallvec-dde859d3513beea8.rlib --extern toml=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libtoml-39943b7e79ac0c13.rlib --extern unicode_normalization=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/libunicode_normalization-47b8b73d958e1540.rlib --extern url=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/deps/liburl-725de984ca99fdd1.rlib -L native=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/target/debug/build/backtrace-sys-cd06c32b67f980d3/out'
error[E0599]: no method named `predicate_must_hold` found for type `rustc::infer::InferCtxt<'_, '_, '_>` in the current scope
   --> /home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/clippy_lints/src/utils/mod.rs:274:30
    |
274 |         .enter(|infcx| infcx.predicate_must_hold(&obligation))
    |                              ^^^^^^^^^^^^^^^^^^^
    |
    = help: did you mean `predicate_may_hold`?

error[E0599]: no method named `moves_by_default` found for type `&'tcx rustc::ty::TyS<'tcx>` in the current scope
   --> /home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/clippy_lints/src/utils/mod.rs:887:9
    |
887 |     !ty.moves_by_default(cx.tcx.global_tcx(), cx.param_env, DUMMY_SP)
    |         ^^^^^^^^^^^^^^^^

error[E0599]: no method named `moves_by_default` found for type `&rustc::ty::TyS<'_>` in the current scope
   --> /home/xftroxgpx/build/2nonpkgs/rust.stuff/rust-clippy/clippy_lints/src/question_mark.rs:116:17
    |
116 |         expr_ty.moves_by_default(cx.tcx, cx.param_env, expression.span)
    |                 ^^^^^^^^^^^^^^^^

error: aborting due to 3 previous errors

For more information about this error, try `rustc --explain E0599`.
error: Could not compile `clippy_lints`.

To learn more, run the command again with --verbose.

real	2m56.547s
user	8m21.816s
sys	0m7.693s
$ rustc -vV
!! LD_LIBRARY_PATH=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib:
!! Executing '/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build//x86_64-unknown-linux-gnu/stage2/bin//rustc' in pwd='/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust' with args: '-vV'
rustc 1.33.0-dev (c0bbc3927 2019-01-03)
binary: rustc
commit-hash: c0bbc3927e28c22edefe6a1353b5ecc95ea9a104
commit-date: 2019-01-03
host: x86_64-unknown-linux-gnu
release: 1.33.0-dev
LLVM version: 8.0

$ cargo -vV
!! LD_LIBRARY_PATH=/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib:/home/xftroxgpx/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib:
!! Executing '/home/xftroxgpx/build/2nonpkgs/rust.stuff/cargo/cargo//target/release//cargo' in pwd='/home/xftroxgpx/build/2nonpkgs/rust.stuff/rust' with args: '-vV'
cargo 1.33.0-dev (dd97f8bc 2019-01-03)
release: 1.33.0
commit-hash: dd97f8bc0c65836cebd30bb8d20ec89e2355b779
commit-date: 2019-01-03

Retried compiling the new now latest rust-clippy HEAD 756b32e, and it worked!
I guess I can close this in advance.
Retested with rustc 1.33.0-dev (68fe5182c 2019-01-05) and latest clippy commit c63b634 with success.

This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants