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

resolve suggestions should use crate:: when enabled #51456

Merged
merged 25 commits into from
Aug 27, 2018

Conversation

qmx
Copy link
Member

@qmx qmx commented Jun 9, 2018

I couldn't find a way to add a specific assertion for the ui test, so the expected output is living under the crates-in-path.stderr ui test.

  • is this the right place for the test?

fixes #51212

@rust-highfive
Copy link
Collaborator

r? @estebank

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

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jun 9, 2018
@qmx
Copy link
Member Author

qmx commented Jun 9, 2018

r? @nikomatsakis

@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:02] travis_fold:start:tidy
travis_time:start:tidy
tidy check
[00:05:02] tidy error: /checkout/src/librustc_resolve/lib.rs:4240: line longer than 100 chars
[00:05:02] tidy error: /checkout/src/test/ui/crate-in-paths.rs: incorrect license
[00:05:04] some tidy checks failed
[00:05:04] 
[00:05:04] 
[00:05:04] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/tidy" "/checkout/src" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "--no-vendor" "--quiet"
[00:05:04] 
[00:05:04] 
[00:05:04] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test src/tools/tidy
[00:05:04] Build completed unsuccessfully in 0:01:57
[00:05:04] Build completed unsuccessfully in 0:01:57
[00:05:04] Makefile:79: recipe for target 'tidy' failed
[00:05:04] make: *** [tidy] Error 1

The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:110667db
$ 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)

@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.
Check compiletest suite=ui mode=ui (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
[00:48:09] 
[00:48:09] running 1504 tests
[00:48:14] ............................................................................................i.......
[00:48:19] .....................................................F.i............................................
[00:48:27] ....................................................................................................
[00:48:31] ....................................................................................................
[00:48:34] ....................................................................................................
[00:48:39] ....................................................................................................
---
[00:49:25] 
[00:49:25] ---- [ui] ui/crate-in-paths.rs stdout ----
[00:49:25] diff of stderr:
[00:49:25] 
[00:49:25] 1 error[E0425]: cannot find value `Foo` in this scope
[00:49:25] +   --> $DIR/crate-in-paths.rs:19:5
[00:49:25] 3    |
[00:49:25] 3    |
[00:49:25] 4 LL |     Foo;

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)

@@ -4449,7 +4451,12 @@ fn show_candidates(err: &mut DiagnosticBuilder,
} else {
"\n"
};
*candidate = format!("use {};\n{}", candidate, additional_newline);
let crate_prefix = if crate_in_paths {
Copy link
Contributor

Choose a reason for hiding this comment

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

Hmm, now i'm worried that this will apply even when it shouldn't. Consider this testcase:

fn main() {
    let x: &Debug = &22;
}

This currently prints:

error[E0412]: cannot find type `Debug` in this scope
 --> src/main.rs:2:13
  |
2 |     let x: &Debug = &22;
  |             ^^^^^ not found in this scope
help: possible candidate is found in another module, you can import it into scope
  |
1 | use std::fmt::Debug;
  |

and I think we do not want it to print use crate::std::fmt::Debug.

Copy link
Contributor

Choose a reason for hiding this comment

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

It looks like these are produced by this function:

/// When name resolution fails, this method can be used to look up candidate
/// entities with the expected name. It allows filtering them using the
/// supplied predicate (which should be used to only accept the types of
/// definitions expected e.g. traits). The lookup spans across all crates.
///
/// NOTE: The method does not look into imports, but this is not a problem,
/// since we report the definitions (thus, the de-aliased imports).
fn lookup_import_candidates<FilterFn>(&mut self,
lookup_name: Name,
namespace: Namespace,
filter_fn: FilterFn)
-> Vec<ImportSuggestion>
where FilterFn: Fn(Def) -> bool

I suspect we want to extend this struct

/// A free importable items suggested in case of resolution failure.
struct ImportSuggestion {
path: Path,
}

with an additional field, indicating whether the first link in the path is an extern crate or not. Notice that the function has the ability to check whether it is an extern crate:

// avoid imports entirely
if name_binding.is_import() && !name_binding.is_extern_crate() { return; }

In fact, we are already threading this in_module_is_extern state around -- that is almost what we want -- it tells us if the path contains an extern crate anywhere. But we just want to know if the path contains an extern crate in the first link.

Actually, reading this code, I think that likely these suggestions will break once we start removing extern crate entries. It may be that the better approach is to fix that problem, basically by iterating over the extern crates that were given on the command line first. The advantage of that is that we would not need any special logic for extern crate. So yeah scratch what I wrote above.

Copy link
Contributor

Choose a reason for hiding this comment

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

I left some notes in the issue laying out a possible alternative plan.

@kennytm kennytm changed the title resolve suggestions should use create:: when enabled resolve suggestions should use crate:: when enabled Jun 12, 2018
@pietroalbini pietroalbini 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 Jun 18, 2018
@pietroalbini
Copy link
Member

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

@nikomatsakis
Copy link
Contributor

I think @qmx is still on this, just waiting for a bit of free time =)

@qmx
Copy link
Member Author

qmx commented Jun 26, 2018

yep, I'm on it, just got overwhelmed with work :)

@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-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Jul 3, 2018
@qmx qmx force-pushed the crate-in-path branch from 3ec1db6 to 24d8904 Compare July 5, 2018 13:36
@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:04:41] travis_fold:start:tidy
travis_time:start:tidy
tidy check
[00:04:41] tidy error: /checkout/src/librustc_resolve/lib.rs:4175: line longer than 100 chars
[00:04:43] some tidy checks failed
[00:04:43] 
[00:04:43] 
[00:04:43] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/tidy" "/checkout/src" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "--no-vendor" "--quiet"
[00:04:43] 
[00:04:43] 
[00:04:43] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test src/tools/tidy
[00:04:43] Build completed unsuccessfully in 0:01:36
[00:04:43] Build completed unsuccessfully in 0:01:36
[00:04:43] make: *** [tidy] Error 1
[00:04:43] Makefile:79: recipe for target 'tidy' failed

The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:01136a90
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
---
travis_time:end:0e1bc4e2:start=1530798222491922761,finish=1530798222501057781,duration=9135020
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:06764898
$ head -30 ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
head: cannot open ‘./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers’ for reading: No such file or directory
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:0d93678f
$ dmesg | grep -i kill

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)

Copy link
Contributor

@nikomatsakis nikomatsakis left a comment

Choose a reason for hiding this comment

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

LGTM!

@qmx qmx force-pushed the crate-in-path branch from ed1a7f5 to 6cd173c Compare July 16, 2018 13:22
@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-5.0 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:04:15] travis_fold:start:tidy
travis_time:start:tidy
tidy check
[00:04:15] tidy error: /checkout/src/librustc_resolve/lib.rs:4167: line longer than 100 chars
[00:04:15] tidy error: /checkout/src/librustc_resolve/lib.rs:4223: line longer than 100 chars
[00:04:16] some tidy checks failed
[00:04:16] 
[00:04:16] 
[00:04:16] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/tidy" "/checkout/src" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "--no-vendor" "--quiet"
[00:04:16] 
[00:04:16] 
[00:04:16] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test src/tools/tidy
[00:04:16] Build completed unsuccessfully in 0:00:50
[00:04:16] Build completed unsuccessfully in 0:00:50
[00:04:16] make: *** [tidy] Error 1
[00:04:16] Makefile:79: recipe for target 'tidy' failed

The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:2cf3d6d8
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
---
travis_time:end:002f60e8:start=1531747680215319963,finish=1531747680221913588,duration=6593625
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:1fde41c0
$ ln -s . checkout && for CORE in obj/cores/core.*; do EXE=$(echo $CORE | sed 's|obj/cores/core\.[0-9]*\.!checkout!\(.*\)|\1|;y|!|/|'); if [ -f "$EXE" ]; then printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" "$CORE"; gdb -q -c "$CORE" "$EXE" -iex 'set auto-load off' -iex 'dir src/' -iex 'set sysroot .' -ex bt -ex q; echo travis_fold":"end:crashlog; fi; done || true
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:0d3dc400
travis_time:start:0d3dc400
$ cat ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
cat: ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers: No such file or directory
travis_fold:end:after_failure.5
travis_fold:start:after_failure.6
travis_time:start:07db2794
$ dmesg | grep -i kill

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-5.0 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.
Check compiletest suite=ui mode=ui (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
[00:41:21] 
[00:41:21] running 1569 tests
[00:41:25] ..................................................................................................i.
[00:41:29] ..............................................................F..i..................................
[00:41:34] ....................................................................................................
[00:41:36] ....................................................................................................
[00:41:38] ....................................................................................................
[00:41:41] ....................................................................................................
---
[00:42:11] 
[00:42:11] 5    |     ^^^ not found in this scope
[00:42:11] 6 help: possible candidate is found in another module, you can import it into scope
[00:42:11] 7    |
[00:42:11] - LL | use crate::bar::Foo;
[00:42:11] + LL | use bar::Foo;
[00:42:11] 10 
[00:42:11] 11 error: aborting due to previous error
[00:42:11] 
[00:42:11] 
[00:42:11] 
[00:42:11] The actual stderr differed from the expected stderr.
[00:42:11] thread 'main' panicked at 'Some tests failed', tools/compiletest/src/main.rs:498:22
[00:42:11] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/crate-in-paths/crate-in-paths.stderr
[00:42:11] To update references, rerun the tests and pass the `--bless` flag
[00:42:11] To only update this specific test, also pass `--test-args crate-in-paths.rs`
[00:42:11] error: 1 errors occurred comparing output.
[00:42:11] status: exit code: 101
[00:42:11] status: exit code: 101
[00:42:11] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/crate-in-paths.rs" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/crate-in-paths/a" "-Crpath" "-O" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/crate-in-paths/auxiliary" "-A" "unused"
[00:42:11] ------------------------------------------
[00:42:11] 
[00:42:11] ------------------------------------------
[00:42:11] stderr:
[00:42:11] stderr:
[00:42:11] ------------------------------------------
[00:42:11] {"message":"cannot find value `Foo` in this scope","code":{"code":"E0425","explanation":"\nAn unresolved name was used.\n\nErroneous code examples:\n\n```compile_fail,E0425\nsomething_that_doesnt_exist::foo;\n// error: unresolved name `something_that_doesnt_exist::foo`\n\n// or:\n\ntrait Foo {\n    fn bar() {\n        Self; // error: unresolved name `Self`\n    }\n}\n\n// or:\n\nlet x = unknown_variable;  // error: unresolved name `unknown_variable`\n```\n\nPlease verify that the name wasn't misspelled and ensure that the\nidentifier being referred to is valid for the given situation. Example:\n\n```\nenum something_that_does_exist {\n    Foo,\n}\n```\n\nOr:\n\n```\nmod something_that_does_exist {\n    pub static foo : i32 = 0i32;\n}\n\nsomething_that_does_exist::foo; // ok!\n```\n\nOr:\n\n```\nlet unknown_variable = 12u32;\nlet x = unknown_variable; // ok!\n```\n\nIf the item is not defined in the current module, it must be imported using a\n`use` statement, like so:\n\n```\n# mod foo { pub fn bar() {} }\n# fn main() {\nuse foo::bar;\nbar();\n# }\n```\n\nIf the item you are importing is not defined in some super-module of the\ncurrent module, then it must also be declared as public (e.g., `pub fn`).\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/crate-in-paths.rs","byte_start":586,"byte_end":589,"line_start":19,"line_end":19,"column_start":5,"column_end":8,"is_primary":true,"text":[{"text":"    Foo;","highlight_start":5,"highlight_end":8}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"possible candidate is found in another module, you can import it into scope","code":null,"level":"help","spans":[{"file_name":"/checkout/src/test/ui/crate-in-paths.rs","byte_start":535,"byte_end":535,"line_start":14,"line_end":14,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"mod bar {","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use bar::Foo;\n\n","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"error[E0425]: cannot find value `Foo` in this scope\n  --> /checkout/src/test/ui/crate-in-paths.rs:19:5\n   |\nLL |     Foo;\n   |     ^^^ not found in this scope\nhelp: possible candidate is found in a.0/bin/FileCheck" "--host-rustcflags" "-Crpath -O -Zunstable-options " "--target-rustcflags" "-Crpath -O -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--docck-python" "/usr/bin/python2.7" "--lldb-python" "/usr/bin/python2.7" "--gdb" "/usr/bin/gdb" "--quiet" "--llvm-version" "5.0.0\n" "--system-llvm" "--cc" "" "--cxx" "" "--cflags" "" "--llvm-components" "" "--llvm-cxxflags" "" "--adb-path" "adb" "--adb-test-dir" "/data/tmp/work" "--android-cross-path" "" "--color" "always"
[00:42:11] 
[00:42:11] 
[00:42:11] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[00:42:11] Build completed unsuccessfully in 0:01:25
[00:42:11] Build completed unsuccessfully in 0:01:25
[00:42:11] Makefile:58: recipe for target 'check' failed
[00:42:11] make: *** [check] Error 1
52376 ./obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu
52372 ./obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release
52028 ./obj/build/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/bin
49440 ./src/test
---
travis_time:end:14a68e97:start=1531751319561442800,finish=1531751319568679438,duration=7236638
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:31accfe7
$ ln -s . checkout && for CORE in obj/cores/core.*; do EXE=$(echo $CORE | sed 's|obj/cores/core\.[0-9]*\.!checkout!\(.*\)|\1|;y|!|/|'); if [ -f "$EXE" ]; then printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" "$CORE"; gdb -q -c "$CORE" "$EXE" -iex 'set auto-load off' -iex 'dir src/' -iex 'set sysroot .' -ex bt -ex q; echo travis_fold":"end:crashlog; fi; done || true
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:022c2b9e
travis_time:start:022c2b9e
$ cat ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
cat: ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers: No such file or directory
travis_fold:end:after_failure.5
travis_fold:start:after_failure.6
travis_time:start:12b7c08c
$ dmesg | grep -i kill

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)

@stokhos
Copy link

stokhos commented Jul 21, 2018

Ping from triage! @qmx we haven't heard from you for a while, will you have time to work on this PR?

@qmx
Copy link
Member Author

qmx commented Jul 21, 2018

hey @stokhos - @nikomatsakis asked for more tests to be added before landing this change, and that's where I'm investing time for now

@pietroalbini
Copy link
Member

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

@qmx
Copy link
Member Author

qmx commented Jul 31, 2018

Here's the catch, it's been worked but there's no actionable "output" yet - I'm trying to figure out how to include suggestions from the prelude also (described with greater detail on the parent issue).

Any suggestions on how to surface the work in progress that not necessarily materializes in commits?

@pietroalbini
Copy link
Member

Well, don't worry about that! We ping to make sure a PR is not forgotten (and close it if it's inactive), but if the author replies we do nothing.

[note for triage: maybe revisit this in two weeks instead of one?]

@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-5.0 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:50:26] ....................................................................................................
[00:50:29] ....................................................................................................
[00:50:31] ....................................................................................................
[00:50:35] ....................................................................................................
[00:50:38] .i.....................................................................F............................
[00:50:45] ....................................................................................................
[00:50:48] ..............................i.....................................................................
[00:50:52] ....................................................................................................
[00:50:55] ....................................................................................................
[00:50:55] ....................................................................................................
[00:50:57] ...........................................................................i........................
on_applicability":"Unspecified","expansion":null},{"file_name":"/checkout/src/test/ui/rust-2018/issue-52202-use-suggestions.rs","byte_start":625,"byte_end":625,"line_start":16,"line_end":16,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"mod plumbing {","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use crate::std::collections::hash_set::Drain;\n\n","suggestion_applicability":"Unspecified","expansion":null},{"file_name":"/checkout/src/test/ui/rust-2018/issue-52202-use-suggestions.rs","byte_start":625,"byte_end":625,"line_start":16,"line_end":16,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"mod plumbing {","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use crate::std::collections::vec_deque::Drain;\n\n","suggestion_applicability":"Unspecified","expansion":null},{"file_name":"/checkout/src/test/ui/rust-2018/issue-52202-use-suggestions.rs","byte_start":625,"byte_end":625,"line_start":16,"line_end":16,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"mod plumbing {","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use crate::std::string::Drain;\n\n","suggestion_applicability":"Unspecified","expansion":null},{"file_name":"/checkout/src/test/ui/rust-2018/issue-52202-use-suggestions.rs","byte_start":625,"byte_end":625,"line_start":16,"line_end":16,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"mod plumbing {","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use crate::std::vec::Drain;\n\n","suggestion_applicability":"Unspecified","expansion":null},{"file_name":"/checkout/src/test/ui/rust-2018/issue-52202-use-suggestions.rs","byte_start":625,"byte_end":625,"line_start":16,"line_end":16,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"mod plumbing {","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use std::collections::binary_heap::Drain;\n\n","suggestion_applicability":"Unspecified","expansion":null},{"file_name":"/checkout/src/test/ui/rust-2018/issue-52202-use-suggestions.rs","byte_start":625,"byte_end":625,"line_start":16,"line_end":16,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"mod plumbing {","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use std::collections::hash_map::Drain;\n\n","suggestion_applicability":"Unspecified","expansion":null},{"file_name":"/checkout/src/test/ui/rust-2018/issue-52202-use-suggestions.rs","byte_start":625,"byte_end":625,"line_start":16,"line_end":16,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"mod plumbing {","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use std::collections::hash_set::Drain;\n\n","suggestion_applicability":"Unspecified","expansion":null},{"file_name":"/checkout/src/test/ui/rust-2018/issue-52202-use-suggestions.rs","byte_start":625,"byte_end":625,"line_start":16,"line_end":16,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"mod plumbing {","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use std::collections::vec_deque::Drain;\n\n","suggestion_applicability":"Unspecified","expansion":null},{"file_name":"/checkout/src/test/ui/rust-2018/issue-52202-use-suggestions.rs","byte_start":625,"byte_end":625,"line_start":16,"line_end":16,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"mod plumbing {","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use std::string::Drain;\n\n","suggestion_applicability":"Unspecified","expansion":null},{"file_name":"/checkout/src/test/ui/rust-2018/issue-52202-use-suggestions.rs","byte_start":625,"byte_end":625,"line_start":16,"line_end":16,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"mod plumbing {","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use std::vec::Drain;\n\n","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"error[E0422]: cannot find struct, variant or union type `Drain` in this scope\n  --> /checkout/src/test/ui/rust-2018/issue-52202-use-suggestions.rs:21:14\n   |\nLL |     let _d = Drain {};\n   |              ^^^^^ not found in this scope\nhelp: possible candidates are found in other modules, you can import them into scope\n   |\nLL | use crate::plumbing::Drain;\n   |\nLL | use crate::std::collections::binary_heap::Drain;\n   |\nLL | use crate::std::collections::hash_map::Drain;\n   |\nLL | use crate::std::collections::hash_set::Drain;\n   |\nand 9 other candidates\n\n"}
[00:50:58] {"message":"aborting due to previous error","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to previous error\n\n"}
[00:50:58] {"message":"For more information about this error, try `rustc --explain E0422`.","code":null,"level":"","spans":[],"children":[],"rendered":"For more information about this error, try `rustc --explain E0422`.\n"}
[00:50:58] ------------------------------------------
[00:50:58] 
[00:50:58] thread '[ui] ui/rust-2018/issue-52202-use-suggestions.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:3166:9
[00:50:58] note: Run with `RUST_BACKTRACE=1` for a backtrace.
---
[00:50:58] 
[00:50:58] thread 'main' panicked at 'Some tests failed', tools/compiletest/src/main.rs:497:22
[00:50:58] 
[00:50:58] 
[00:50:58] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/compiletest" "--compile-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib" "--run-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "--rustc-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "--src-base" "/checkout/src/test/ui" "--build-base" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui" "--stage-id" "stage2-x86_64-unknown-linux-gnu" "--mode" "ui" "--target" "x86_64-unknown-linux-gnu" "--host" "x86_64-unknown-linux-gnu" "--llvm-filecheck" "/usr/lib/llvm-5.0/bin/FileCheck" "--host-rustcflags" "-Crpath -O -Zunstable-options " "--target-rustcflags" "-Crpath -O -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--docck-python" "/usr/bin/python2.7" "--lldb-python" "/usr/bin/python2.7" "--gdb" "/usr/bin/gdb" "--quiet" "--llvm-version" "5.0.0\n" "--system-llvm" "--cc" "" "--cxx" "" "--cflags" "" "--llvm-components" "" "--llvm-cxxflags" "" "--adb-path" "adb" "--adb-test-dir" "/data/tmp/work" "--android-cross-path" "" "--color" "always"
[00:50:58] 
[00:50:58] 
[00:50:58] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[00:50:58] Build completed unsuccessfully in 0:03:17
[00:50:58] Build completed unsuccessfully in 0:03:17
[00:50:58] make: *** [check] Error 1
[00:50:58] Makefile:58: recipe for target 'check' failed

The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:0962f450
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
---
The command "date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
" exited with 0.
travis_fold:start:after_failure.1
travis_time:start:304de0fd
$ sudo tail -n 500 /var/log/syslog
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000]   6 disabled
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000]   7 disabled
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000] x86/PAT: Configuration [0-7]: WB  WC  UC- UC  WB  WC  UC- WT  
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000] e820: last_pfn = 0xbfff3 max_arch_pfn = 0x400000000
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000] found SMP MP-table at [mem 0x000f2800-0x000f280f] mapped at [ffff8800000f2800]
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000] Scanning 1 areas for low memory corruption
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000] Base memory trampoline at [ffff880000099000] 99000 size 24576
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000] Using GB pages for direct mapping
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000] BRK [0x02211000, 0x02211fff] PGTABLE
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000] BRK [0x02212000, 0x02212fff] PGTABLE
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000] BRK [0x02213000, 0x02213fff] PGTABLE
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000] RAMDISK: [mem 0x35614000-0x36b01fff]
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000] ACPI: Early table checksum verification disabled
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000] ACPI: RSDP 0x00000000000F27C0 000014 (v00 Google)
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000] ACPI: RSDT 0x00000000BFFF3430 000038 (v01 Google GOOGRSDT 00000001 GOOG 00000001)
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000] ACPI: FACP 0x00000000BFFFCF60 0000F4 (v02 Google GOOGFACP 00000001 GOOG 00000001)
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000] ACPI: DSDT 0x00000000BFFF3470 0017B2 (v01 Google GOOGDSDT 00000001 GOOG 00000001)
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000] ACPI: FACS 0x00000000BFFFCF00 000040
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000] ACPI: FACS 0x00000000BFFFCF00 000040
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000] ACPI: SSDT 0x00000000BFFF65F0 00690D (v01 Google GOOGSSDT 00000001 GOOG 00000001)
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000] ACPI: APIC 0x00000000BFFF5D10 000086 (v01 Google GOOGAPIC 00000001 GOOG 00000001)
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000] ACPI: WAET 0x00000000BFFF5CE0 000028 (v01 Google GOOGWAET 00000001 GOOG 00000001)
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000] ACPI: SRAT 0x00000000BFFF4C30 0000E8 (v01 Google GOOGSRAT 00000001 GOOG 00000001)
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000] ACPI: Local APIC address 0xfee00000
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000] SRAT: PXM 0 -> APIC 0x00 -> Node 0
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000] SRAT: PXM 0 -> APIC 0x01 -> Node 0
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000] SRAT: PXM 0 -> APIC 0x02 -> Node 0
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000] SRAT: PXM 0 -> APIC 0x03 -> Node 0
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000] SRAT: Node 0 PXM 0 [mem 0x00000000-0x0009ffff]
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000] SRAT: Node 0 PXM 0 [mem 0x00100000-0xbfffffff]
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000] SRAT: Node 0 PXM 0 [mem 0x100000000-0x3ffffffff]
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000] NUMA: Node 0 [mem 0x00000000-0x0009ffff] + [mem 0x00100000-0xbfffffff] -> [mem 0x00000000-0xbfffffff]
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000] NUMA: Node 0 [mem 0x00000000-0xbfffffff] + [mem 0x100000000-0x3ffffffff] -> [mem 0x00000000-0x3ffffffff]
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000] NODE_DATA(0) allocated [mem 0x3ffff9000-0x3ffffdfff]
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000] kvm-clock: Using msrs 4b564d01 and 4b564d00
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000] kvm-clock: cpu 0, msr 3:ffff1001, primary cpu clock
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000] kvm-clock: using sched offset of 1547347238 cycles
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000] clocksource: kvm-clock: mask: 0xffffffffffffffff max_cycles: 0x1cd42e4dffb, max_idle_ns: 881590591483 ns
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000] Zone ranges:
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000]   DMA      [mem 0x0000000000001000-0x0000000000ffffff]
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000]   DMA32    [mem 0x0000000001000000-0x00000000ffffffff]
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000]   Normal   [mem 0x0000000100000000-0x00000003ffffffff]
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000]   Device   empty
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000] Movable zone start for each node
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000] Early memory node ranges
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000]   node   0: [mem 0x0000000000001000-0x000000000009efff]
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000]   node   0: [memects=0, CPUs=4, Nodes=1
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000] Hierarchical RCU implementation.
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000]  Build-time adjustment of leaf fanout to 64.
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000]  RCU restricting CPUs from NR_CPUS=512 to nr_cpu_ids=4.
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=64, nr_cpu_ids=4
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000] NR_IRQS:33024 nr_irqs:456 16
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000] Console: colour VGA+ 80x25
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000] console [ttyS0] enabled
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.000000] tsc: Detected 2600.000 MHz processor
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.373628] Calibrating delay loop (skipped) preset value.. 5200.00 BogoMIPS (lpj=10400000)
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.374871] pid_max: default: 32768 minimum: 301
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.375567] ACPI: Core revision 20150930
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.381902] ACPI: 2 ACPI AML tables successfully acquired and loaded
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-1411894:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.482514] Switched APIC routing to physical x2apic.
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.486050] ..TIMER: vector=0x30 apic1=0 pin1=0 apic2=-1 pin2=-1
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.592786] smpboot: CPU0: Intel(R) Xeon(R) CPU @ 2.60GHz (family: 0x6, model: 0x2d, stepping: 0x7)
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.594591] Performance Events: unsupported p6 CPU model 45 no PMU driver, software events only.
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.597027] x86: Booting SMP configuration:
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.597714] .... node  #0, CPUs:      #1
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.598548] kvm-clock: cpu 1, msr 3:ffff1041, secondary cpu clock
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.602022]  #2
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.602618] kvm-clock: cpu 2, msr 3:ffff1081, secondary cpu clock
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.606209]  #3
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.606719] kvm-clock: cpu 3, msr 3:ffff10c1, secondary cpu clock
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.610107] x86: Booted up 1 node, 4 CPUs
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.610998] smpboot: Total of 4 processors activated (20800.00 BogoMIPS)
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.613226] devtmpfs: initialized
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.617551] evm: security.selinux
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.618059] evm: security.SMACK64
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.618631] evm: security.SMACK64EXEC
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.619255] evm: security.SMACK64TRANSMUTE
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.619851] evm: security.SMACK64MMAP
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.620384] evm: security.ima
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.620963] evm: security.capability
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.621827] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.623167] futex hash table entries: 1024 (order: 4, 65536 bytes)
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.624252] pinctrl core: initialized pinctrl subsystem
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.625332] RTC time: 19:24:14, date: 08/16/18
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.626885] NET: Registered protocol family 16
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.636799] cpuidle: using governor ladder
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.648799] cpuidle: using governor menu
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.649693] PCCT header not found.
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.650444] ACPI: bus type PCI registered
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.651002] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.652125] PCI: Using configuration type 1 for base access
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.665603] ACPI: Added _OSI(Module Device)
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.666265] ACPI: Added _OSI(Processor Device)
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.666939] ACPI: Added _OSI(3.0 _SCP Extensions)
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.667785] ACPI: Added _OSI(Processor Aggregator Device)
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.671058] ACPI: Executed 2 blocks of module-level executable AML code
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.693830] ACPI: Interpreter enabled
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.694442] ACPI: (supports S0 S3 S4 S5)
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.694985] ACPI: Using IOAPIC for interrupt routing
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.695784] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.724648] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.725587] acpi PNP0A03:00: _OSC: OS supports [ASPM ClockPM Segments MSI]
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.726623] acpi PNP0A03:00: _OSC failed (AE_NOT_FOUND); disabling ASPM
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.727563] acpi PNP0A03:00: fail to add MMCONFIG information, can't access extended PCI configuration space under this bridge.
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.729778] PCI host bridge to bus 0000:00
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.730501] pci_bus 0000:00: root bus resource [io  0x0000-0x0cf7 window]
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.731520] pci_bus 0000:00: root bus resource [io  0x0d00-0xffff window]
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.732440] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff window]
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.733490] pci_bus 0000:00: root bus resource [mem 0xc0000000-0xfebfffff window]
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.734645] pci_bus 0000:00: root bus resource [bus 00-ff]
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.735517] pci 0000:00:00.0: [8086:1237] type 00 class 0x060000
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.735924] pci 0000:00:01.0: [8086:7110] type 00 class 0x060100
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.750105] pci 0000:00:01.3: [8086:7113] type 00 class 0x068000
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.762539] pci 0000:00:01.3: quirk: [io  0xb000-0xb03f] claimed by PIIX4 ACPI
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.763928] pci 0000:00:03.0: [1af4:1004] type 00 class 0x000000
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.769593] pci 0000:00:03.0: reg 0x10: [io  0xc000-0xc03f]
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.773992] pci 0000:00:03.0: reg 0x14: [mem 0xfebfe000-0xfebfe07f]
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.785769] pci 0000:00:04.0: [1af4:1000] type 00 class 0x020000
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.790645] pci 0000:00:04.0: reg 0x10: [io  0xc040-0xc07f]
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    0.794503] pci 0000:00:04.0: reg 0x14: [mem 0xfebff000-0xfebff0ff]
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernelb287a kernel: [    2.837655] HugeTLB registered 2 MB page size, pre-allocated 0 pages
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    2.840019] zbud: loaded
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    2.840854] VFS: Disk quotas dquot_6.6.0
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    2.841696] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    2.843049] squashfs: version 4.0 (2009/01/31) Phillip Lougher
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    2.844666] fuse init (API version 7.23)
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    2.845484] Key type big_key registered
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    2.846143] Allocating IMA MOK and blacklist keyrings.
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    2.847938] Key type asymmetric registered
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    2.848623] Asymmetric key parser 'x509' registered
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    2.849325] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 249)
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    2.850440] io scheduler noop registered
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    2.851147] io scheduler deadline registered (default)
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4: [    3.007611] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    3.009152] ehci-pci: EHCI PCI platform driver
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    3.010462] ehci-platform: EHCI generic platform driver
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    3.012063] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    3.014250] ohci-pci: OHCI PCI platform driver
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    3.015540] ohci-platform: OHCI generic platform driver
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    3.017160] uhci_hcd: USB Universal Host Controller Interface driver
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    3.018383] i8042: PNP: PS/2 Controller [PNP0303:KBD,PNP0f13:MOU] at 0x60,0x64 irq 1,12
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    3.020773] i8042: Warning: Keylock active
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    3.022401] serio: i8042 KBD port at 0x60,0x64 irq 1
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    3.023469] serio: i8042 AUX port at 0x60,0x64 irq 12
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    3.024730] mousedev: PS/2 mouse device common for all mice
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    3.026279] rtc_cmos 00:0.055907] input: ImExPS/2 Generic Explorer Mouse as /devices/platform/i8042/serio1/input/input4
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    6.146994] floppy0: no floppy controllers found
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    7.322795] raid6: sse2x1   gen()  8632 MB/s
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    7.390788] raid6: sse2x1   xor()  6498 MB/s
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    7.458804] raid6: sse2x2   gen() 10517 MB/s
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    7.526791] raid6: sse2x2   xor()  7138 MB/s
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    7.594797] raid6: sse2x4   gen() 12287 MB/s
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    7.662788] raid6: sse2x4   xor()  8518 MB/s
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    7.665523] raid6: using algorithm sse2x4 gen() 12287 MB/s
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    7.669455] raid6: .... xor() 8518 MB/s, rmw enabled
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    7.672179] raid6: using ssse3x2 recovery algorithm
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    7.676949] xor: automatically using best checksumming function:
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    7.718752]    avx       : 26964.000 MB/sec
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    7.736285] Btrfs loaded
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    7.803469] EXT4-fs (sda1): INFO: recovery required on readonly filesystem
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    7.807854] EXT4-fs (sda1): write access will be enabled during recovery
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    7.908599] EXT4-fs (sda1): orphan cleanup on readonly fs
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    7.920071] EXT4-fs (sda1): 6 orphan inodes deleted
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    7.922776] EXT4-fs (sda1): recovery complete
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    7.932138] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    8.184515] random: init: uninitialized urandom read (12 bytes read, 23 bits of entropy available)
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    8.330343] random: mountall: uninitialized urandom read (12 bytes read, 27 bits of entropy available)
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    8.388385] EXT4-fs (sda1): re-mounted. Opts: (null)
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    8.623026] random: cloud-init: uninitialized urandom read (32 bytes read, 33 bits of entropy available)
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    9.273397] random: cloud-init: uninitialized urandom read (32 bytes read, 41 bits of entropy available)
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    9.419771] systemd-udevd[702]: starting version 204
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    9.542695] piix4_smbus 0000:00:01.3: SMBus base address uninitialized - upgrade BIOS or use force_addr=0xaddr
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    9.610281] intel_rapl: no valid rapl domains found in package 0
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    9.663546] intel_rapl: no valid rapl domains found in package 0
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a rsyslogd-2039: Could no open output pipe '/dev/xconsole': No such file or directory [try http://www.rsyslog.com/e/2039 ]
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    9.669963] ppdev: user-space parallel port driver
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    9.773964] random: mktemp: uninitialized urandom read (6 bytes read, 51 bits of entropy available)
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    9.830138] random: mktemp: uninitialized urandom read (6 bytes read, 52 bits of entropy available)
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [    9.901037] random: cloud-init: uninitialized urandom read (32 bytes read, 52 bits of entropy available)
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [   10.071026] random: cloud-init: uninitialized urandom read (32 bytes read, 52 bits of entropy available)
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [   10.437748] random: mktemp: uninitialized urandom read (12 bytes read, 55 bits of entropy available)
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [   10.518982] random: mktemp: uninitialized urandom read (6 bytes read, 56 bits of entropy available)
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [   10.605941] EXT4-fs (sda1): resizing filesystem from 3931904 to 7864064 blocks
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [   10.660305] EXT4-fs (sda1): resized filesystem to 7864064
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [   11.017444] init: failsafe main process (1094) killed by TERM signal
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a instance-setup: INFO Running set_multiqueue.
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a instance-setup: INFO Set channels for eth0 to 4.
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a instance-setup: INFO Setting /proc/irq/25/smp_affinity_list to 0 for device virtio1.
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a instance-setup: INFO /proc/irq/25/smp_affinity_list: real affinity 0
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a instance-setup: INFO Setting /proc/irq/26/smp_affinity_list to 0 for device virtio1.
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a instance-setup: INFO /proc/irq/26/smp_affinity_list: real affinity 0
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a instance-setup: INFO Setting /proc/irq/27/smp_affinity_list to 1 for device virtio1.
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a instance-setup: INFO /proc/irq/27/smp_affinity_list: real affinity 1
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a instance-setup: INFO Setting /proc/irq/28/smp_affinity_list to 1 for device virtio1.
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a instance-setup: INFO /proc/irq/28/smp_affinity_list: real affinity 1
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a instance-setup: INFO Setting /proc/irq/29/smp_affinity_list to 2 for device virtio1.
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a instance-setup: INFO /proc/irq/29/smp_affinity_list: real affinity 2
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a instance-setup: INFO Setting /proc/irq/30/smp_affinity_list to 2 for device virtio1.
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a instance-setup: INFO /proc/irq/30/smp_affinity_list: real affinity 2
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a instance-setup: INFO Setting /proc/irq/31/smp_affinity_list to 3 for device virtio1.
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a instance-setup: INFO /proc/irq/31/smp_affinity_list: real affinity 3
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a instance-setup: INFO Setting /proc/irq/32/smp_affinity_list to 3 for device virtio1.
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a instance-setup: INFO /proc/irq/32/smp_affinity_list: real affinity 3
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a instance-setup: INFO Queue 0 XPS=1 for /sys/class/net/eth0/queues/tx-0/xps_cpus
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a instance-setup: INFO Queue 1 XPS=2 for /sys/class/net/eth0/queues/tx-1/xps_cpus
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a instance-setup: INFO Queue 2 XPS=4 for /sys/class/net/eth0/queues/tx-2/xps_cpus
Aug 16 19:24:24 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a instance-setup: INFO Queue 3 XPS=8 for /sys/class/net/eth0/queues/tx-3/xps_cpus
Aug 16 19:24:25 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a google-clock-skew: INFO Clock drift token has changed: 0.
Aug 16 19:24:25 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a google-clock-skew: INFO Clock drift token has changed: 0.
Aug 16 19:24:25 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a google-accounts: INFO Starting Google Accounts daemon.
Aug 16 19:24:25 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a google-ip-forwarding: INFO Starting Google IP Forwarding daemon.
Aug 16 19:24:25 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a google-accounts: INFO Creating a new user account for me.
Aug 16 19:24:25 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a google-accounts: INFO Created user account me.
Aug 16 19:24:25 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a google-accounts: INFO Creating a new user account for bogdana.
Aug 16 19:24:25 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a google-accounts: INFO Created user account bogdana.
Aug 16 19:24:25 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287arnel: [  185.536539] eth0: renamed from veth4d383b5
Aug 16 19:27:19 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [  185.570038] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
Aug 16 19:27:19 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [  185.571340] docker0: port 1(veth9aeefdc) entered forwarding state
Aug 16 19:27:19 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [  185.571372] docker0: port 1(veth9aeefdc) entered forwarding state
Aug 16 19:27:19 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [  185.571401] IPv6: ADDRCONF(NETDEV_CHANGE): docker0: link becomes ready
Aug 16 19:27:22 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a ntpd[1772]: Listen normally on 5 docker0 fe80::42:17ff:fe2a:4e77 UDP 123
Aug 16 19:27:22 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a ntpd[1772]: Listen normally on 6 docker0 fe80::1 UDP 123
Aug 16 19:27:22 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a ntpd[1772]: Listen normally on 7 docker0 fd9a:8454:6789:13f7::1 UDP 123
Aug 16 19:27:22 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a ntpd[1772]: peers refreshed
Aug 16 19:27:22 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a ntpd[1772]: new interface(s) found: waking up resolver
Aug 16 19:27:34 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [  200.595886] docker0: port 1(veth9aeefdc) entered forwarding state
Aug 16 20:16:28 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [ 3135.227353] veth4d383b5: renamed from eth0
Aug 16 20:16:28 travis-job-e0df03c1-8a18-4ad8-8571-141189eb287a kernel: [ 3135.263323] docker0: port 1(veth9aeefdc) entered disabled state
Aug 16 20:16:28 tra4154304 .
2318988 ./obj/build
1713212 ./obj/build/x86_64-unknown-linux-gnu
1058240 ./src
776528 ./.git
---
151200 ./src/tools/clang
149112 ./src/llvm-emscripten/test
148684 ./obj/build/bootstrap/debug/incremental
134252 ./obj/build/bootstrap/debug/incremental/bootstrap-1v3ifugz4t07z
134248 ./obj/build/bootstrap/debug/incremental/bootstrap-1v3ifugz4t07z/s-f3wzjnuwa3-1pxb3nb-19p1no4jx31q5
1

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)

path_segments.clone()
};
let first_segment_ident = segms[0].ident;
if first_segment_ident.name != "std" {
Copy link
Contributor

Choose a reason for hiding this comment

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

So I was looking into this special-casing. I think the reason that I was confused is that I thought that if you had a path like use foo::bar, then we would only look for the crate foo amongst the extern-prelude crates. But from skimming the code I no longer quite think that is the case. I think we'll also search the -L directories for that crate -- and this (I believe) is exactly how use std::foo works at all. In that case, we can remove the special case here and make instead the change below.

Still, I somehow that wasn't the desired design... so cc @eddyb and @petrochenkov -- how do we get the full list of crates that can be used with an explicit extern crate?

Copy link
Contributor

Choose a reason for hiding this comment

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

@eddyb, @petrochenkov -- for context, what we are trying to do is to search the "available" crates for completion, but avoid duplicates from where there is an extern crate...

let is_extern_crate_that_also_appears_in_prelude =
name_binding.is_extern_crate() &&
self.session.rust_2018() &&
self.extern_prelude.contains(&ident.name);
Copy link
Contributor

Choose a reason for hiding this comment

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

if my new understanding is correct, I think we can just remove this self.extern_prelude.contains(&ident.name) line and we don't need to special case std at all.

@nikomatsakis
Copy link
Contributor

@eddyb

Shouldn't that be ::foo::bar instead, without extern crate? At least for now it works regardless of whether foo is in the extern_prelude.

I missed this comment earlier. I'm a bit confused though -- in Rust 2018, at least, won't ::foo::bar imply that foo must be a crate? Or is a "DWIM" path that also works for things in the root module? (I've not been following the latest ins and outs of the design.)

Copy link
Contributor

@nikomatsakis nikomatsakis left a comment

Choose a reason for hiding this comment

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

one nit but looks good!


all:
$(RUSTC) ep-nested-lib.rs

Copy link
Contributor

Choose a reason for hiding this comment

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

dumb question but I forget -- in Makefiles -- what happens with a blank line like this? I think we should remove it :)

Copy link
Member Author

Choose a reason for hiding this comment

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

afaik, nothing, and the other run-make tests do the same for separating the libs from the executables

Copy link
Contributor

Choose a reason for hiding this comment

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

ok fine fine

all:
$(RUSTC) ep-nested-lib.rs

$(RUSTC) use-suggestions.rs --edition=2018 --extern ep_nested_lib=$(TMPDIR)/libep_nested_lib.rlib 2>&1 | $(CGREP) "use ep_nested_lib::foo::bar::Baz"
Copy link
Contributor

Choose a reason for hiding this comment

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

👍

@nikomatsakis
Copy link
Contributor

@bors r+

@bors
Copy link
Contributor

bors commented Aug 27, 2018

📌 Commit d9791d6 has been approved by nikomatsakis

@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 Aug 27, 2018
bors added a commit that referenced this pull request Aug 27, 2018
resolve suggestions should use `crate::` when enabled

I couldn't find a way to add a specific assertion for the ui test, so the expected output is living under the `crates-in-path.stderr` ui test.

- is this the right place for the test?

fixes #51212
@bors
Copy link
Contributor

bors commented Aug 27, 2018

⌛ Testing commit d9791d6 with merge f7202e4...

@bors
Copy link
Contributor

bors commented Aug 27, 2018

☀️ Test successful - status-appveyor, status-travis
Approved by: nikomatsakis
Pushing f7202e4 to master...

@bors bors merged commit d9791d6 into rust-lang:master Aug 27, 2018
@qmx qmx deleted the crate-in-path branch August 27, 2018 21:58
@apiraino apiraino removed the P-high High priority label Feb 8, 2022
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. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

suggestions from other crates only work when an explicit extern crate is present