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

Even more thread-safety changes #49558

Merged
merged 25 commits into from
Apr 12, 2018
Merged

Even more thread-safety changes #49558

merged 25 commits into from
Apr 12, 2018

Conversation

Zoxc
Copy link
Contributor

@Zoxc Zoxc commented Apr 1, 2018

@TimNN
Copy link
Contributor

TimNN commented Apr 1, 2018

Your PR failed on Travis. 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.
Receiving objects: 100% (226/226), 21.51 KiB | 1001.00 KiB/s, done.
---
Resolving deltas: 100% (195/195), completed with 51 local objects.
---
[00:00:48] configure: rust.quiet-tests     := True
---
inux-gnu/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/release/deps --extern ena=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/libena-41ee9bc5ea3da918.rlib --extern serialize=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/libserialize-f27fded04dd31022.so --extern serialize=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/libserialize-f27fded04dd31022.rlib --extern parking_lot=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/libparking_lot-6bd95a7ae775536d.rlib --extern parking_lot_core=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/libparking_lot_core-6c88e041adb50659.rlib --extern stable_deref_trait=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/libstable_deref_trait-a98e5593087f41c8.rlib --extern log=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/liblog-7eebd272275b441b.rlib --extern cfg_if=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/libcfg_if-b4b92d371f521830.rlib` (exit code: 101)

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.

@TimNN
Copy link
Contributor

TimNN commented Apr 1, 2018

Your PR failed on Travis. 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.
Receiving objects: 100% (226/226), 21.93 KiB | 21.93 MiB/s, done.
---
Resolving deltas: 100% (195/195), completed with 52 local objects.
---
[00:00:47] configure: rust.quiet-tests     := True
---
[00:05:46] error[E0405]: cannot find trait `Sync` in module `std::sync`
[00:05:46]    --> librustc_data_structures/sync.rs:527:27
[00:05:46]     |
[00:05:46] 527 | unsafe impl<T> std::sync::Sync for OneThread<T> {}
[00:05:46]     |                           ^^^^ not found in `std::sync`
[00:05:46] help: possible candidates are found in other modules, you can import them into scope
[00:05:46]     |
[00:05:46] 32  | use core::prelude::v1::Sync;
[00:05:46]     |
[00:05:46] 32  | use std::marker::Sync;
[00:05:46]     |
[00:05:46] 32  | use std::prelude::v1::Sync;
[00:05:46]     |
[00:05:46] 32  | use sync::Sync;
[00:05:46]     |
[00:05:46]
[00:05:46] error[E0405]: cannot find trait `Send` in module `std::sync`
[00:05:46]    --> librustc_data_structures/sync.rs:528:27
[00:05:46]     |
[00:05:46] 528 | unsafe impl<T> std::sync::Send for OneThread<T> {}
[0x-gnu

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.

@TimNN
Copy link
Contributor

TimNN commented Apr 1, 2018

Your PR failed on Travis. 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.
Receiving objects: 100% (226/226), 21.90 KiB | 21.90 MiB/s, done.
---
Resolving deltas: 100% (195/195), completed with 52 local objects.
---
[00:00:49] configure: rust.quiet-tests     := True
---
113524 ./obj/build/bootstrap/debug/incremental/bootstrap-qe1dy92fk757/s-ezpmt7a8rw-1a89vxu-2mcuujfx21hz4
---
$ ls -lat $HOME/Library/Logs/DiagnosticReports/
ls: cannot access /home/travis/Library/Logs/DiagnosticReports/: No such file or directory
travis_time:end:083c2119:start=1522587957061991907,finish=1522587957068012656,duration=6020749
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:1130154f
$ find $HOME/Library/Logs/DiagnosticReports -type f -name '*.crash' -not -name '*.stage2-*.crash' -not -name 'com.apple.CoreSimulator.CoreSimulatorService-*.crash' -exec printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" {} \; -exec head -750 {} \; -exec echo travis_fold":"end:crashlog \; || true
find: `/home/travis/Library/Logs/DiagnosticReports': No such file or directory
travis_time:end:1130154f:start=1522587957073424224,finish=1522587957079213184,duration=5788960
travis_fold:end:after_failure.5
travis_fold:start:after_failure.6
travis_time:start:2f2caba8
$ dmesg | grep -i kill
[   10.100584] init: failsafe main process (1093) killed by TERM signal

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.

@Zoxc Zoxc force-pushed the sync-misc branch 2 times, most recently from d873356 to 0b4571c Compare April 2, 2018 02:45
@TimNN
Copy link
Contributor

TimNN commented Apr 2, 2018

Your PR failed on Travis. 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.
Resolving deltas: 100% (613828/613828), completed with 4868 local objects.
---
[00:00:42] configure: rust.quiet-tests     := True
---
[00:39:38] .........................................................................i..........................
[00:39:44] ................i...................................................................................
[00:39:48] ....................................................................................................
[00:39:52] ....................................................................................................
[00:39:55] ....................................................................................................
[00:40:00] ...........................................................................................F.....F..
[00:40:06] ....................................................................................................
[00:40:12] ....................................................................................................
[00:40:19] ...............................................................F............................i.......
[00:40:25] ................................................................i...................................
[00:40:31] ....................................................................................................
[00:40:39] ...............................................F....................................................
---
[00:40:47] 10    = help: items from traits can only be used if the trait is implemented and in scope
[00:40:47] 11    = note: the following traits define an item `is_empty`, perhaps you need to implement one of them:
[00:40:47] -            candidate #1: `std::iter::ExactSizeIterator`
[00:40:47] +            candidate #1: `core::str::StrExt`
[00:40:47] 13            candidate #2: `core::slice::SliceExt`
[00:40:47] -            candidate #3: `core::str::StrExt`
[00:40:47] +            candidate #3: `std::iter::ExactSizeIterator`
---
[00:40:47] /checkout/src/test/ui/update-references.sh '/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui' 'impl-trait/method-suggestion-no-duplication.rs'
[00:40:47]
[00:40:47] error: 1 errors occurred comparing output.
[00:40:47] status: exit code: 101
[00:40:47] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/impl-trait/method-suggestion-no-duplication.rs" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui" "--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/impl-trait/method-suggestion-no-duplication.stage2-x86_64-unknown-linux-gnu" "-Crpath" "-O" "-Zmiri" "-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/impl-trait/method-suggestion-no-duplication.stage2-x86_64-unknown-linux-gnu.aux" "-A" "unused"
---
[00:40:47] {"message":"no method named `is_empty` found for type `Foo` in the current scope","code":{"code":"E0599","explanation":"\nThis error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n               //        in the current scope\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/impl-trait/method-suggestion-no-duplication.rs","byte_start":510,"byte_end":521,"line_start":14,"line_end":14,"column_start":1,"column_end":12,"is_primary":false,"text":[{"text":"struct Foo;","highlight_start":1,"highlight_end":12}],"label":"method `is_empty` not found for this","suggested_replacement":null,"expansion":null},{"file_name":"/checkout/src/test/ui/impl-trait/method-suggestitrait/no-method-suggested-traits.rs" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui" "--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/impl-trait/no-method-suggested-traits.stage2-x86_64-unknown-linux-gnu" "-Crpath" "-O" "-Zmiri" "-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/impl-trait/no-method-suggested-traits.stage2-x86_64-unknown-linux-gnu.aux" "-A" "unused"
---
[00:40:47] {"message":"no method named `method` found for type `u32` in the current scope","code":{"code":"E0599","explanation":"\nThis error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n               //        in the current scope\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs","byte_start":801,"byte_end":807,"line_start":33,"line_end":33,"column_start":10,"column_end":16,"is_primary":true,"text":[{"text":"    1u32.method();","highlight_start":10,"highlight_end":16}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[{"message":"items from traits can only be used if the trait is in scope","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"the following traits are implemented but not in scope, perhaps add a `use` for one of them:","code":null,"level":"help","spans":[{"file_name":"/checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs","byte_start":552,"byte_end":552,"line_start":14,"line_end":14,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"struct Foo;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use foo::Bar;\n\n","expansion":null},{"file_name":"/checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs","byte_start":552,"byte_end":552,"line_start":14,"line_end":14,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"struct Foo;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use no_method_suggested_traits::foo::PubPub;\n\n","expansion":null},{"file_name":"/checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs","byte_start":552,"byte_end":552,"line_start":14,"line_end":14,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"struct Foo;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use no_method_suggested_traits::qux::PrivPub;\n\n","expansion":null},{"file_name":"/checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs","byte_start":552,"byte_end":552,"line_start":14,"line_end":14,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"struct Foo;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use no_method_suggested_traits::Reexported;\ait is implemented but not in scope, perhaps add a `use` for it:","code":null,"level":"help","spans":[{"file_name":"/checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs","byte_start":552,"byte_end":552,"line_start":14,"line_end":14,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"struct Foo;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use foo::Bar;\n\n","expansion":null}],"children":[],"rendered":null}],"rendered":"error[E0599]: no method named `method` found for type `char` in the current scope\n  --> /checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs:40:9\n   |\nLL |     'a'.method();\n   |         ^^^^^^\n   |\n   = help: items from traits can only be used if the trait is in scope\nhelp: the following trait is implemented but not in scope, perhaps add a `use` for it:\n   |\nLL | use foo::Bar;\n   |\n\n"}
[00:40:47] {"message":"no method named `method` found for type `std::rc::Rc<&mut std::boxed::Box<&char>>` in the current scope","code":{"code":"E0599","explanation":"\nThis error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n               //        in the current scope\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs","byte_start":1178,"byte_end":1184,"line_start":42,"line_end":42,"column_start":43,"column_end":49,"is_primary":true,"text":[{"text":"    std::rc::Rc::new(&mut Box::new(&'a')).method();","highlight_start":43,"highlight_end":49}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[{"message":"items from traits can only be used if the trait is in scope","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"the following trait is implemented but not in scope, perhaps add a `use` for it:","code":null,"level":"help","spans":[{"file_name":"/checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs","byte_start":552,"byte_end":552,"line_start":14,"line_end":14,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"struct Foo;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use foo::Bar;\n\n","expansion":null}],"children":[],"rendered":null}],"rendered":"error[E0599]: no method named `method` found for type `std::rc::Rc<&mut std::boxed::Box<&char>>` in the current scope\n  --> /checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs:42:43\n   |\nLL |     std::rc::Rc::new(&mut Box::new(&'a')).method();\n   |                                           ^^^^^^\n   |\n   = help: items from traits can only be used if the trait is in scope\nhelp: the following trait is implemented but not in scope, perhaps add a `use` for it:\n   |\nLL | use foo::Bar;\n   |\n\n"}
[00:40:47] thread 'main' panicked at 'Some tests failed', tools/compiletest/src/main.rs:478:22
[00:40:47] {"message":"no method named `method` found for type `i32` in the current scope","code":{"code":"E0599","explanation":"\nThis error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\nits::foo::PubPub`\n           candidate #4: `foo::Bar`\n\n"}
[00:40:47] {"message":"no method named `method2` found for type `u64` in the current scope","code":{"code":"E0599","explanation":"\nThis error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n               //        in the current scope\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs","byte_start":1497,"byte_end":1504,"line_start":55,"line_end":55,"column_start":10,"column_end":17,"is_primary":true,"text":[{"text":"    1u64.method2();","highlight_start":10,"highlight_end":17}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[{"message":"items from traits can only be used if the trait is implemented and in scope","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"the following trait defines an item `method2`, perhaps you need to implement it:\ncandidate #1: `foo::Bar`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error[E0599]: no method named `method2` found for type `u64` in the current scope\n  --> /checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs:55:10\n   |\nLL |     1u64.method2();\n   |          ^^^^^^^\n   |\n   = help: items from traits can only be used if the trait is implemented and in scope\n   = note: the following trait defines an item `method2`, perhaps you need to implement it:\n           candidate #1: `foo::Bar`\n\n"}
[00:40:47] {"message":"no method named `method2` found for type `std::rc::Rc<&mut std::boxed::Box<&u64>>` in the current scope","code":{"code":"E0599","explanation":"\nThis error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n               //        in the current scope\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs","byte_start":1582,"byte_end":1589,"line_start":57,"line_end":57,"column_start":44,"column_end":51,"is_primary":true,"text":[{"text":"    std::rc::Rc::new(&mut Box::new(&1u64)).method2();","highlight_start":44,"highlight_end":51}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[{"message":"items from traits can only be used if the trait is implemented and in scope","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"the following trait defines an item `method2`, perhaps you need to implement it:\ncandidate #1: `foo::Bar`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error[E0599]: no method named `method2` found for type `std::rc::Rc<&mut std::boxed::Box<&u64>>` in the current scope\n  --> /checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs:57:44\n   |\nLL |     std::rc::Rc::new(&mut Box::new(&1u64)).method2();\n   |                                            ^^^^^^^\n   |\n   = help: items from traits can only be used if the trait is implemented and in scope\n   = note: the following trait defines an item `method2`, perhaps you need to implement it:\n           candidate #1: `foo::Bar`\n\n"}
[00:40:47] {"message":"no method named `method2` found for type `no_method_suggested_traits::Foo` in the current scope","code":{"code":"E0599","explanation":"\nThis error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n               //        in the current scope\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs","byte_start":1661,"byte_end":1668,"line_start":60,"line_end":60,"column_start":37,"column_end":44,"is_primary":true,"text":[{"text":"    no_method_suggested_traits::Foo.method2();","highlight_start":37,"highlight_end":44}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[{"message":"items from traits can only be used if the trait is implemented and in scope","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"the following trait defines an item `method2`, perhaps you need to implement it:\ncandidate #1: `foo::Bar`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error[E0599]: no method named `method2` found for type `no_method_suggested_traits::Foo` in the current scope\n  --> /checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs:60:37\n   |\nLL |     no_method_suggested_traits::Foo.method2();\n   |                                     ^^^^^^^\n   |\n   = help: items from traits can only be used if the trait is implemented and in scope\n   = note: the following trait defines an item `method2`, perhaps you need to implement it:\n           candidate #1: `foo::Bar`\n\n"}
[00:40:47] {"message":"no method named `method2` found for type `std::rc::Rc<&mut std::boxed::Box<&no_method_suggested_traits::Foo>>` in the current scope","code":{"code":"E0599","explanation":"\nThis error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n               //        in the current scope\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs","byte_start":1773,"byte_end":1780,"line_start":62,"line_end":62,"column_start":71,"column_end":78,"is_primary":true,"text":[{"text":"    std::rc::Rc::new(&mut Box::new(&no_method_suggested_traits::Foo)).method2();","highlight_start":71,"highlight_end":78}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[{"message":"items from traits can only be used if the trait is implemented and in scope","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"the following trait defines an item `method2`, perhaps you need to implement it:\ncandidate #1: `foo::Bar`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error[E0599]: no method named `method2` found for type `std::rc::Rc<&mut std::boxed::Box<&no_method_suggested_traits::Foo>>` in the current scope\n  --> /checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs:62:71\n   |\nLL |     std::rc::Rc::new(&mut Box::new(&no_method_suggested_traits::Foo)).method2();\n   |                                                                       ^^^^^^^\n   |\n   = help: items from traits can only be used if the trait is implemented and in scope\n   = note: the following trait defines an item `method2`, perhaps you need to implement it:\n           candidate #1: `foo::Bar`\n\n"}
[00:40:47] {"message":"no method named `method2` found for type `no_method_suggested_traits::Bar` in the current scope","code":{"code":"E0599","explanation":"\nThis error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n               //        in the current scope\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs","byte_start":1854,"byte_end":1861,"line_start":64,"line_end":64,"column_start":40,"column_end":47,"is_primary":true,"text":[{"text":"    no_method_suggested_traits::Bar::X.method2();","highlight_start":40,"highlight_end":47}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[{"message":"items from traits can only be used if the trait is implemented and in scope","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"the following trait defines an item `method2`, perhaps you need to implement it:\ncandidate #1: `foo::Bar`","code":null,"level":"note","sno method named `chocolate` found for type `Mouth`\n               //        in the current scope\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs","byte_start":2104,"byte_end":2111,"line_start":71,"line_end":71,"column_start":43,"column_end":50,"is_primary":true,"text":[{"text":"    std::rc::Rc::new(&mut Box::new(&Foo)).method3();","highlight_start":43,"highlight_end":50}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[{"message":"items from traits can only be used if the trait is implemented and in scope","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"the following trait defines an item `method3`, perhaps you need to implement it:\ncandidate #1: `no_method_suggested_traits::foo::PubPub`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error[E0599]: no method named `method3` found for type `std::rc::Rc<&mut std::boxed::Box<&Foo>>` in the current scope\n  --> /checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs:71:43\n   |\nLL |     std::rc::Rc::new(&mut Box::new(&Foo)).method3();\n   |                                           ^^^^^^^\n   |\n   = help: items from traits can only be used if the trait is implemented and in scope\n   = note: the following trait defines an item `method3`, perhaps you need to implement it:\n           candidate #1: `no_method_suggested_traits::foo::PubPub`\n\n"}
[00:40:47] {"message":"no method named `method3` found for type `Bar` in the current scope","code":{"code":"E0599","explanation":"\nThis error occurs when a method is used ot scope\n  --> /checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs:75:46\n   |\nLL |     std::rc::Rc::new(&mut Box::new(&Bar::X)).method3();\n   |                                              ^^^^^^^\n   |\n   = help: items from traits can only be used if the trait is implemented and in scope\n   = note: the following trait defines an item `method3`, perhaps you need to implement it:\n           candidate #1: `no_method_suggested_traits::foo::PubPub`\n\n"}
[00:40:47] {"message":"no method named `method3` found for type `usize` in the current scope","code":{"code":"E0599","explanation":"\nThis error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n               //        in the current scope\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs","byte_start":2327,"byte_end":2334,"line_start":79,"line_end":79,"column_start":13,"column_end":20,"is_primary":true,"text":[{"text":"    1_usize.method3(); //~ ERROR no method named","highlight_start":13,"highlight_end":20}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[],"rendered":"error[E0599]: no method named `method3` found for type `usize` in the current scope\n  --> /checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs:79:13\n   |\nLL |     1_usize.method3(); //~ ERROR no method named\n   |             ^^^^^^^\n\n"}
[00:40:47] {"message":"no method named `method3` found for type `std::rc::Rc<&mutl":"error","spans":[{"file_name":"/checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs","byte_start":2483,"byte_end":2490,"line_start":81,"line_end":81,"column_start":37,"column_end":44,"is_primary":true,"text":[{"text":"    no_method_suggested_traits::Foo.method3();  //~ ERROR no method named","highlight_start":37,"highlight_end":44}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[],"rendered":"error[E0599]: no method named `method3` found for type `no_method_suggested_traits::Foo` in the current scope\n  --> /checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs:81:37\n   |\nLL |     no_method_suggested_traits::Foo.method3();  //~ ERROR no method named\n   |                                     ^^^^^^^\n\n"}
[00:40:47] {"message":"no method named `method3` found for type `std::rc::Rc<&mut std::boxed::Box<&no_method_suggested_traits::Foo>>` in the current scope","code":{"code":"E0599","explanation":"\nThis error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n               //        in the current scope\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs","byte_start":2591,"byte_end":2598,"line_start":82,"line_end":82,"column_start":71,"column_end":78,"is_primary":true,"text":[{"text":"    std::rc::Rc::new(&mut Box::new(&no_method_suggested_traits::Foo)).method3();","highlight_start":71,"highlight_end":78}],"label":null,"suggested_replacement":                      ^^^^^^^\n\n"}
[00:40:47] {"message":"no method named `method3` found for type `std::rc::Rc<&mut std::boxed::Box<&no_method_suggested_traits::Bar>>` in the current scope","code":{"code":"E0599","explanation":"\nThis error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n               //        in the current scope\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs","byte_start":2783,"byte_end":2790,"line_start":85,"line_end":85,"column_start":74,"column_end":81,"is_primary":true,"text":[{"text":"    std::rc::Rc::new(&mut Box::new(&no_method_suggested_traits::Bar::X)).method3();","highlight_start":74,"highlight_end":81}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[],"rendered":"error[E0599]: no method named `method3` found for type `std::rc::Rc<&mut std::boxed::Box<&no_method_suggested_traits::Bar>>` in the current scope\n  --> /checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs:85:74\n   |\nLL |     std::rc::Rc::new(&mut Box::new(&no_method_suggested_traits::Bar::X)).method3();\n   |                                                                          ^^^^^^^\n\n"}
[00:40:47] {"message":"aborting due to 24 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to 24 previous errors\n\n"}
[00:40:47] {"message":"For more information about this error, try `rustc --explain E0599`ent":null,"expansion":null},{"file_name":"/checkout/src/test/ui/method-call-err-msg.rs","byte_start":746,"byte_end":750,"line_start":22,"line_end":22,"column_start":7,"column_end":11,"is_primary":true,"text":[{"text":"    x.zero(0)   //~ ERROR this function takes 0 parameters but 1 parameter was supplied","highlight_start":7,"highlight_end":11}],"label":"expected 0 parameters","suggested_replacement":null,"expansion":null}],"children":[],"rendered":"error[E0061]: this function takes 0 parameters but 1 parameter was supplied\n  --> /checkout/src/test/ui/method-call-err-msg.rs:22:7\n   |\nLL |     fn zero(self) -> Foo { self }\n   |     -------------------- defined here\n...\nLL |     x.zero(0)   //~ ERROR this function takes 0 parameters but 1 parameter was supplied\n   |       ^^^^ expected 0 parameters\n\n"}
[00:40:47] {"message":"this function takes 1 parameter but 0 parameters were supplied","code":{"code":"E0061","explanation":"\nThe number of arguments passed to a function must match the number of arguments\nspecified in the function signature.\n\nFor example, a function like:\n\n```\nfn f(a: u16, b: &str) {}\n```\n\nMust always be called with exactly two arguments, e.g. `f(2, \"test\")`.\n\nNote that Rust does not have a notion of optional function arguments or\nvariadic functions (except for its C-FFI).\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/method-call-err-msg.rs","byte_start":616,"byte_end":645,"line_start":16,"line_end":16,"column_start":5,"column_end":34,"is_primary":false,"text":[{"text":"    fn one(self, _: isize) -> Foo { self }","highlight_start":5,"highlight_end":34}],"label":"definee following traits define an item `take`, perhaps you need to implement one of them:\n           candidate #1: `std::iter::Iterator`\n           candidate #2: `std::io::Read`\n\n"}
[00:40:47] {"message":"aborting due to 4 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to 4 previous errors\n\n"}
[00:40:47] {"message":"Some errors occurred: E0061, E0599.","code":null,"level":"","spans":[],"children":[],"rendered":"Some errors occurred: E0061, E0599.\n"}
[00:40:47] {"message":"For more information about an error, try `rustc --explain E0061`.","code":null,"level":"","spans":[],"children":[],"rendered":"For more information about an error, try `rustc --explain E0061`.\n"}
---
[00:40:47] 26    = help: to disambiguate the method call, write `UnusedTrait::f9(u, 342)` instead
[00:40:47] 27    = help: items from traits can only be used if the trait is implemented and in scope
[00:40:47] 28    = note: the following traits define an item `f9`, perhaps you need to implement one of them:
[00:40:47] -            candidate #1: `CtxtFn`
[00:40:47] +            candidate #1: `UnusedTrait`
[00:40:47] 30            candidate #2: `OtherTrait`
[00:40:47] -            candidate #3: `UnusedTrait`
[00:40:47] +            candidate #3: `CtxtFn`
[00:40:47] 32
[00:40:47] 33 error[E0599]: no method named `fff` found for type `Myisize` in the current scope
[00:40:47] 34   --> $DIR/issue-7575.rs:74:30
[00:40:47]
[00:40:47]
[00:40:47] The actual stderr differed from the expected stderr.
[00:40:47] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/span/issue-7575.stderr
[00:40:47] To update references, run this command from build directory:
[00:40:47] /checkout/src/test/ui/update-references.sh '/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui' 'span/issue-7575.rs'
[00:40:47]
[00:40:47] error: 1 errors occurred comparing output.
[00:40:47] status: exit code: 101
[00:40:47] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/span/issue-7575.rs" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui" "--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/span/issue-7575.stage2-x86_64-unknown-linux-gnu" "-Crpath" "-O" "-Zmiri" "-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/span/issue-7575.stage2-x86_64-unknown-linux-gnu.aux" "-A" "unused"
---
[00:40:47] {"message":"no method named `f9` found for type `usize` in the current scope","code":{"code":"E0599","explanation":"\nThis error occurs when a methonown-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-3.9/bin/FileCheck" "--host-rustcflags" "-Crpath -O -Zmiri -Zunstable-options " "--target-rustcflags" "-Crpath -O -Zmiri -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" "3.9.1\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:40:47] expected success, got: exit code: 101
[00:40:47]
[00:40:47]
[00:40:47] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[00:40:47] Build completed unsuccessfully in 0:02:00
[00:40:47] Makefile:58: recipe for target 'check' failed
[00:40:47] make: *** [check] Error 1
---
$ cat obj/tmp/sccache.log

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.

@TimNN
Copy link
Contributor

TimNN commented Apr 2, 2018

Your PR failed on Travis. 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.
Resolving deltas: 100% (613795/613795), completed with 4867 local objects.
---
[00:00:42] configure: rust.quiet-tests     := True
---
[00:38:53] .........................................................................i..........................
[00:38:59] ................i...................................................................................
[00:39:03] ....................................................................................................
[00:39:07] ....................................................................................................
[00:39:10] ....................................................................................................
[00:39:15] ...........................................................................................F.....F..
[00:39:21] ....................................................................................................
[00:39:27] ....................................................................................................
[00:39:33] ...............................................................F............................i.......
[00:39:40] ................................................................i...................................
[00:39:46] ....................................................................................................
[00:39:53] ...............................................F....................................................
[00:40:01] ....................................................................................................
j/build/x86_64-unknown-linux-gnu/test/ui" "--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/impl-trait/method-suggestion-no-duplication.stage2-x86_64-unknown-linux-gnu" "-Crpath" "-O" "-Zmiri" "-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/impl-trait/method-suggestion-no-duplication.stage2-x86_64-unknown-linux-gnu.aux" "-A" "unused"
---
[00:40:01] {"message":"no method named `is_empty` found for type `Foo` in the current scope","code":{"code":"E0599","explanation":"\nThis error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n               //        in the current scope\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/impl-trait/method-suggestion-no-duplication.rs","byte_start":510,"byte_end":521,"line_start":14,"line_end":14,"column_start":1,"column_end":12,"is_primary":false,"text":[{"text":"struct Foo;","highlight_start":1,"highlight_end":12}],"label":"method `is_empty` not found for this","suggested_replacement":null,"expansion":null},{"file_name":"/checkout/src/test/ui/impl-trait/method-suggestion-no-duplication.rs","byte_start":589,"byte_end":597,"line_start":19,"line_end":19,"column_start":15,"column_end":23,"is_primary":true,"text":[{"text":"    foo(|s| s.is_empty());","highlight_start":15,"highlight_end":23}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[{"message":"items from traits can only be used if the trait is implemented and in scope","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"the following traits define an item `is_empty`, perhaps you need to implement one of them:\ncandidate #1: `core::str::StrExt`\ncandidate #2: `core::slice::SliceExt`\ncandidate #3: `std::iter::ExactSizeIterator`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error[E0599]: no method named `is_empty` found for type `Foo` in the current scope\n  --> /checkout/src/test/ui/impl-trait/method-suggestion-no-duplication.rs:19:15\n   |\nLL | struct Foo;\n   | ----------- method `is_empty` not found for this\n...\nLL |     foo(|s| s.is_empty());\n   |               ^^^^^^^^\n   |\n   = help: items from traits can only be used if the trait is implemented and in scope\n   = note: the following traits define an item `is_empty`, perhaps you need to implement one of them:\n           candidate #1: `core::str::StrExt`\n           candidate #2: `core::slice::SliceExt`\n           candidate #3: `std::iter::ExactSizeIterator`\n\n"}
[00:40:01] {"message":"aborting due to previous error","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to previous error\n\n"}
[00:40:01] {"message":"For more information about this error  |
[00:40:01] 107    = help: items from traits can only be used if the trait is implemented and in scope
[00:40:01] 108    = note: the following traits define an item `method`, perhaps you need to implement one of them:
[00:40:01] -            candidate #1: `foo::Bar`
[00:40:01] -            candidate #2: `no_method_suggested_traits::foo::PubPub`
[00:40:01] -            candidate #3: `no_method_suggested_traits::qux::PrivPub`
[00:40:01] -            candidate #4: `no_method_suggested_traits::Reexported`
[00:40:01] +            candidate #1: `no_method_suggested_traits::Reexported`
[00:40:01] +            candidate #2: `no_method_suggested_traits::qux::PrivPub`
[00:40:01] +            candidate #3: `no_method_suggested_traits::foo::PubPub`
[00:40:01] +            candidate #4: `foo::Bar`
[00:40:01] 113
[00:40:01] 114 error[E0599]: no method named `method2` found for type `u64` in the current scope
---
[00:40:01] /checkout/src/test/ui/update-references.sh '/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui' 'impl-trait/no-method-suggested-traits.rs'
[00:40:01]
[00:40:01] error: 1 errors occurred comparing output.
[00:40:01] status: exit code: 101
[00:40:01] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui" "--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/impl-trait/no-method-suggested-traits.stage2-x86_64-unknown-linux-gnu" "-Crpath" "-O" "-Zmiri" "-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/impl-trait/no-method-suggested-traits.stage2-x86_64-unknown-linux-gnu.aux" "-A" "unused"
---
[00:40:01] {"message":"no method named `method` found for type `u32` in the current scope","code":{"code":"E0599","explanation":"\nThis error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n               //        in the current scope\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs","byte_start":801,"byte_end":807,"line_start":33,"line_end":33,"column_start":10,"column_end":16,"is_primary":true,"text":[{"text":"    1u32.method();","highlight_start":10,"highlight_end":16}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[{"message":"items from traits can only be used if the trait is in scope","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"the following traits are implemented but not in scope, perhaps add a `use` for one of them:","code":null,"level":"help","spans":[{"file_name":"/checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs","byte_start":552,"byte_end":552,"line_start":14,"line_end":14,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"struct Foo;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use foo::Bar;\n\n","expansion":null},{"file_name":"/checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs","byte_start":552,"byte_end":552,"line_start":14,"line_end":14,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"struct Foo;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use no_method_suggested_traits::foo::PubPub;\n\n","expansion":null},{"file_name":"/checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs","byte_start":552,"byte_end":552,"line_start":14,"line_end":14,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"struct Foo;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use no_method_suggested_traits::qux::PrivPub;\n\n","expansion":null},{"file_name":"/checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs","byte_start":552,"byte_end":552,"line_start":14,"line_end":14,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"struct Foo;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use no_method_suggested_traits::Reexported;\n\n","expansion":null}],"children":[],"rendered":null}],"rendered":"error[E0599]: no method named `method` found for type `u32` in the current scope\n  --> /checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs:33:10\n   |\nLL |     1u32.method();\n   |          ^^^^^^\n   |\n   = help: items from traits can only be used if the trait is in scope\nhelp: the following traits are implemented but not in scope, perhaps add a `use` for one of them:\n   |\nLL | use foo::Bar;\n   |\nLL | use no_method_suggested_traits::foo::PubPub;\n   |\nLL | use no_method_suggested_traits::qux::PrivPub;\n   |\nLL | use no_method_suggested_traits::Reexported;\n   |\n\n"}
[00:40:01] {"message":"no method named `method` found for type `std::rc::Rc<&mut std::boxed::Box<&u32>>` in the current scope","code":{"code":"E0599","explanation":"\nThis error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n               //        in the current scope\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs","byte_start":953,"byte_end":959,"line_start":36,"line_end":36,"column_start":44,"column_end":50,"is_primary":true,"text":[{"text":"    std::rc::Rc::new(&mut Box::new(&1u32)).method();","highlight_start":44,"highlight_end":50}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[{"message":"items from traits can only be used if the trait is in scope","code":null,"level":"help","spans":[],"children":ait is implemented but not in scope, perhaps add a `use` for it:","code":null,"level":"help","spans":[{"file_name":"/checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs","byte_start":552,"byte_end":552,"line_start":14,"line_end":14,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"struct Foo;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use foo::Bar;\n\n","expansion":null}],"children":[],"rendered":null}],"rendered":"error[E0599]: no method named `method` found for type `char` in the current scope\n  --> /checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs:40:9\n   |\nLL |     'a'.method();\n   |         ^^^^^^\n   |\n   = help: items from traits can only be used if the trait is in scope\nhelp: the following trait is implemented but not in scope, perhaps add a `use` for it:\n   |\nLL | use foo::Bar;\n   |\n\n"}
[00:40:01] {"message":"no method named `method` found for type `std::rc::Rc<&mut std::boxed::Box<&char>>` in the current scope","code":{"code":"E0599","explanation":"\nThis error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n               //        in the current scope\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs","byte_start":1178,"byte_end":1184,"line_start":42,"line_end":42,"column_start":43,"column_end":49,"is_primary":true,"text":[{"text":"    std::rc::Rc::new(&mut Box::new(&'a')).method();","highlight_start":43,"highlight_end":49}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[{"message":"items from traits can only be used if the trait is in scope","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"the following trait is implemented but not in scope, perhaps add a `use` for it:","code":null,"level":"help","spans":[{"file_name":"/checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs","byte_start":552,"byte_end":552,"line_start":14,"line_end":14,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"struct Foo;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use foo::Bar;\n\n","expansion":null}],"children":[],"rendered":null}],"rendered":"error[E0599]: no method named `method` found for type `std::rc::Rc<&mut std::boxed::Box<&char>>` in the current scope\n  --> /checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs:42:43\n   |\nLL |     std::rc::Rc::new(&mut Box::new(&'a')).method();\n   |                                           ^^^^^^\n   |\n   = help: items from traits can only be used if the trait is in scope\nhelp: the following trait is implemented but not in scope, perhaps add a `use` for it:\n   |\nLL | use foo::Bar;\n   |\n\n"}
[00:40:01] {"message":"no method named `method` found for type `i32` in the current scope","code":{"code":"E0599","explanation":"\nThis error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n               //        in the current scope\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs","byte_start":1229,"byte_end":1235,"line_start":45,"line_end":45,"column_start":10,"column_end":16,"is_primary":true,"text":[{"text":"    1i32.method();","highlight_start":10,"highlight_end":16}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[{"message":"items from traits can only be used if the trait is in scope","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"the following trait is implemented but not in scope, perhaps add a `use` for it:","code":null,"level":"help","spans":[{"file_name":"/checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs","byte_start":552,"byte_end":552,"line_start":14,"line_end":14,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"struct Foo;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use no_method_suggested_traits::foo::PubPub;\n\n","expansion":null}],"children":[],"rendered":null}],"rendered":"error[E0599]: no method named `method` found for type `i32` in the current scope\n  --> /checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs:45:10\n   |\nLL |     1i32.method();\n   |          ^^^^^^\n   |\n   = help: items from traits can only be used if the trait is in scope\nhelp: the following trait is implemented but not in scope, perhaps add a `use` for it:\n   |\nLL | use no_method_suggested_traits::foo::PubPub;\n   |\n\n"}
[00:40:01] {"message":"no method named `method` found for type `std::rc::Rc<&mut std::boxed::Box<&i32>>` in the current scope","code":{"code":"E0599","explanation":"\nThis error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n               //        in the current scope\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs","byte_start":1313,"byte_end":1319,"line_start":47,"line_end":47,"column_start":44,"column_end":50,"is_primary":true,"text":[{"text":"    std::rc::Rc::new(&mut Box::new(&1i32)).method();","highlight_start":44,"highlight_end":50}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[{"message":"items from traits can only be used if the trait is in scope","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"the following trait is implemented but not in scope, perhaps add a `use` for it:","code":null,"level":"help","spans":[{"file_name":"/checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs","byte_start":552,"byte_end":552,"line_start":14,"line_end":14,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"struct Foo;","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"use no_method_suggested_traits::foo::PubPub;\n\n","expansion":null}],"children":[],"rendered":null}],"rendered":"error[E0599]: no method named `method` found for type `std::rc::Rc<&mut std::boxed::Box<&i32>>` in the current scope\n  --> /checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs:47:44\n   |\nLll},{"message":"the following traits define an item `method`, perhaps you need to implement one of them:\ncandidate #1: `no_method_suggested_traits::Reexported`\ncandidate #2: `no_method_suggested_traits::qux::PrivPub`\ncandidate #3: `no_method_suggested_traits::foo::PubPub`\ncandidate #4: `foo::Bar`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error[E0599]: no method named `method` found for type `Foo` in the current scope\n  --> /checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs:50:9\n   |\nLL | struct Foo;\n   | ----------- method `method` not found for this\n...\nLL |     Foo.method();\n   |         ^^^^^^\n   |\n   = help: items from traits can only be used if the trait is implemented and in scope\n   = note: the following traits define an item `method`, perhaps you need to implement one of them:\n           candidate #1: `no_method_suggested_traits::Reexported`\n           candidate #2: `no_method_suggested_traits::qux::PrivPub`\n           candidate #3: `no_method_suggested_traits::foo::PubPub`\n           candidate #4: `foo::Bar`\n\n"}
[00:40:01] {"message":"no method named `method` found for type `std::rc::Rc<&mut std::boxed::Box<&Foo>>` in the current scope","code":{"code":"E0599","explanation":"\nThis error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n               //        in the current scope\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs","byte_start":1446,"byte_end":1452,"line_start":52,"line_end":52,"column_start":43,"column_end":49,"is_primary":true,"text":[{"text":"    std::rc::Rc::new(&mut Box::new(&Foo)).method();","highlight_start":43,"highlight_end":49}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[{"message":"items from traits can only be used if the trait is implemented and in scope","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"the following traits define an item `method`, perhaps you need to implement one of them:\ncandidate #1: `no_method_suggested_traits::Reexported`\ncandidate #2: `no_method_suggested_traits::qux::PrivPub`\ncandidate #3: `no_method_suggested_traits::foo::PubPub`\ncandidate #4: `foo::Bar`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error[E0599]: no method named `method` found for type `std::rc::Rc<&mut std::boxed::Box<&Foo>>` in the current scope\n  --> /checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs:52:43\n   |\nLL |     std::rc::Rc::new(&mut Box::new(&Foo)).method();\n   |                                           ^^^^^^\n   |\n   = help: items from traits can only be used if the trait is implemented and in scope\n   = note: the following traits define an item `method`, perhaps you need to implement one of them:\n           candidate #1: `no_method_suggested_traits::Reexported`\n           candidate #2: `no_method_suggested_traits::qux::PrivPub`\n           candidate #3: `no_method_suggested_traits::foo::PubPub`\n           candidate #4: `foo::Bar`\n\n"}
[00:40:01] {"message":"no method ntd::boxed::Box<&u64>>` in the current scope","code":{"code":"E0599","explanation":"\nThis error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n               //        in the current scope\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs","byte_start":1582,"byte_end":1589,"line_start":57,"line_end":57,"column_start":44,"column_end":51,"is_primary":true,"text":[{"text":"    std::rc::Rc::new(&mut Box::new(&1u64)).method2();","highlight_start":44,"highlight_end":51}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[{"message":"items from traits can only be used if the trait is implemented and in scope","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"the following trait defines an item `method2`, perhaps you need to implement it:\ncandidate #1: `foo::Bar`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error[E0599]: no method named `method2` found for type `std::rc::Rc<&mut std::boxed::Box<&u64>>` in the current scope\n  --> /checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs:57:44\n   |\nLL |     std::rc::Rc::new(&mut Box::new(&1u64)).method2();\n   |                                            ^^^^^^^\n   |\n   = help: items from traits can only be used if the trait is implemented and in scope\n   = note: the following trait defines an item `method2`, perhaps you need to implement it:\n ,"rendered":null},{"message":"the following trait defines an item `method2`, perhaps you need to implement it:\ncandidate #1: `foo::Bar`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error[E0599]: no method named `method2` found for type `std::rc::Rc<&mut std::boxed::Box<&no_method_suggested_traits::Bar>>` in the current scope\n  --> /checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs:66:74\n   |\nLL |     std::rc::Rc::new(&mut Box::new(&no_method_suggested_traits::Bar::X)).method2();\n   |                                                                          ^^^^^^^\n   |\n   = help: items from traits can only be used if the trait is implemented and in scope\n   = note: the following trait defines an item `method2`, perhaps you need to implement it:\n           candidate #1: `foo::Bar`\n\n"}
[00:40:01] {"message":"no method named `method3` found for type `Foo` in the current scope","code":{"code":"E0599","explanation":"\nThis error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n               //        in the current scope\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs","byte_start":552,"byte_end":563,"line_start":14,"line_end":14,"column_start":1,"column_end":12,"is_primary":false,"text":[{"text":"struct Foo;","highlight_start":1,"highlight_end":12}],"label":"method `method3` not found for this","suggested_replacement":null,"expansion":null},{"file_name":"/checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs","byte_start":2020,"byte_end":2027,"line_start":69,"line_end":69,"column_start":9,"column_end":16,"is_primary":true,"text":[{"text":"    Foo.method3();","highlight_start":9,"highlight_end":16}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[{"message":"items from traits can only be used if the trait is implemented and in scope","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"the following trait defines an item `method3`, perhaps you need to implement it:\ncandidate #1: `no_method_suggested_traits::foo::PubPub`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error[E0599]: no method named `method3` found for type `Foo` in the current scope\n  --> /checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs:69:9\n   |\nLL | struct Foo;\n   | ----------- method `method3` not found for this\n...\nLL |     Foo.method3();\n   |         ^^^^^^^\n   |\n   = help: items from traits can only be used if the trait is implemented and in scope\n   = note: the following trait defines an item `method3`, perhaps you need to implement it:\n           candidate #1: `no_method_suggested_traits::foo::PubPub`\n\n"}
[00:40:01] {"message":"no method named `method3` found for type `std::rc::Rc<&mut std::boxed::Box<&Foo>>` in the current scope","code":{"code":"E0599","explanation":"\nThis error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error:           ^^^^^^^\n   |\n   = help: items from traits can only be used if the trait is implemented and in scope\n   = note: the following trait defines an item `method3`, perhaps you need to implement it:\n           candidate #1: `no_method_suggested_traits::foo::PubPub`\n\n"}
[00:40:01] {"message":"no method named `method3` found for type `std::rc::Rc<&mut std::boxed::Box<&Bar>>` in the current scope","code":{"code":"E0599","explanation":"\nThis error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n               //        in the current scope\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs","byte_start":2244,"byte_end":2251,"line_start":75,"line_end":75,"column_start":46,"column_end":53,"is_primary":true,"text":[{"text":"    std::rc::Rc::new(&mut Box::new(&Bar::X)).method3();","highlight_start":46,"highlight_end":53}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[{"message":"items from traits can only be used if the trait is implemented and in scope","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"the following trait defines an item `method3`, perhaps you need to implement it:\ncandidate #1: `no_method_suggested_traits::foo::PubPub`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error[E0599]: no method named `method3` found for type `std::rc::Rc<&mut std::boxed::Box<&Bar>>` in the current scope\n  --> /checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs:75:46\n   |\nLL |     std::rc::Rc::new(&mut Box::new(&Bar::X)).method3();\n   |                                              ^^^^^^^\n   |\n   = help: items from traits can only be used if the trait is implemented and in scope\n   = note: the following trait defines an item `method3`, perhaps you need to implement it:\n           candidate #1: `no_method_suggested_traits::foo::PubPub`\n\n"}
[00:40:01] {"message":"no method named `method3` found for type `usize` in the current scope","code":{"code":"E0599","explanation":"\nThis error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n               //        in the current scope\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs","byte_start":2327,"byte_end":2334,"line_start":79,"line_end":79,"column_start":13,"column_end":20,"is_primary":true,"text":[{"text":"    1_usize.method3(); //~ ERROR no method named","highlight_start":13,"highlight_end":20}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[],"rendered":"error[E0599]: no method named `method3` found for type `usize` in the current scope\n  --> /checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs:79:13\n   |\nLL |     1_usize.method3(); //~ ERROR no method named\n   |             ^^^^^^^\n\n"}
[00:40:01] {"message":"no method named `method3` found for type `std::rc::Rc<&mut std::boxed::Box<&usize>>` in the current scope","code":{"code":"E0599","explanation":"\nThis error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n               //        in the current scope\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs","byte_start":2410,"byte_end":2417,"line_start":80,"line_end":80,"column_start":47,"column_end":54,"is_primary":true,"text":[{"text":"    std::rc::Rc::new(&mut Box::new(&1_usize)).method3(); //~ ERROR no method named","highlight_start":47,"highlight_end":54}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[],"rendered":"error[E0599]: no method named `method3` found for type `std::rc::Rc<&mut std::boxed::Box<&usize>>` in the current scope\n  --> /checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs:80:47\n   |\nLL |     std::rc::Rc::new(&mut Box::new(&1_usize)).method3(); //~ ERROR no method named\n   |                                               ^^^^^^^\n\n"}
[00:40:01] {"message":"no method named `method3` found for type `no_method_suggested_traits::Foo` in the current scope","code":{"code":"E0599","explanation":"\nThis error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n               //        in the current scope\n```\n"},"levenull,"expansion":null}],"children":[],"rendered":"error[E0599]: no method named `method3` found for type `std::rc::Rc<&mut std::boxed::Box<&no_method_suggested_traits::Foo>>` in the current scope\n  --> /checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs:82:71\n   |\nLL |     std::rc::Rc::new(&mut Box::new(&no_method_suggested_traits::Foo)).method3();\n   |                                                                       ^^^^^^^\n\n"}
[00:40:01] {"message":"no method named `method3` found for type `no_method_suggested_traits::Bar` in the current scope","code":{"code":"E0599","explanation":"\nThis error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n               //        in the current scope\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs","byte_start":2672,"byte_end":2679,"line_start":84,"line_end":84,"column_start":40,"column_end":47,"is_primary":true,"text":[{"text":"    no_method_suggested_traits::Bar::X.method3();  //~ ERROR no method named","highlight_start":40,"highlight_end":47}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[],"rendered":"error[E0599]: no method named `method3` found for type `no_method_suggested_traits::Bar` in the current scope\n  --> /checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs:84:40\n   |\nLL |     no_method_suggested_traits::Bar::X.method3();  //~ ERROR no method named\n   |                                        ^^^^^^^\n\n"}
[00:40:01] {"message":"no method named `method3` found for type `std::rc::Rc<&mut std::boxed::Box<&no_method_suggested_traits::Bar>>` in the current scope","code":{"code":"E0599","explanation":"\nThis error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n               //        in the current scope\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs","byte_start":2783,"byte_end":2790,"line_start":85,"line_end":85,"column_start":74,"column_end":81,"is_primary":true,"text":[{"text":"    std::rc::Rc::new(&mut Box::new(&no_method_suggested_traits::Bar::X)).method3();","highlight_start":74,"highlight_end":81}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[],"rendered":"error[E0599]: no method named `method3` found for type `std::rc::Rc<&mut std::boxed::Box<&no_method_suggested_traits::Bar>>` in the current scope\n  --> /checkout/src/test/ui/impl-trait/no-method-suggested-traits.rs:85:74\n   |\nLL |     std::rc::Rc::new(&mut Box::new(&no_method_suggested_traits::Bar::X)).method3();\n   |                                                                          ^^^^^^^\n\n"}
[00:40:01] {"message":"aborting due to 24 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to 24 previous errors\n\n"}
[00:40:01] {"message":"For more information about this error, try `rustc --explain E0599`.","code":null,"level":"","spans":[],"children":[],"rendered":"For more information about this error, try `rustc --explain E0599`.\n"}
---
[00:40:01] 38            `&mut Foo : std::iter::Iterator`
[00:40:01] 39    = help: items from traits can only be used if the trait is implemented and in scope
[00:40:01] 40    = note: the following traits define an item `take`, perhaps you need to implement one of them:
[00:40:01] -            candidate #1: `std::io::Read`
[00:40:01] -            candidate #2: `std::iter::Iterator`
[00:40:01] +            candidate #1: `std::iter::Iterator`
[00:40:01] +            candidate #2: `std::io::Read`
---
[00:40:01] /checkout/src/test/ui/update-references.sh '/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui' 'method-call-err-msg.rs'
[00:40:01]
[00:40:01] error: 1 errors occurred comparing output.
[00:40:01] status: exit code: 101
[00:40:01] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/method-call-err-msg.rs" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui" "--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/method-call-err-msg.stage2-x86_64-unknown-linux-gnu" "-Crpath" "-O" "-Zmiri" "-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/method-call-err-msg.stage2-x86_64-unknown-linux-gnu.aux" "-A" "unused"
---
[00:40:01] {"message":"this function takes 0 parameters but 1 parameter was supplied","code":{"code":"E0061","explanation":"\nThe number of arguments passed to a function must match the number of arguments\nspecified in the function signature.\n\nFor example, a function like:\n\n```\nfn f(a: u16, b: &str) {}\n```\n\nMust always be called with exactly two arguments, e.g. `f(2, \"test\")`.\n\nNote that Rust does not have a notion of optional function arguments or\nvariadic functions (except for its C-FFI).\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/method-call-err-msg.rs","byte_start":582,"byte_end":602,"line_start":15,"line_end":15,"column_start":5,"column_end":25,"is_primary":false,"text":[{"text":"    fn zero(self) -> Foo { self }","highlight_start":5,"highlight_end":25}],"label":"defined here","suggested_replacement":null,"expansion":null},{"file_name":"/checkout/src/test/ui/method-call-err-msg.rs","byte_start":746,"byte_end":750,"line_start":22,"line_end":22,"column_start":7,"column_end":11,"is_primary":true,"text":[{"text":"    x.zero(0)   //~ ERROR this function takes 0 parameters but 1 parameter was supplied","highlight_start":7,"highlight_end":11}],"label":"expected 0 parameters","suggested_replacement":null,"expansion":null}],"children":[],"rendered":"error[E0061]: this function takes 0 parameters but 1 parameter was supplied\n  --> /checkout/src/test/ui/method-call-err-msg.rs:22:7\n   |\nLL |     fn zero(self) -> Foo { self }\n   |     -------------------- defined here\n...\nLL |     x.zero(0)   //~ ERROR this function takes 0 parameters but 1 parameter was supplied\n   |       ^^^^ expected 0 parameters\n\n"}
[00:40:01] {"message":"this function takes 1 parameter but 0 parameters were supplied","code":{"code":"E0061","explanation":"\nThe number of arguments passed to a function must match the number of arguments\nspecified in the function signature.\n\nFor example, a function like:\n\n```\nfn f(a: u16, b: &str) {}\n```\n\nMust always be called with exactly two arguments, e.g. `f(2, \"test\")`.\n\nNote that Rust does not have a notion of optional function arguments or\nvariadic functions (except for its C-FFI).\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/method-call-err-msg.rs","byte_start":616,"byte_end":645,"line_start":16,"line_end":16,"column_start":5,"column_end":34,"is_primary":false,"text":[{"text":"    fn one(self, _: isize) -> Foo { self }","highlight_start":5,"highlight_end":34}],"label":"defined `take` not found for this","suggested_replacement":null,"expansion":null},{"file_name":"/checkout/src/test/ui/method-call-err-msg.rs","byte_start":1042,"byte_end":1046,"line_start":28,"line_end":28,"column_start":7,"column_end":11,"is_primary":true,"text":[{"text":"     .take()    //~ ERROR no method named `take` found for type `Foo` in the current scope","highlight_start":7,"highlight_end":11}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[{"message":"the method `take` exists but the following trait bounds were not satisfied:\n`&mut Foo : std::iter::Iterator`","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"items from traits can only be used if the trait is implemented and in scope","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"the following traits define an item `take`, perhaps you need to implement one of them:\ncandidate #1: `std::iter::Iterator`\ncandidate #2: `std::io::Read`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error[E0599]: no method named `take` found for type `Foo` in the current scope\n  --> /checkout/src/test/ui/method-call-err-msg.rs:28:7\n   |\nLL | pub struct Foo;\n   | --------------- method `take` not found for this\n...\nLL |      .take()    //~ ERROR no method named `take` found for type `Foo` in the current scope\n   |       ^^^^\n   |\n   = note: the method `take` exists but the following trait bounds were not satisfied:\n           `&mut Foo : std::iter::Iterator`\n   = help: items from traits can only be used if the trait is implemented and in scope\n   = note: the following traits define an item `take`, perhaps you need to implement one of them:\n           candidate #1: `std::iter::Iterator`\n           candidate #2: `std::io::Read`\n\n"}
[00:40:01] {"message":"aborting due to 4 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to 4 previous errors\n\n"}
[00:40:01] {"message":"Some errors occurred: E0061, E0599.","code":null,"level":"","spans":[],"children":[],"rendered":"Some errors occurred: E0061, E0599.\n"}
[00:40:01] {"message":"For more information about an error, try `rustc --explain E0061`.","code":null,"level":"","spans":[],"children":[],"rendered":"For more information about an error, try `rustc --explain E0061`.\n"}
---
[00:40:01] 26    = help: to disambiguate the method call, write `UnusedTrait::f9(u, 342)` instead
[00:40:01] 27    = help: items from traits can only be used if the trait is implemented and in scope
[00:40:01] 28    = note: the following traits define an item `f9`, perhaps you need to implement one of them:
[00:40:01] -            candidate #1: `CtxtFn`
[00:40:01] +            candidate #1: `UnusedTrait`
[00:40:01] 30            candidate #2: `OtherTrait`
[00:40:01] -            candidate #3: `UnusedTrait`
[00:40:01] +            candidate #3: `CtxtFn`
[00:40:01] 32
[00:40:01] 33 error[E0599]: no method named `fff` found for type `Myisize` in the current scope
[00:40:01] 34   --> $DIR/issue-7575.rs:74:30
[00:40:01]
[00:40:01]
[00:40:01] The actual stderr differed from the expected stderr.
[00:40:01] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/span/issue-7575.stderr
[00:40:01] To update references, run this command from build directory:
[00:40:01] /checkout/src/test/ui/update-references.sh '/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui' 'span/issue-7575.rs'
[00:40:01]
[00:40:01] error: 1 errors occurred comparing output.
[00:40:01] status: exit code: 101
[00:40:01] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/span/issue-7575.rs" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui" "--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/span/issue-7575.stage2-x86_64-unknown-linux-gnu" "-Crpath" "-O" "-Zmiri" "-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/span/issue-7575.stage2-x86_64-unknown-linux-gnu.aux" "-A" "unused"
---
[00:40:01] {"message":"no method named `f9` found for type `usize` in the current scope","code":{"code":"E0599","explanation":"\nThis error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n               //        in the current scope\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/span/issue-7575.rs","byte_start":1708,"byte_end":1710,"line_start":74,"line_end":74,"column_start":18,"column_end":20,"is_primary":true,"text":[{"text":"    u.f8(42) + u.f9(342) + m.fff(42)","highlight_start":18,"highlight_end":20}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[{"message":"found the following associated functions; to be used as methods, functions must have a `self` parameter","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"try with `usize::f9`","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"candidate #1 is defined in the trait `CtxtFn`","code":null,"level":"note","spans":[{"file_name":"/checkout/src/test/ui/span/issue-7575.rs","byte_start":627,"byte_end":652,"line_start":16,"line_end":16,"column_start":5,"column_end":30,"is_primary":true,"text":[{"text":"    fn f9(_: usize) -> usize;","highlight_start":5,"highlight_end":30}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[],"rendered":null},{"message":"to disambiguate the method call, write `CtxtFn::f9(u, 342)` instead","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"candidate #2 is defined in the trait `OtherTrait`","code":null,"level":"note","spans":[{"file_name":"/checkout/src/test/ui/sed `chocolate` found for type `Mouth`\n               //        in the current scope\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/span/issue-7575.rs","byte_start":1269,"byte_end":1291,"line_start":48,"line_end":48,"column_start":1,"column_end":23,"is_primary":false,"text":[{"text":"struct Myisize(isize);","highlight_start":1,"highlight_end":23}],"label":"method `fff` not found for this","suggested_replacement":null,"expansion":null},{"file_name":"/checkout/src/test/ui/span/issue-7575.rs","byte_start":1720,"byte_end":1723,"line_start":74,"line_end":74,"column_start":30,"column_end":33,"is_primary":true,"text":[{"text":"    u.f8(42) + u.f9(342) + m.fff(42)","highlight_start":30,"highlight_end":33}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[{"message":"found the following associated functions; to be used as methods, functions must have a `self` parameter","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"try with `Myisize::fff`","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"candidate #1 is defined in an impl for the type `Myisize`","code":null,"level":"note","spans":[{"file_name":"/checkout/src/test/ui/span/issue-7575.rs","byte_start":1312,"byte_end":1337,"line_start":51,"line_end":51,"column_start":5,"column_end":30,"is_primary":true,"text":[{"text":"    fn fff(i: isize) -> isize {","highlight_start":5,"highlight_end":30}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"error[E0599]: no method named `fff` found for type `Myisize` in the current scope\nnown-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-3.9/bin/FileCheck" "--host-rustcflags" "-Crpath -O -Zmiri -Zunstable-options " "--target-rustcflags" "-Crpath -O -Zmiri -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" "3.9.1\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:40:01] expected success, got: exit code: 101
[00:40:01]
[00:40:01]
[00:40:01] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[00:40:01] Build completed unsuccessfully in 0:01:59
[00:40:01] make: *** [check] Error 1
[00:40:01] Makefile:58: recipe for target 'check' failed
---
$ cat obj/tmp/sccache.log

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.

@TimNN
Copy link
Contributor

TimNN commented Apr 2, 2018

Your PR failed on Travis. 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.
Receiving objects: 100% (217/217), 21.32 KiB | 10.66 MiB/s, done.
---
Resolving deltas: 100% (190/190), completed with 56 local objects.
---
[00:00:46] configure: rust.quiet-tests     := True
---
1m= note: expected type `rustc::middle::allocator::AllocatorKind`
[00:20:30]                found type `&rustc::middle::allocator::AllocatorKind`
---
[00:20:32]   process didn't exit successfully: `/checkout/obj/build/bootstrap/debug/rustc --crate-name rustc_trans librustc_trans/lib.rs --color always --error-format json --crate-type dylib --emit=dep-info,link -C prefer-dynamic -C opt-level=2 --cfg feature="jemalloc" --cfg feature="rustc_back" -C metadata=73a666260136fd4b -C extra-filename=-73a666260136fd4b --out-dir /checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps --target x86_64-unknown-linux-gnu -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/release/deps --extern syntax=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/libsyntax-7437cee1018df6d3.so --extern rustc_platform_intrinsics=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_platform_intrinsics-9c0e4dc84dafd637.so --extern rustc_demangle=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_demangle-f908eec6ea19d085.rlib --extern cc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/libcc-5472f3f0fa044374.rlib --extern tempdir=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/libtempdir-728fcbc86125f341.ols/cargo/objects/pack
---
10012 ./src/llvm/test/MC/AMDGPU
9648 ./src/llvm/test/MC/Disassembler/AMDGPU
---
$ cat obj/tmp/sccache.log

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.

@Zoxc Zoxc changed the title [WIP] Even more thread-safety changes Even more thread-safety changes Apr 2, 2018
@TimNN
Copy link
Contributor

TimNN commented Apr 2, 2018

Your PR failed on Travis. 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.
Receiving objects: 100% (237/237), 22.31 KiB | 22.31 MiB/s, done.
---
Resolving deltas: 100% (209/209), completed with 63 local objects.
---
[00:00:48] configure: rust.quiet-tests     := True
---
[00:24:39] error[E0658]: non-reference pattern used to match a reference (see issue #42640)
[00:24:39]    --> librustc_trans/back/symbol_export.rs:200:12
[00:24:39]     |
[00:24:39] 200 |     if let Some(id) = tcx.sess.derive_registrar_fn.get() {
[00:24:39]     |            ^^^^^^^^ help: consider using a reference: `&Some(id)`
[00:24:39]     |
[00:24:39]     = help: add #![feature(match_default_bindings)] to the crate attributes to enable
[00:24:39]
[00:24:39] error[E0308]: mismatched types
[00:24:39]    --> librustc_trans/back/symbol_export.rs:201:43
[00:24:39]     |
[00:24:39] 201 |         let def_id = tcx.hir.local_def_id(id);
[00:24:39]     |                                           ^^
[00:24:39]     |                                           |
[00:24:39]     |                                           expected struct `syntax::ast::NodeId`, found reference
[00:24:39]     |                                           help: consider dereferencing the borrow: `*id`
[00:24:39]     |
[00:24:39]     = note: expected type `syntax::ast::NodeId`
[00:24:39]                found type `&syntax::ast::NodeId`
[00:24:39]
[00:24:39] error[E0658]: non-reference pattern used to match a reference (see issue #42640)
[00:24:39]    --> librustc_trans/back/symbol_export.rs:205:12
[00:24:39]     |
[00:24:39] 205 |     if let Some(id) = tcx.sess.plugin_registrar_fn.get() {
[00:24:39]     |            ^^^^^^^^ help: consider using a reference: `&Some(id)`
[00:24:39]     |
[00:24:39]     = help: add #![feature(match_default_bindings)] to the crate attributes to enable
[00:24:39]
[00:24:39] error[E0308]: mismatched types
[00:24:39]    --> librustc_trans/back/symbol_export.rs:206:43
[00:24:39]     |
[00:24:39] 206 |         let def_id = tcx.hir.local_def_id(id);
[00:24:39]     |                                           ^^
[00:24:39]     |                                           |
[00:24:39]     |                                           expected struct `syntax::ast::NodeId`, found reference
[00:24:39]     |                                           help: consider dereferencing the borrow: `*id`
[00:24:39]     |
[00:24:39]     = note: expected type `syntax::ast::NodeId`
[00:24:39]                found type `&syntax::ast::NodeId`
[00:24:39]
[00:24:40] error[E0308]: mismatched types
[00:24:40]    --> librustc_trans/base.rs:520:14
[00:24:40]     |
[00:24:40] 520 |         Some((id, span)) => {
[00:24:40]     |              ^^^^^^^^^^ expected a tuple with 3 elements, found one with 2 elements
[00:24:40]     |
[00:24:40]     = note: expected type `(syntax::ast::NodeId, syntax_pos::Span, rustc::session::config::EntryFnType)`
[00:24:40]                found type `(_, _)`
[00:24:40]
[00:24:40] error[E0609]: no field `entry_type` on type `&rustc::session::Session`
[00:24:40]    --> librustc_trans/base.rs:536:24
[00:24:40]     |
[00:24:40] 536 |     let et = cx.sess().entry_type.get().map(|&(_, _, et)| et);
---
[00:24:42]   process didn't exit successfully: `/checkout/obj/build/bootstrap/debug/rustc --crate-name rustc_trans librustc_trans/lib.rs --color always --error-format json --crate-type dylib --emit=dep-info,link -C prefer-dynamic -C opt-level=2 --cfg feature="jemalloc" --cfg feature="rustc_back" -C metadata=73a666260136fd4b -C extra-filename=-73a666260136fd4b --out-dir /checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps --target x86_64-unknown-linux-gnu -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/release/deps --extern jobserver=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/libjobserver-3c385cb05f9c08fa.rlib --extern env_logger=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/libenv_logger-3a5b6600c0885885.rlib --extern rustc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/librustc-50848c58fc469522.so --extern libc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/liblibc-179e4ed8bcb4d938.rlib --extern rustc_back=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_back-078085824a3af3a6.so --extern syntax=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/libsyntax-7437cee1018df6d3.so --extern rustc_platform_intrinsics=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_platform_intrinsics-9c0e4dc84dafd637.so --extern rustc_mir=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_mir-02ca437d4346e274.so --extern num_cpus=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/libnum_cpus-8a1b2d4c707edb2f.rlib --extern log=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/liblog-7eebd272275b441b.rlib --extern rustc_incremental=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_incremental-eaa7f15360ed28d2.so --extern rustc_trans_utils=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_trans_utils-00de41b71dadf4c8.so --extern bitflags=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/libbitflags-e01ce88b04783514.rlib --extern cc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/libcc-5472f3f0fa044374.rlib --extern rustc_data_structures=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_data_structures-7eb604ad0d7f2749.so --extern flate2=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/libflate2-0249ed74490015f9.rlib --extern rustc_const_math=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_const_math-9784fba5d291c443.so --extern rustc_allocator=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_allocator-0fd2999d51f284b0.so --extern tempdir=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/libtempdir-728fcbc86125f341.rlib --extern serialize=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/libserialize-f27fded04dd31022.so --extern serialize=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/libserialize-f27fded04dd31022.rlib --extern rustc_demangle=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_demangle-f908eec6ea19d085.rlib --extern rustc_errors=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_errors-e8abef14b8b443aa.so --extern syntax_pos=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/libsyntax_pos-505a23f516928b0b.so --extern rustc_apfloat=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_apfloat-b23276248c684a7d.rlib --extern rustc_llvm=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_llvm-25cbf88f884a94e4.rlib -L native=/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/build/mig' || true)
---
$ cat obj/tmp/sccache.log
---
$ ls -lat $HOME/Library/Logs/DiagnosticReports/
ls: cannot access /home/travis/Library/Logs/DiagnosticReports/: No such file or directory
travis_time:end:0e04ae7c:start=1522647641147684696,finish=1522647641153253265,duration=5568569
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:032e5a7e
$ find $HOME/Library/Logs/DiagnosticReports -type f -name '*.crash' -not -name '*.stage2-*.crash' -not -name 'com.apple.CoreSimulator.CoreSimulatorService-*.crash' -exec printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" {} \; -exec head -750 {} \; -exec echo travis_fold":"end:crashlog \; || true
find: `/home/travis/Library/Logs/DiagnosticReports': No such file or directory
travis_time:end:032e5a7e:start=1522647641158135560,finish=1522647641163704935,duration=5569375
travis_fold:end:after_failure.5
travis_fold:start:after_failure.6
travis_time:start:0efa8401
$ dmesg | grep -i kill
[   11.340202] init: failsafe main process (1093) killed by TERM signal

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.

@TimNN
Copy link
Contributor

TimNN commented Apr 2, 2018

Your PR failed on Travis. 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.
Receiving objects: 100% (242/242), 22.74 KiB | 22.74 MiB/s, done.
---
Resolving deltas: 100% (214/214), completed with 66 local objects.
---
[00:00:53] configure: rust.quiet-tests     := 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.

@TimNN
Copy link
Contributor

TimNN commented Apr 2, 2018

Your PR failed on Travis. 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.
Receiving objects: 100% (250/250), 23.39 KiB | 23.39 MiB/s, done.
---
Resolving deltas: 100% (221/221), completed with 68 local objects.
---
[00:00:57] configure: rust.quiet-tests     := True
---
[00:39:03] .........................................................................i..........................
[00:39:09] ................i...................................................................................
---
[00:39:43] .............................................................................................i......
[00:39:50] ................................................................i...................................
---
[00:40:42] .............................................i......................................................
---
[00:44:24] .............................i......................................................................
[00:44:38] ..............................................................i.....................................
[00:44:53] ...............................................i....................................................
[00:45:12] ....................................................................................................
[00:45:32] ....................................................................................................
[00:45:53] ....................................................................................................
[00:46:16] .i................................................................................................i.
[00:46:45] ...........................................................................................test [run-pass] run-pass/mir_heavy_promoted.rs has been running for over 60 seconds
[00:46:50] .........
[00:47:18] ....................................................................................................
[00:47:52] ...............................................................ii...................................
[00:48:39] ..........................i....................................................i.ii.................
[00:49:16] .......................................................................................iiiiiii......
---
[00:51:09] ....................................i...........................................................F...
[00:51:17] ..F.................................................................................................
[00:51:24] ..................i............................................................ii.iii...............
[00:51:31] ................................F...................................................................
[00:51:38] ........i.......F......................i...........F.................................F..............
[00:51:46] .....................F..............................................................................
[00:51:52] .....................i..............................................................................
[00:52:00] ....................................................................................................
[00:52:09] ....................................................................................................
[00:52:19] ....................................................................................................
[00:52:29] ...........F........................................................................................
[00:52:42] ....................................................................................................
[00:52:50] ..............i...............FFF......FF...........................................................
[00:52:59] .............F...i..ii.................................F............................................
[00:53:09] ..........................................F.......F..................................F..............
[00:53:19] ....................................................................................................
[00:53:28] .........................................................F....................F.....i...............
[00:53:38] ..............................i.....................................................................
[00:53:49] ....................................................................................................
[00:53:59] .............................................................................F......................
[00:54:09] ......................F.............................................................................
t.rs:2901:9
[00:54:11]
[00:54:11] ---- [compile-fail] compile-fail/elided-test.rs stdout ----
[00:54:11]
[00:54:11] error: compiler encountered internal error
[00:54:11] status: exit code: 101
[00:54:11] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/compile-fail/elided-test.rs" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/compile-fail" "--target=x86_64-unknown-linux-gnu" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/compile-fail/elided-test.stage2-x86_64-unknown-linux-gnu" "-Crpath" "-O" "-Zmiri" "-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/compile-fail/elided-test.stage2-x86_64-unknown-linux-gnu.aux" "-A" "unused"
---
[00:54:11] error[E0601]: `main` function not found in crate `elided_test`
[00:54:11]    |
[00:54:11]    = note: consider adding a `main` function to `/checkout/src/test/compile-fail/elided-test.rs`
[00:54:11]
[00:54:11] thread 'rustc' panicked at 'value was not set', libcore/option.rs:916:5
[00:54:11] note: Run with `RUST_BACKTRACE=1` for a backtrace.
[00:54:11] error: aborting due to previous error
[00:54:11]
[00:54:11] For more information about this error, try `rustc --explain E0601`.
[00:54:11]
[00:54:11] error: internal compiler error: unexpected panic
[00:54_start":19,"line_end":19,"column_start":1,"column_end":12,"is_primary":true,"text":[{"text":"#![feature] //~ ERROR: malformed feature","highlight_start":1,"highlight_end":12}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[],"rendered":"error[E0555]: malformed feature attribute, expected #![feature(...)]\n  --> /checkout/src/test/compile-fail/gated-bad-feature.rs:19:1\n   |\nLL | #![feature] //~ ERROR: malformed feature\n   | ^^^^^^^^^^^\n\n"}
[00:54:11] {"message":"malformed feature attribute, expected #![feature(...)]","code":{"code":"E0555","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/gated-bad-feature.rs","byte_start":635,"byte_end":654,"line_start":20,"line_end":20,"column_start":1,"column_end":20,"is_primary":true,"text":[{"text":"#![feature = \"foo\"] //~ ERROR: malformed feature","highlight_start":1,"highlight_end":20}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[],"rendered":"error[E0555]: malformed feature attribute, expected #![feature(...)]\n  --> /checkout/src/test/compile-fail/gated-bad-feature.rs:20:1\n   |\nLL | #![feature = \"foo\"] //~ ERROR: malformed feature\n   | ^^^^^^^^^^^^^^^^^^^\n\n"}
[00:54:11] {"message":"feature has been removed","code":{"code":"E0557","explanation":"\nA feature attribute named a feature that has been removed.\n\nErroneous code example:\n\n```compile_fail,E0557\n#![feature(managed_boxes)] // error: feature has been removed\n```\n\nDelete the offending feature attribute.\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/gated-bad-feature.rs","byte_start":696,"byte_end":716,"line_start":22,"line_end":22,"column_start":12,"column_end":32,"is_primary":true,"text":[{"text":"#![feature(test_removed_feature)] //~ ERROR: feature has been removed","highlight_start":12,"highlight_end":32}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[],"rendered":"error[E0557]: feature has been removed\n  --> /checkout/src/test/compile-fail/gated-bad-feature.rs:22:12\n   |\nLL | #![feature(test_removed_feature)] //~ ERROR: feature has been removed\n   |            ^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:54:11] {"message":"`main` function not found in crate `gated_bad_feature`","code":{"code":"E0601","explanation":"\nNo `main` function was found in a binary crate. To fix this error, add a\n`main` function. For example:\n\n```\nfn main() {\n    // Your program will start here.\n    println!(\"Hello world!\");\n}\n```\n\nIf you don't know the basics of Rust, you can go look to the Rust Book to get\nstarted: https://doc.rust-lang.org/book/\n"},"level":"error","spans":[],"children":[{"message":"consider adding a `main` function to `/checkout/src/test/compile-fail/gated-bad-feature.rs`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error[E0601]: `main` function not found in crate `gated_bad_feature`\n   |\n   = note: consider adding a `main` function to `/checkout/src/test/compile-fail/gated-bad-feature.rs`\n\n"}
[00:54:11] thread 'rustc' panicked at 'value was not set', libcore/option.rs:916:5
[00:54:11] note: Run with `RUST_BACKTRACE=1` for a backtrace.
[00:54:11] {"message":"aborting due to 6 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to 6 previous errors\n\n"}
[00:54:11] {"message":"Some errors occurred: E0555, E0556, E0557, E0601.","code":null,"level":"","spans":[],"children":[],"rendered":"Some errors occurred: E0555, E0556, E0557, E0601.\n"}
[00:54:11] {"message":"For more information about an error, try `rustc --explain E0555`.","code":null,"level":"","spans":[],"children":[],"rendered":"For more information about an error, try `rustc --explain E0555`.\n"}
[00:54:11]
[00:54:11] error: internal compiler error: unexpected panic
[00:54:11]
[00:54:11] note: the compiler unexpectedly panicked. this is a bug.
[00:54:11]
[00:54:11] note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports
[00:54:11]
[00:54:11] note: rustc 1.26.0-dev running on x86_64-unknown-linux-gnu
[00:54:11]
[00:54:11] note: compiler flags: -Z ui-testing -Z miri -Z unstable-options -C prefer-dynamic -C rpath
---
[00:54:11] error: compiler encountered internal error
[00:54:11] status: exit code: 101
[00:54:11] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/compile-fail/hygiene/no_implicit_prelude.rs" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/compile-fail" "--target=x86_64n() {\n    // Your program will start here.\n    println!(\"Hello world!\");\n}\n```\n\nIf you don't know the basics of Rust, you can go look to the Rust Book to get\nstarted: https://doc.rust-lang.org/book/\n"},"level":"error","spans":[],"children":[{"message":"consider adding a `main` function to `/checkout/src/test/compile-fail/hygiene/no_implicit_prelude.rs`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error[E0601]: `main` function not found in crate `no_implicit_prelude`\n   |\n   = note: consider adding a `main` function to `/checkout/src/test/compile-fail/hygiene/no_implicit_prelude.rs`\n\n"}
[00:54:11] {"message":"no method named `clone` found for type `()` in the current scope","code":{"code":"E0599","explanation":"\nThis error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n               //        in the current scope\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/hygiene/no_implicit_prelude.rs","byte_start":690,"byte_end":695,"line_start":22,"line_end":22,"column_start":12,"column_end":17,"is_primary":true,"text":[{"text":"        ().clone() //~ ERROR no method named `clone` found","highlight_start":12,"highlight_end":17}],"label":null,"suggested_replacement":null,"expansion":{"span":{"file_name":"/checkout/src/test/compile-fail/hygiene/no_implicit_prelude.rs","byte_start":560,"byte_end":572,"line_start":15,"line_end":15,"column_start":14,"column_end":26,"is_primary":false,"text":[{"text":"    fn f() { ::bar::m!(); }","highlight_start":14,"highlight_end":26}],"label":null,"suggested_replacement":null,"expansion":null},"macro_decl_name":"::bar::m!","def_site_span":{"file_name":"/checkout/src/test/compile-fail/hygiene/no_implicit_prelude.rs","byte_start":615,"byte_end":743,"line_start":20,"line_end":23,"column_start":5,"column_end":6,"is_primary":false,"text":[{"text":"    pub macro m() {","highlight_start":5,"highlight_end":20},{"text":"        Vec::new(); //~ ERROR failed to resolve","highlight_start":1,"highlight_end":48},{"text":"        ().clone() //~ ERROR no method named `clone` found","highlight_start":1,"highlight_end":59},{"text":"    }","highlight_start":1,"highlight_end":6}],"label":null,"suggested_replacement":null,"expansion":null}}}],"children":[{"message":"items from traits can only be used if the trait is in scope","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"the following trait is implemented but not in scope, perhaps add a `use` for it:\ncandidate #1: `use std::clone::Clone;`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error[E0599]: no method named `clone` found for type `()` in the current scope\n  --> /checkout/src/test/compile-fail/hygiene/no_implicit_prelude.rs:22:12\n   |\nLL |     fn f() { ::bar::m!(); }\n   |              ------------ in this macro invocation\n...\nLL |         ().clone() //~ ERROR no method named `clone` found\n   |            ^^^^^\n   |\n   = help: items from traits can only be used if the trait is in scope\n   = note: the following trait is implemented but not in scop:54:11] error: compiler encountered internal error
[00:54:11] status: exit code: 101
[00:54:11] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/compile-fail/import-glob-circular.rs" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/compile-fail" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/compile-fail/import-glob-circular.stage2-x86_64-unknown-linux-gnu" "-Crpath" "-O" "-Zmiri" "-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/compile-fail/import-glob-circular.stage2-x86_64-unknown-linux-gnu.aux" "-A" "unused"
---
[00:54:11] {"message":"cannot find function `f1066` 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/compile-fail/import-glob-circular.rs","byte_start":752,"byte_end":757,"line_start":26,"line_end":26,"column_start":17,"column_end":22,"is_primary":true,"text":[{"text":"    fn test() { f1066(); } //~ ERROR cannot find function `f1066` in this scope","highlight_start":17,"highlight_end":22}],"label":"not found in this scope","suggested_replacement":null,"expansion":null}],"children":[],"rendered":"error[E0425]: cannot find function `f1066` in this scope\n  --> /checkout/src/test/compile-fail/import-glob-circular.rs:26:17\n   |\nLL |     fn test() { f1066(); } //~ ERROR cannot find function `f1066` in this scope\n   |                 ^^^^^ not found in this scope\n\n"}
[00:54:11] {"message":"`main` function not found in crate `import_glob_circular`","code":{"code":"E0601","explanation":"\nNo `main` function was found in a binary crate. To fix this error, add a\n`main` function. For example:\n\n```\nfn main() {\n    // Your program will start here.\n    println!(\"Hello world!\");\n}\n```\n\nIf you don't know the basics of Rust, you can go look to the Rust Book to get\nstarted: https://doc.rust-lang.org/book/\n"},"level":"error","spans":[],"children":[{"message":"consider adding a `main` function to `/checkout/src/test/compile-fail/import-glob-circular.rs`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error[E0601]: `main` function not found in crate `import_glob_circular`\n   |\n   = note: consider adding a `main` function to `/checkout/src/test/compile-fail/import-glob-circular.rs`\n\n"}
[00:54:11] thread 'rustc' panicked at 'value was not set', libcore/option.rs:916:5
[00:54:11] note: Run with `RUST_BACKTRACE=1` for a backtrace.
[00:54:11] {"message":"aborting due to 2 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to 2 previous errors\n\n"}
[00:54:11] {"message":"Some errors occurred: E0425, E0601.","code":null,"level":"","spans":[],"children":[],"rendered":"Some errors occurred: E0425, E0601.\n"}
[00:54:11] {"message":"For more information about an error, try `rustc --explain E0425`.","code":null,"level":"","spans":[],"children":[],"rendered":"For more information about an error, try `rustc --explain E0425`.\n"}
[00:54:11]
[00:54:11] error: internal compiler error: unexpected panic
[00:54:11]
[00:54:11] note: the compiler unexpectedly panicked. this is a bug.
[00:54:11]
[00:54:11] note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports
[00:54:11]
[00:54:11] note: rustc 1.26.0-dev running on x86_64-unknown-linux-gnu
[00:54:11]
[00:54:11] note: compiler flags: -Z ui-testing -Z miri -Z unstable-options -C prefer-dynamic -C rpath
[00:54:11]
[00:54:11]
[00:54:11] ------------------------------------------
[00:54:11]
[00:54:11] thread '[compile-fail] compile-fail/import-glob-circular.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:2901:9
[00:54:11]
[00:54:11] ---- [compile-fail] compile-fail/invalid_crate_type_syntax.rs stdout ----
[00:54:11]
[00:54:11] error: compiler encountered internal error
[00:54:11] status: exit code: 101
[00:54:11] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/compile-fail/invalid_crate_type_syntax.rs" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/compile-fail" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/compile-fail/invalid_crate_type_syntax.stage2-x86_64-unknown-linux-gnu" "-Crpath" "-O" "-Zmiri" "-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/compile-fail/invalid_crate_type_syntax.stage2-x86_64-unknown-linux-gnu.aux" "-A" "unused"
---
[00:54:11] {"message":"`crate_type` requires a value","code":null,"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/invalid_crate_type_syntax.rs","byte_start":502,"byte_end":521,"line_start":12,"line_end":12,"column_start":1,"column_end":20,"is_primary":true,"text":[{"text":"#![crate_type(lib)]  //~ ERROR `crate_type` requires a value","highlight_start":1,"highlight_end":20}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[{"message":"for example: `#![crate_type=\"lib\"]`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error: `crate_type` requires a value\n  --> /checkout/src/test/compile-fail/invalid_crate_type_syntax.rs:12:1\n   |\nLL | #![crate_type(lib)]  //~ ERROR `crate_type` requires a value\n   | ^^^^^^^^^^^^^^^^^^^\n   |\n   = note: for example: `#![crate_type=\"lib\"]`\n\n"}
[00:54:11] {"message":"`main` function not found in crate `invalid_crate_type_syntax`","code":{"code":"E0601","explanation":"\nNo `main` function was found in a binary crate. To fix this error, add a\n`main` function. For example:\n\n```\nfn main() {\n    // Your program will start here.\n    println!(\"Hello world!\");\n}\n```\n\nIf you don't know the basics of Rust, you can go look to the Rust Book to get\nstarted: https://doc.rust-lang.org/book/\n"},"level":"error","spans":[],"children":[{"message":"consider adding a `main` function to `/checkout/src/test/compile-fail/invalid_crate_type_syntax.rs`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error[E0601]: `main` function not found in crate `invalid_crate_type_syntax`\n   |\n   = note: consider adding a `main` function to `/checkout/src/test/compile-fail/invalid_crate_type_syntax.rs`\n\n"}
[00:54:11] thread 'rustc' panicked at 'value was not set', libcore/option you don't know the basics of Rust, you can go look to the Rust Book to get\nstarted: https://doc.rust-lang.org/book/\n"},"level":"error","spans":[],"children":[{"message":"consider adding a `main` function to `/checkout/src/test/compile-fail/issue-42755.rs`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error[E0601]: `main` function not found in crate `issue_42755`\n   |\n   = note: consider adding a `main` function to `/checkout/src/test/compile-fail/issue-42755.rs`\n\n"}
[00:54:11] thread 'rustc' panicked at 'value was not set', libcore/option.rs:916:5
[00:54:11] note: Run with `RUST_BACKTRACE=1` for a backtrace.
[00:54:11] {"message":"aborting due to 2 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to 2 previous errors\n\n"}
[00:54:11] {"message":"For more information about this error, try `rustc --explain E0601`.","code":null,"level":"","spans":[],"children":[],"rendered":"For more information about this error, try `rustc --explain E0601`.\n"}
[00:54:11]
[00:54:11] error: internal compiler error: unexpected panic
[00:54:11]
[00:54:11] note: the compiler unexpectedly panicked. this is a bug.
[00:54:11]
[00:54:11] note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports
[00:54:11]
[00:54:11] note: rustc 1.26.0-dev running on x86_64-unknown-linux-gnu
[00:54:11]
[00:54:11] note: compiler flags: -Z ui-testing -Z miri -Z unstable-options -C prefer-dynamic -C rpath
[00:54:11]
[00:54:11]
[00:54:11] ------------------------------------------
[00:54:11]
[00:5onsider adding a `main` function to `/checkout/src/test/compile-fail/macro-reexport-malformed-1.rs`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error[E0601]: `main` function not found in crate `macro_reexport_malformed_1`\n   |\n   = note: consider adding a `main` function to `/checkout/src/test/compile-fail/macro-reexport-malformed-1.rs`\n\n"}
[00:54:11] thread 'rustc' panicked at 'value was not set', libcore/option.rs:916:5
[00:54:11] note: Run with `RUST_BACKTRACE=1` for a backtrace.
[00:54:11] {"message":"aborting due to 2 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to 2 previous errors\n\n"}
[00:54:11] {"message":"Some errors occurred: E0467, E0601.","code":null,"level":"","spans":[],"children":[],"rendered":"Some errors occurred: E0467, E0601.\n"}
[00:54:11] {"message":"For more information about an error, try `rustc --explain E0467`.","code":null,"level":"","spans":[],"children":[],"rendered":"For more information about an error, try `rustc --explain E0467`.\n"}
[00:54:11]
[00:54:11] error: internal compiler error: unexpected panic
[00:54:11]
[00:54:11] note: the compiler unexpectedly panicked. this is a bug.
[00:54:11]
[00:54:11] note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports
[00:54:11]
[00:54:11] note: rustc 1.26.0-dev running on x86_64-unknown-linux-gnu
[00:54:11]
[00:54:11] note: compiler flags: -Z ui-testing -Z miri -Z unstable-options -C prefer-dynamic -C rpath
[00:54:11]
[00:54:11]
[00:54:11] ------------------------------------------
[00:54:11]
[00:54:11] thread '[compile-fail] compile-fail/macro-reexport-malformed-1.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:2901:9
[00:54:11]
[00:54:11] ---- [compile-fail] compile-fail/macro-reexport-malformed-2.rs stdout ----
[00:54:11]
[00:54:11] error: compiler encountered internal error
[00:54:11] status: exit code: 101
[00:54:11] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/compile-fail/macro-reexport-malformed-2.rs" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/compile-fail" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/compile-fail/macro-reexport-malformed-2.stage2-x86_64-unknown-linux-gnu" "-Crpath" "-O" "-Zmiri" "-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/compile-fail/macro-reexport-malformed-2.stage2-x86_64-unknown-linux-gnu.aux" "-A" "unused"
---
[00:54:11] {"message":"bad macro re-export","code":{"code":"E0467","explanation":"\nMacro re-export declarations were empty or malformed.\n\nErroneous code examples:\n\n```compile_fail,E0467\n#[macro_reexport]                    // error: no macros listed for export\nextern crate core as macros_for_good;\n\n#[macro_reexport(fun_macro = \"foo\")] // error: not a macro identifier\nextern crate core as other_macros_for_good;\n```\n\nThis is a syntax error at the level of attribute declarations.\n\nCurrently, `macro_reexport` requires at least one macro name to be listed.\nUnlike `macro_use`, listing no names does not re-export all macros from the\ngiven crate.\n\nDecide which macros you would like to export and list them properly.\n\nThese are proper re-export declarations:\n\n```ignore (cannot-doctest-multicrate-project)\n#[macro_reexport(some_macro, another_macro)]\nextern crate macros_for_good;\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/macro-reexport-malformed-2.rs","byte_start":538,"byte_end":561,"line_start":15,"line_end":15,"column_start":1,"column_end":24,"is_primary":true,"text":[{"text":"#[macro_reexport=\"foo\"]  //~ ERROR bad macro re-export","highlight_start":1,"highlight_end":24}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[],"rendered":"error[E0467]: bad macro re-export\n  --> /checkout/src/test/compile-fail/macro-reexport-malformed-2.rs:15:1\n   |\nLL | #[macro_reexport=\"foo\"]  //~ ERROR bad macro re-export\n   | ^^^^^^^^^^^^^^^^^^^^^^^\n\n"}
[00:54:11] {"message":"`main` function not found in crate `macro_reexport_malformed_2`","code":{"code":"E0601","explanation":"\nNo `main` function was found in a binary crate. To fix this error, add a\n`main` function. For example:\n\n```\nfn main() {\n    // Your program will start here.\n    println!(\"Hello world!\");\n}\n```\n\nIf you don't know the basics of Rust, you can go look to the Rust Book to get\nstarted: https://doc.rust-lang.oags: -Z ui-testing -Z miri -Z unstable-options -C prefer-dynamic -C rpath
[00:54:11]
[00:54:11]
[00:54:11] ------------------------------------------
[00:54:11]
[00:54:11] thread '[compile-fail] compile-fail/macro-reexport-malformed-3.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:2901:9
[00:54:11]
[00:54:11] ---- [compile-fail] compile-fail/macro-use-bad-args-2.rs stdout ----
[00:54:11]
[00:54:11] error: compiler encountered internal error
[00:54:11] status: exit code: 101
[00:54:11] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/compile-fail/macro-use-bad-args-2.rs" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/compile-fail" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/compile-fail/macro-use-bad-args-2.stage2-x86_64-unknown-linux-gnu" "-Crpath" "-O" "-Zmiri" "-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/compile-fail/macro-use-bad-args-2.stage2-x86_64-unknown-linux-gnu.aux" "-A" "unused"
---
[00:54:11] {"message":"bad macro import","code":{"code":"E0466","explanation":"\nMacro import declarations were malformed.\n\nErroneous code examples:\n\n```compile_fail,E0466\n#[macro_use(a_macro(another_macro))] // er here.\n    println!(\"Hello world!\");\n}\n```\n\nIf you don't know the basics of Rust, you can go look to the Rust Book to get\nstarted: https://doc.rust-lang.org/book/\n"},"level":"error","spans":[],"children":[{"message":"consider adding a `main` function to `/checkout/src/test/compile-fail/macro-use-bad-args-2.rs`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error[E0601]: `main` function not found in crate `macro_use_bad_args_2`\n   |\n   = note: consider adding a `main` function to `/checkout/src/test/compile-fail/macro-use-bad-args-2.rs`\n\n"}
[00:54:11] thread 'rustc' panicked at 'value was not set', libcore/option.rs:916:5
[00:54:11] note: Run with `RUST_BACKTRACE=1` for a backtrace.
[00:54:11] {"message":"aborting due to 2 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to 2 previous errors\n\n"}
[00:54:11] {"message":"Some errors occurred: E0466, E0601.","code":null,"level":"","spans":[],"children":[],"rendered":"Some errors occurred: E0466, E0601.\n"}
[00:54:11] {"message":"For more information about an error, try `rustc --explain E0466`.","code":null,"level":"","spans":[],"children":[],"rendered":"For more information about an error, try `rustc --explain E0466`.\n"}
[00:54:11]
[00:54:11] error: internal compiler error: unexpected panic
[00:54:11]
[00:54:11] note: the compiler unexpectedly panicked. this is a bug.
[00:54:11]
[00:54:11] note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports
[00:54:11]
[00:54:11] note: rustc 1.26.0-dev running on x86_64-unknown-linux-gnu
[00:54:11]
[00:54:11] note: compiler flags: -Z ui-testing -Z miri -Z unstable-options -C prefer-dynamic -C rpath
[00:54:11]
[00:54:11]
[00:54:11] ------------------------------------------
[00:54:11]
[00:54:11] thread '[compile-fail] compile-fail/macro-use-bad-args-2.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:2901:9
[00:54:11]
[00:54:11] ---- [compile-fail] compile-fail/macro-use-bad-args-1.rs stdout ----
[00:54:11]
[00:54:11] error: compiler encountered internal error
[00:54:11] status: exit code: 101
[00:54:11] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/compile-fail/macro-use-bad-args-1.rs" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/compile-fail" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/compile-fail/macro-use-bad-args-1.stage2-x86_64-unknown-linux-gnu" "-Crpath" "-O" "-Zmiri" "-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/compile-fail/macro-use-bad-args-1.stage2-x86_64-unknown-linux-gnu.aux" "-A" "unused"
---
[00:54:11] {"message":"bad macro import","code":{"code":"E0466","explanation":"\nMacro import declarations were malformed.\n\nErroneous code examples:\n\n```compile_fail,E0466\n#[macro_use(a_macro(another_macro))] // error: invalid import declaration\nextern crate core as some_crate;\n\n#[macro_use(i_want = \"some_macros\")] // error: invalid import declaration\nextern crate core as another_crate;\n```\n\nThis is a syntax error at the level of attribute declarations. The proper\nsyntax for macro imports is the following:\n\n```ignore (cannot-doctest-multicrate-project)\n// In some_crate:\n#[macro_export]\nmacro_rules! get_tacos {\n    ...\n}\n\n#[macro_export]\nmacro_rules! get_pimientos {\n    ...\n}\n\n// In your crate:\n#[macro_use(get_tacos, get_pimientos)] // It imports `get_tacos` and\nextern crate some_crate;               // `get_pimientos` macros from some_crate\n```\n\nIf you would like to import all exported macros, write `macro_use` with no\narguments.\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/macro-use-bad-args-1.rs","byte_start":522,"byte_end":530,"line_start":14,"line_end":14,"column_start":13,"column_end":21,"is_primary":true,"text":[{"text":"#[macro_use(foo(bar))]  //~ ERROR bad macro import","highlight_start":13,"highlight_end":21}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[],"rendered":"error[E0466]: bad macro import\n  --> /checkout/src/test/compile-fail/macro-use-bad-args-1.rs:14:13\n   |\nLL | #[macro_use(foo(bar))]  //~ ERROR bad macro import\n   |             ^^^^^^^^\n\n"}
[00:54:11] {"message":"`main` function not found in crate `macro_use_bad_args_1`","code":{"code":"E0601","explanation":"\nNo `main` function was found in a binary crate. To fix this error, add a\n`main` function. For example:\n\n```\nfn main() {\n    // Your program will start here.\n    println!(\"Hello world!\");\n}\n```\n\nIf you don't know the basics of Rust, you can go look to the Rust Book to get\nstarted: https://doc.rust-lang.org/book/\n"},"level":"error","spans":[],"children":[{"message":"consider adding a `main` function to `/checkout/src/test/compile-fail/macro-use-bad-args-1.rs`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error[E0601]: `main` function not found in crate `macro_use_bad_args_1`\n   |\n   = note: consider adding a `main` function to `/checkout/src/test/compile-fail/macro-use-bad-args-1.rs`\n\n"}
[00:54:11] thread 'rustc' panicked at 'value was not set', libcore/option.rs:916:5
[00:54:11] note: Run with `RUST_BACKTRACE=1` for a backtrace.
[00:54:11] {"message":"aborting due to 2 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to 2 previous errors\n\n"}
[00:54:11] {"message":"Some errors occurred: E0466, E0601.","code":null,"level":"","spans":[],"children":[],"rendered":"Some errors occurred: E0466, E0601.\n"}
[00:54:11] {"message":"For more information about an error, try `rustc --explain E0466`.","code":null,"level":"","spans":[],"children":[],"rendered":"For more information about an error, try `rustc --explain E0466`.\n"}
[00:54:11]
[00:54:11] error: internal compiler error: unexpected panic
[00:54:11]
[00:54:11] note: the compiler unexpectedly panicked. this is a bug.
[00:54:11]
[00:54:11] note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports
[00:54:11]
[00:54:11] note: rustc 1.26.0-dev running on x86_64-unknown-linux-gnu
[00:54:11]
[00:54:11] note: compiler flags: -Z ui-testing -Z miri -Z unstable-options -C prefer-dynamic -C rpath
[00:54:11]
[00:54:11]
[00:54:11] ------------------------------------------
[00:54:11]
[00:54:11] thread '[compile-fail] compile-fail/macro-use-bad-args-1.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:2901:9
[00:54:11]
[00:54:11] ---- [compile-fail] compile-fail/missing-main.rs stdout ----
[00:54:11]
[00:54:11] error: compiler encountered internal error
[00:54:11] status: exit code: 101
[00:54:11] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/compile-fail/missing-main.rs" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/compile-fail" "--target=x86_64-unknown-linux-gnu" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/compile-fail/missing-main.stage2-x86_64-unknown-linux-gnu" "-Crpath" "-O" "-Zmiri" "-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/compile-fail/missing-main.stage2-x86_64-unknown-linux-gnu.aux" "-A" "unused"
---
[00:54:11] error[E0601]: `main` function not found in crate `missing_main`
[00:54:11]    |
[00:54:11]    = note: consider adding a `main` function to `/checkout/src/test/compile-fail/missing-main.rs`
[00:54:11]
[00:54:11] thread 'rustc' panicked at 'value was not set', libcore/option.rs:916:5
[00:54:11] note: Run with `RUST_BACKTRACE=1` for a backtrace.
[00:54:11] error: aborting due to previous error
[00:54:11]
[00:54:11] For more information about this error, try `rustc --explain E0601`.
[00:54:11]
[00:54:11] error: internal compiler error: unexpected panic
[00:54:11]
[00:54:11] note: the compiler unexpectedly panicked. this is a bug.
[00:54:11]
[00:54:11] note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports
[00:54:11]
[00:54:11] note: rustc 1.26.0-dev running on x86_64-unknown-linux-gnu
[00:54:11]
[00:54:11] note: compiler flags: -Z ui-testing -Z miri -Z unstable-options -C prefer-dynamic -C rpath
[00:54:11]
[00:54:11]
[00:54:11] ------------------------------------------
[00:54:11]
[00:54:11] thread '[compile-fail] compile-fail/missing-main.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:2901:9
[00:54:11]
[00:54:11] ---- [compile-fail] compile-fail/nested-ty-params.rs stdout ----
[00:54:11]
[00:54:11] error: compiler encountered internal error
[00:54:11] status: exit code: 101
[00:54:11] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/compile-fail/nested-ty-params.rs" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/compile-fail" "--target=x86_64-unknown-linux-gnu" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/compile-fail/nested-ty-params.stage2-x86_64-unknown-linux-gnu" "-Crpath" "-O" "-Zmiri" "-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/compile-fail/nested-ty-params.stage2-x86_64-unknown-linux-gnu.aux" "-A" "unused"
---
[00:54:11] error[E0401]: can't use type parameters from outer function
[00:54:11]   --> /checkout/src/test/compile-fail/nested-ty-params.rs:13:16
[00:54:11]    |
[00:54:11] LL | fn hd<U>(v: Vec<U> ) -> U {
[00:54:11]    |       - type variable from outer function
[00:54:11] LL |     fn hd1(w: [U]) -> U { return w[0]; }
[00:54:11]    |        ---     ^ use of type variable from outer function
[00:54:11]    |        |
[00:54:11]    |        help: try using a local type parameter instead: `hd1<U>`
[00:54:11]
[00:54:11] error[E0401]: can't use type parameters from outer function
[00:54:11]   --> /checkout/src/test/compile-fail/nested-ty-params.rs:13:23
[00:54:11]    |
[00:54:11] LL | fn hd<U>(v: Vec<U> ) -> U {
[00:54:11]    |       - type variable from outer function
[00:54:11] LL |     fn hd1(w: [U]) -> U { return w[0]; }
[00:54:11]    |        ---            ^ use of type variable from outer function
[00:54:11]    |        |
[00:54:11]    |        help: try using a local type parameter instead: `hd1<U>`
[00:54:11]
[00:54:11] error[E0601]: `main` function not found in crate `nested_ty_params`
[00:54:11]    |
[00:54:11]    = note: consider adding a `main` function to `/checkout/src/test/compile-fail/nested-ty-params.rs`
[00:54:11]
[00:54:11] thread 'rustc' panicked at 'value was not set', libcore/option.rs:916:5
---
[00:54:11] error: internal compiler error: unexpected panic
[00:54:11]
[00:54:11] note: the compiler unexpectedly panicked. this is a bug.
[00:54:11]
[00:54:11] note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports
[00:54:11]
[00:54:11] note: rustc 1.26.0-dev running on x86_64-unknown-linux-gnu
[00:54:11]
[00:54:11] note: compiler flags: -Z ui-testing -Z miri -Z unstable-options -C prefer-dynamic -C rpath
[00:54:11]
[00:54:11]
[00:54:11] ------------------------------------------
[00:54:11]
[00:54:11] thread '[compile-fail] compile-fail/nested-ty-params.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:2901:9
[00:54:11]
[00:54:11] ---- [compile-fail] compile-fail/panic-runtime/runtime-depend-on-needs-runtime.rs stdout ----
[00:54:11]
[00:54:11] error: compiler encountered internal error
[00:54:11] status: exit code: 101
[00:54:11] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/compile-fail/panic-runtime/runtime-depend-on-needs-runtime.rs" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/compile-fail" "--target=x86_64-unknown-linux-gnu" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/compile-fail/panic-runtime/runtime-depend-on-needs-runtime.stage2-x86_64-unknown-linux-gnu" "-Crpath" "-O" "-Zmiri" "-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/compile-fail/panic-runtime/runtime-depend-on-needs-runtime.stage2-x86_64-unknown-linux-gnu.aux" "-A" "unused"
---
[00:54:11] error: the crate `depends` cannot depend on a crate that needs a panic runtime, but it depends on `needs_panic_runtime`
[00:54:11]
[00:54:11] error[E0601]: `main` function not found in crate `runtime_depend_on_needs_runtime`
[00:54:11]    |
[00:54:11]    = note: consider adding a `main` function to `/checkout/src/test/compile-fail/panic-runtime/runtime-depend-on-needs-runtime.rs`
[00:54:11]
[00:54:11] thread 'rustc' panicked at 'value was not set', libcore/option.rs:916:5
[00:54:11] note: Run with `RUST_BACKTRACE=1` for a backtrace.
[00:54:11] error: aborting due to 2 previous errors
[00:54:11]
[00:54:11] For more information about this error, try `rustc --explain E0601`.
[00:54:11]
[00:54:11] error: internal compiler error: unexpected panic
[00:54:11]
[00:54:11] note: the compiler unexpectedly panicked. this is a bug.
[00:54:11]
[00:54:11] note: we would appreciate a bug report: https://githubd token","highlight_start":15,"highlight_end":16}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[],"rendered":"error: unexpected token: `;`\n  --> /checkout/src/test/compile-fail/parser-recovery-1.rs:22:15\n   |\nLL |     let x = y.;  //~ ERROR unexpected token\n   |               ^\n\n"}
[00:54:11] {"message":"cannot find function `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/compile-fail/parser-recovery-1.rs","byte_start":623,"byte_end":626,"line_start":17,"line_end":17,"column_start":17,"column_end":20,"is_primary":true,"text":[{"text":"        let x = foo(); //~ ERROR cannot find function `foo` in this scope","highlight_start":17,"highlight_end":20}],"label":"not found in this scope","suggested_replacement":null,"expansion":null}],"children":[],"rendered":"error[E0425]: cannot find function `foo` in this scope\n  --> /checkout/src/test/compile-fail/parser-recovery-1.rs:17:17\n   |\nLL |         let x = foo(); //~ ERROR cannot find function `foo` in this scope\n   |                 ^^^ not found in this scope\n\n"}
[00:54:11] {"message":"cannot find value `y` 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/compile-fail/parser-recovery-1.rs","byte_start":709,"byte_end":710,"line_start":22,"line_end":22,"column_start":13,"column_end":14,"is_primary":true,"text":[{"text":"    let x = y.;  //~ ERROR unexpected token","highlight_start":13,"highlight_end":14}],"label":"not found in this scope","suggested_replacement":null,"expansion":null}],"children":[],"rendered":"error[E0425]: cannot find value `y` in this scope\n  --> /checkout/src/test/compile-fail/parser-recovery-1.rs:22:13\n   |\nLL |     let x = y.;  //~ ERROR unexpected token\n   |             ^ not found in this scope\n\n"}
[00:54:11] {"message":"`main` function not found in crate `parser_recovery_1`","code":{"code":"E0601","explanation":"\nNo `main` function was found in a binary crate. To fix this error, add a\n`main` function. For example:\n\n```\nfn main() {\n    // Your program will start here.\n    println!(\"Hello world!\");\n}\n```\n\nIf you don't know the basics of Rust, you can go look to the Rust Book to get\nstarted: https://doc.rust-lang.org/book/\n"},"level":"error","spans":[],"children":[{"message":"consider adding a `main` function to `/checkout/src/test/compile-fail/parser-recovery-1.rs`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error[E0601]: `main` function not found in crate `parser_recovery_1`\n   |\n   = note: consider adding a `main` function to `/checkout/src/test/compile-fail/parser-recovery-1.rs`\n\n"}
[00:54:11] thread 'rustc' panicked at 'value was not set', libcore/option.rs:916:5
[00:54:11] note: Run with `RUST_BACKTRACE=1` for a backtrace.
[00:54:11] {"message":"aborting due to 5 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to 5 previous errors\n\n"}
[00:54:11] {"message":"Some errors occurred: E0425, E0601.","code":null,"level":"","spans":[],"children":[],"rendered":"Some errors occurred: E0425, E0601.\n"}
[00:54:11] {"message":"For more information about an error, try `rustc --explain E0425`.","code":null,"level":"","spans":[],"children":[],"rendered":"For more information about an error, try `rustc --explain E0425`.\n"}
[00:54:11]
[00:54:11] error: internal compiler error: unexpected panic
[00:54:11]
[00:54:11] note: the compiler unexpectedly panicked. this is a bug.
[00:54:11]
[00:54:11] note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports
[00:54:11]
[00:54:11] note: rustc 1.26.0-dev running on x86_64-unknown-linux-gnu
[00:54:11]
[00:54:11] note: compiler flags: -Z ui-testing -Z miri -Z unstable-options -Z continue-parse-after-error -C prefer-dynamic -C rpath
[00:54:11]
[00:54:11]
[00:54:11] ------------------------------------------
[00:54:11]
[00:54:11] thread '[compile-fail] compile-fail/parser-recovery-1.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:2901:9
[00:54:11]
[00:54:11] ---- [compile-fail] compile-fail/privacy/restricted/tuple-struct-fields/test.rs stdout ----
[00:54:11]
[00:54:11] error: compiler encountered internal error
[00:54:11] status: exit code: 101
[00:54:11] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/compile-fail/privacy/restricted/tuple-struct-fields/test.rs" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/compile-fail" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/compile-fail/privacy/restricted/tuple-struct-fields/test.stage2-x86_64-unknown-linux-gnu" "-Crpath" "-O" "-Zmiri" "-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/compile-fail/privacy/restricted/tuple-struct-fields/test.stage2-x86_64-unknown-linux-gnu.aux" "-A" "unused"
---
[00:54:11] {"message":"expected `,`, found `(`","code":null,"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/privacy/restricted/tuple-struct-fields/test.rs","byte_start":587,"byte_end":588,"line_start":14,"line_end":14,"column_start":26,"column_end":27,"is_primary":true,"text":[{"text":"    struct S2(pub((foo)) ());","highlight_start":26,"highlight_end":27}],"label":"expected `,`","suggested_replacement":null,"expansion":null}],"children":[],"rendered":"error: expected `,`, found `(`\n  --> /checkout/src/test/compile-fail/privacy/restricted/tuple-struct-fields/test.rs:14:26\n   |\nLL |     struct S2(pub((foo)) ());\n   |                          ^ expected `,`\n\n"}
[00:54:11] {"message":"cannot find type `foo` in this scope","code":{"code":"E0412","explanation":"\nThe type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n    fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n    type N;\n\n    fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n    fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n    // either\n    use super::File;\n    // or\n    // use std::fs::File;\n    fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/privacy/restricted/tuple-struct-fields/test.rs","byte_start":581,"byte_end":584,"line_start":14,"line_end":14,"column_start":20,"column_end":23,"is_primary":true,"text":[{essage":"Some errors occurred: E0412, E0601.","code":null,"level":"","spans":[],"children":[],"rendered":"Some errors occurred: E0412, E0601.\n"}
[00:54:11] {"message":"For more information about an error, try `rustc --explain E0412`.","code":null,"level":"","spans":[],"children":[],"rendered":"For more information about an error, try `rustc --explain E0412`.\n"}
[00:54:11]
[00:54:11] error: internal compiler error: unexpected panic
[00:54:11]
[00:54:11] note: the compiler unexpectedly panicked. this is a bug.
[00:54:11]
[00:54:11] note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports
[00:54:11]
[00:54:11] note: rustc 1.26.0-dev running on x86_64-unknown-linux-gnu
[00:54:11]
[00:54:11] note: compiler flags: -Z ui-testing -Z miri -Z unstable-options -C prefer-dynamic -C rpath
---
[00:54:11] error: compiler encountered internal error
[00:54:11] status: exit code: 101
[00:54:11] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/compile-fail/repr-transparent-other-reprs.rs" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/compile-fail" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/compile-fail/repr-transparent-other-reprs.stage2-x86_64-unknown-linux-gnu" "-Crpath" "-O" "-Zmiri" "-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/compile-fail/repr-transparent-other-reprs.stage2-x86_64-unknown-linux-gnu.aux" "-A" "unused"
---
[00:54:11] {"message":"`main` function not found in crate `repr_transparent_other_reprs`","code":{"code":"E0601","explanation":"\nNo `main` function was found in a binary crate. To fix this error, add a\n`main` function. For example:\n\n```\nfn main() {\n    // Your program will start here.\n    println!(\"Hello world!\");\n}\n```\n\nIf you don't know the basics of Rust, you can go look to the Rust Book to get\nstarted: https://doc.rust-lang.org/book/\n"},"level":"error","spans":[],"children":[{"message":"consider adding a `main` function to `/checkout/src/test/compile-fail/repr-transparent-other-reprs.rs`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error[E0601]: `main` function not found in crate `repr_transparent_other_reprs`\n   |\n   = note: consider adding a `main` function to `/checkout/src/test/compile-fail/repr-transparent-other-reprs.rs`\n\n"}
[00:54:11] {"message":"transparent struct cannot have other repr hints","code":{"code":"E0692","explanation":"\nA `repr(transparenother repr","highlight_start":8,"highlight_end":19}],"label":null,"suggested_replacement":null,"expansion":null},{"file_name":"/checkout/src/test/compile-fail/repr-transparent-other-reprs.rs","byte_start":578,"byte_end":579,"line_start":15,"line_end":15,"column_start":21,"column_end":22,"is_primary":true,"text":[{"text":"#[repr(transparent, C)] //~ ERROR cannot have other repr","highlight_start":21,"highlight_end":22}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[],"rendered":"error[E0692]: transparent struct cannot have other repr hints\n  --> /checkout/src/test/compile-fail/repr-transparent-other-reprs.rs:15:8\n   |\nLL | #[repr(transparent, C)] //~ ERROR cannot have other repr\n   |        ^^^^^^^^^^^  ^\n\n"}
[00:54:11] {"message":"transparent struct cannot have other repr hints","code":{"code":"E0692","explanation":"\nA `repr(transparent)` type was also annotated with other, incompatible\nrepresentation hints.\n\nErroneous code example:\n\n```compile_fail,E0692\n#![feature(repr_transparent)]\n\n#[repr(transparent, C)] // error: incompatible representation hints\nstruct Grams(f32);\n```\n\nA type annotated as `repr(transparent)` delegates all representation concerns to\nanother type, so adding more representation hints is contradictory. Remove\neither the `transparent` hint or the other hints, like this:\n\n```\n#![feature(repr_transparent)]\n\n#[repr(transparent)]\nstruct Grams(f32);\n```\n\nAlternatively, move the other attributes to the contained type:\n\n```\n#![feature(repr_transparent)]\n\n#[repr(C)]\nstruct Foo {\n    x: i32,\n    // ...\n}\n\n#[repr(transparent)]\nstruct FooWrapper(Foo
[00:54:11] {"message":"transparent struct cannot have other repr hints","code":{"code":"E0692","explanation":"\nA `repr(transparent)` type was also annotated with other, incompatible\nrepresentation hints.\n\nErroneous code example:\n\n```compile_fail,E0692\n#![feature(repr_transparent)]\n\n#[repr(transparent, C)] // error: incompatible representation hints\nstruct Grams(f32);\n```\n\nA type annotated as `repr(transparent)` delegates all representation concerns to\nanother type, so adding more representation hints is contradictory. Remove\neither the `transparent` hint or the other hints, like this:\n\n```\n#![feature(repr_transparent)]\n\n#[repr(transparent)]\nstruct Grams(f32);\n```\n\nAlternatively, move the other attributes to the contained type:\n\n```\n#![feature(repr_transparent)]\n\n#[repr(C)]\nstruct Foo {\n    x: i32,\n    // ...\n}\n\n#[repr(transparent)]\nstruct FooWrapper(Foo);\n```\n\nNote that introducing another `struct` just to have a place for the other\nattributes may have unintended side effects on the representation:\n\n```\n#![feature(repr_transparent)]\n\n#[repr(transparent)]\nstruct Grams(f32);\n\n#[repr(C)]\nstruct Float(f32);\n\n#[repr(transparent)]\nstruct Grams2(Float); // this is not equivalent to `Grams` above\n```\n\nHere, `Grams2` is a not equivalent to `Grams` -- the former transparently wraps\na (non-transparent) struct containing a single float, while `Grams` is a\ntransparent wrapper around a float. This can make a difference for the ABI.\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/repr-transparent-other-reprs.rs","byte_start":774,"byte_end":785,"line_start":r(transparent)] //~ ERROR cannot have other repr\n   |        ^^^^^^^^^^^\nLL | #[repr(C)]\n   |        ^\n\n"}
[00:54:11] thread 'rustc' panicked at 'value was not set', libcore/option.rs:916:5
[00:54:11] note: Run with `RUST_BACKTRACE=1` for a backtrace.
[00:54:11] {"message":"aborting due to 5 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to 5 previous errors\n\n"}
[00:54:11] {"message":"Some errors occurred: E0601, E0692.","code":null,"level":"","spans":[],"children":[],"rendered":"Some errors occurred: E0601, E0692.\n"}
[00:54:11] {"message":"For more information about an error, try `rustc --explain E0601`.","code":null,"level":"","spans":[],"children":[],"rendered":"For more information about an error, try `rustc --explain E0601`.\n"}
[00:54:11]
[00:54:11] error: internal compiler error: unexpected panic
[00:54:11]
[00:54:11] note: the compiler unexpectedly panicked. this is a bug.
[00:54:11]
[00:54:11] note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports
[00:54:11]
[00:54:11] note: rustc 1.26.0-dev running on x86_64-unknown-linux-gnu
[00:54:11]
[00:54:11] note: compiler flags: -Z ui-testing -Z miri -Z unstable-options -C prefer-dynamic -C rpath
[00:54:11]
[00:54:11]
[00:54:11] ------------------------------------------
[00:54:11]
[00:54:11] thread '[compile-fail] compile-fail/repr-transparent-other-reprs.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:2901:9
[00:54:11]
[00:54:11] ---- [compile-fail] compile-fail/resolve_self_super_hint.rs stdout ----
[00:54:11]
[00:54:11] error: compiler encountered internal error
[00:54:11] status: exit code: 101
[00:54:11] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/compile-fail/resolve_self_super_hint.rs" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/compile-fail" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/compile-fail/resolve_self_super_hint.stage2-x86_64-unknown-linux-gnu" "-Crpath" "-O" "-Zmiri" "-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/compile-fail/resolve_self_super_hint.stage2-x86_64-unknown-linux-gnu.aux" "-A" "unused"
---
[00:54:11] {"message":"unresolved import `alloc`","code":{"code":"E0432","explanation":"\nAn import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nPaths in `use` statements are relative to the crate root. To import items\nrelative to the current and parent modules, use the `self::` and `super::`\nprefixes, respectively. Also verify that you didn't misspell the import\nname and that the import exists in the module from where you tried to\nimport it. Example:\n\n```\nuse self::something::Foo; // ok!\n\nmod something {\n    pub struct Foo;\n}\n# fn main() {}\n```\n\nOr, if you tried to use a module from an external crate, you may have missed\nthe `extern crate` declaration (which is usually placed in the crate root):\n\n```\nextern crate core; // Required to use the `core` crate\n\nuse core::any;\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/resolve_self_super_hint.rs","byte_start":559,"byte_end":564,"line_start":16,"line_end":16,"column_start":9,"column_end":14,"is_primary":true,"text":[{"text":"    use alloc::HashMap;","highlight_start":9,"highlight_end":14}],"label":"Did you mean `self::alloc`?","suggested_replacement":null,"expansion":null}],"children":[],"rendered":"error[E0432]: unresolved import `alloc`\n  --> /checkout/src/test/compile-fail/resolve_self_super_hint.rs:16:9\n   |\nLL |     use alloc::HashMap;\n   |         ^^^^^ Did you mean `self::alloc`?\n\n"}
[00:54:11] {"message":"unresolved import `alloc`","code":{"code":"E0432","explanation":"\nAn import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nPaths in `use` statements are relative to the crate root. To import items\nrelative to the current and parent modules, use the `self::` and `super::`\nprefixes, respectively. Also verify that you didn't misspell the import\nname and that the import exists in the module from where you tried to\nimport it. Example:\n\n```\nuse self::something::Foo; // ok!\n\nmod something {\n    pub struct Foo;\n}\n# fn main() {}\n```\n\nOr, if you tried to use a module from an external crate, you may have missed\nthe `extern crate` declaration (which is usually placed in the crate root):\n\n```\nextern crate core; // Required to use the `core` crate\n\nuse core::any;\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/resolve_self_super_hint.rs","byte_start":685,"byte_end":690,"line_start":20,"line_end":20,"column_start":13,"column_end":18,"is_primary":true,"text":[{"text":"        use alloc::HashMap;","highlight_start":13,"highlight_end":18}],"label":"Did you mean `a::alloc`?","suggested_replacement":null,"expansion":null}],"children":[],"rendered":"error[E0432]: unresolved import `alloc`\n  --> /checkout/src/test/compile-fail/resolve_self_super_hint.rs:20:13\n   |\nLL |         use alloc::HashMap;\n   |             ^^^^^ Did you mean `a::alloc`?\n\n"}
[00:54:11] {"message":"unresolved import `alloc`","code":{"code":"E0432","explanation":"\nAn import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nPaths in `use` statements are relative to the crate root. To import items\nrelative to the current and parent modules, use the `self::` and `super::`\nprefixes, respectively. Also verify that you didn't misspell the import\nname and that the import exists in the module from where you tried to\nimport it. Example:\n\n```\nuse self::something::Foo; // ok!\n\nmod something {\n    pub struct Foo;\n}\n# fn main() {}\n```\n\nOr, if you tried to use a module from an external crate, you may have missed\nthe `extern crate` declaration (which is usually placed in the crate root):\n\n```\nextern crate core; // Required to use the `core` crate\n\nuse core::any;\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/resolve_self_super_hint.rs","byte_start":824,"byte_end":829,"line_start":24,"line_end":24,"column_start":17,"column_end":22,"is_primary":true,"text":[{"text":"            use alloc::HashMap;","highlight_start":17,"highlight_end":22}],"label":"Did you mean `a::alloc`?","suggested_replacement":null,"expansion":null}],"children":[],"rendered":"error[E0432]: unresolved import `alloc`\n  --> /checkout/src/test/compile-fail/resolve_self_super_hint.rs:24:17\n   |\nLL |             use alloc::HashMap;\n   |                 ^^^^^ Did you mean `a::alloc`?\n\n"}
[00:54:11] {"message":"unresolved import `alloc`","code":{"code":"E0432","explanation":"\nAn import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nPaths in `use` statements are relative to the crate root. To import items\nrelative to the current and parent modules, use the `self::` and `super::`\nprefixes, respectively. Also verify that you didn't misspell the import\nname and that the import exists in the module from where you tried to\nimport it. Example:\n\n```\nuse self::something::Foo; // ok!\n\nmod something {\n    pub struct Foo;\n}\n# fn main() {}\n```\n\nOr, if you tried to use a module from an external crate, you may have missed\nthe `extern crate` declaration (which is usually placed in the crate root):\n\n```\nextern crate core; // Required to use the `core` crate\n\nuse core::any;\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/resolve_self_super_hint.rs","byte_start":979,"byte_end":984,"line_start":28,"line_end":28,"column_start":21,"column_end":26,"is_primary":true,"text":[{"text":"                use alloc::HashMap;","highlight_start":21,"highlight_end":26}],"label":"Did you mean `a::alloc`?","suggested_replacement":null,"expansion":null}],"children":[],"rendered":"error[E0432]: unresolved import `alloc`\n  --> /checkout/src/test/compile-fail/resolve_self_super_hint.rs:28:21\n   |\nLL |                 use alloc::HashMap;\n   |                     ^^^^^ Did you mean `a::alloc`?\n\n"}
[00:54:11] {"message":"`main` function not found in crate `resolve_self_super_hint`","code":{"code":"E0601","explanation":"\nNo `main` function was found in a binary crate. To fix this error, add a\n`main` function. For example:\n\n```\nfn main() {\n    // Your program will start here.\n    println!(\"Hello world!\");\n}\n```\n\nIf you don't know the basics of Rust, you can go look to the Rust Book to get\nstarted: https://doc.rust-lang.org/book/\n"},"level":"error","spans":[],"children":[{"message":"consider adding a `main` function to `/checkout/src/test/compile-fail/resolve_self_super_hint.rs`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error[E0601]: `main` function not found in crate `resolve_self_super_hint`\n   |\n   = note: consider adding a `main` function to `/checkout/src/test/compile-fail/resolve_self_super_hint.rs`\n\n"}
[00:54:11] thread 'rustc' panicked at 'value was not set', libcore/option.rs:916:5
[00:54:11] note: Run with `RUST_BACKTRACE=1` for a backtrace.
[0```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/unresolved-import.rs","byte_start":503,"byte_end":506,"line_start":13,"line_end":13,"column_start":5,"column_end":8,"is_primary":true,"text":[{"text":"use foo::bar; //~ ERROR unresolved import `foo` [E0432]","highlight_start":5,"highlight_end":8}],"label":"Maybe a missing `extern crate foo;`?","suggested_replacement":null,"expansion":null}],"children":[],"rendered":"error[E0432]: unresolved import `foo`\n  --> /checkout/src/test/compile-fail/unresolved-import.rs:13:5\n   |\nLL | use foo::bar; //~ ERROR unresolved import `foo` [E0432]\n   |     ^^^ Maybe a missing `extern crate foo;`?\n\n"}
[00:54:11] {"message":"unresolved import `bar::Baz`","code":{"code":"E0432","explanation":"\nAn import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nPaths in `use` statements are relative to the crate root. To import items\nrelative to the current and parent modules, use the `self::` and `super::`\nprefixes, respectively. Also verify that you didn't misspell the import\nname and that the import exists in the module from where you tried to\nimport it. Example:\n\n```\nuse self::something::Foo; // ok!\n\nmod something {\n    pub struct Foo;\n}\n# fn main() {}\n```\n\nOr, if you tried to use a module from an external crate, you may have missed\nthe `extern crate` declaration (which is usually placed in the crate root):\n\n```\nextern crate core; // Required to use the `core` crate\n\nuse core::any;\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"/checkoufail/unresolved-import.rs","byte_start":883,"byte_end":895,"line_start":22,"line_end":22,"column_start":12,"column_end":24,"is_primary":true,"text":[{"text":"use food::{beens as Foo}; //~ ERROR unresolved import `food::beens` [E0432]","highlight_start":12,"highlight_end":24}],"label":"no `beens` in `food`. Did you mean to use `beans`?","suggested_replacement":null,"expansion":null}],"children":[],"rendered":"error[E0432]: unresolved import `food::beens`\n  --> /checkout/src/test/compile-fail/unresolved-import.rs:22:12\n   |\nLL | use food::{beens as Foo}; //~ ERROR unresolved import `food::beens` [E0432]\n   |            ^^^^^^^^^^^^ no `beens` in `food`. Did you mean to use `beans`?\n\n"}
[00:54:11] {"message":"unresolved import `MyEnum`","code":{"code":"E0432","explanation":"\nAn import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nPaths in `use` statements are relative to the crate root. To import items\nrelative to the current and parent modules, use the `self::` and `super::`\nprefixes, respectively. Also verify that you didn't misspell the import\nname and that the import exists in the module from where you tried to\nimport it. Example:\n\n```\nuse self::something::Foo; // ok!\n\nmod something {\n    pub struct Foo;\n}\n# fn main() {}\n```\n\nOr, if you tried to use a module from an external crate, you may have missed\nthe `extern crate` declaration (which is usually placed in the crate root):\n\n```\nextern crate core; // Required to use the `core` crate\n\nuse core::any;\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/unresolved-import.rs","byte_start":1281,"byte_end":1287,"line_start":44,"line_end":44,"column_start":9,"column_end":15,"is_primary":true,"text":[{"text":"    use MyEnum::*; //~ ERROR unresolved import `MyEnum` [E0432]","highlight_start":9,"highlight_end":15}],"label":"Did you mean `self::MyEnum`?","suggested_replacement":null,"expansion":null}],"children":[],"rendered":"error[E0432]: unresolved import `MyEnum`\n  --> /checkout/src/test/compile-fail/unresolved-import.rs:44:9\n   |\nLL |     use MyEnum::*; //~ ERROR unresolved import `MyEnum` [E0432]\n   |         ^^^^^^ Did you mean `self::MyEnum`?\n\n"}
[00:54:11] {"message":"unresolved import `Enum`","code":{"code":"E0432","explanation":"\nAn import was unresolved.\n\nErroneous code example:\n\n```compile_fail,E0432\nuse something::Foo; // error: unresolved import `something::Foo`.\n```\n\nPaths in `use` statements are relative to the crate root. To import items\nrelative to the current and parent modules, use the `self::` and `super::`\nprefixes, respectively. Also verify that you didn't misspell the import\nname and that the import exists in the module from where you tried to\nimport it. Example:\n\n```\nuse self::something::Foo; // ok!\n\nmod something {\n    pub struct Foo;\n}\n# fn main() {}\n```\n\nOr, if you tried to use a module from an external crate, you may have missed\nthe `extern crate` declaration (which is usually placed in the crate root):\n\n```\nextern crate core; // Required to use the `core` crate\n\nuse core::any;\n# fn main() {}\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/unresolved-import.rs","byte_start":1452,"byte_end":1456,"line_start":53,"line_end":53,"column_start":9,"column_end":13,"is_primary":true,"text":[{"text":"    use Enum::*; //~ ERROR unresolved import `Enum` [E0432]","highlight_start":9,"highlight_end":13}],"label":"Did you mean `self::Enum`?","suggested_replacement":null,"expansion":null}],"children":[],"rendered":"error[E0432]: unresolved import `Enum`\n  --> /checkout/src/test/compile-fail/unresolved-import.rs:53:9\n   |\nLL |     use Enum::*; //~ ERROR unresolved import `Enum` [E0432]\n   |         ^^^^ Did you mean `self::Enum`?\n\n"}
[00:54:11] {"message":"`main` function not found in crate `unresolved_import`","code":{"code":"E0601","explanation":"\nNo `main` function was found in a binary crate. To fix this error, add a\n`main` function. For example:\n\n```\nfn main() {\n    // Your program will start here.\n    println!(\"Hello world!\");\n}\n```\n\nIf you don't know the basics of Rust, you can go look to the Rust Book to get\nstarted: https://doc.rust-lang.org/book/\n"},"level":"error","spans":[],"children":[{"message":"consider adding a `main` function to `/checkout/src/test/compile-fail/unresolved-import.rs`","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error[E0601]: `main` function not found in crate `unresolved_import`\n   |\n   = note: consider adding a `main` function to `/checkout/src/test/compile-fail/unresolved-import.rs`\n\n"}
[00:54:11] thread 'rustc' panicked at 'value was not set', libcore/option.rs:916:5
[00:54:11] note: Run with `RUST_BACKTRACE=1` for a backtrace.
[00:54:11] {"message":"aborting due to 7 previousompile-fail/privacy/restricted/tuple-struct-fields/test.rs
[00:54:11]     [compile-fail] compile-fail/repr-transparent-other-reprs.rs
[00:54:11]     [compile-fail] compile-fail/resolve_self_super_hint.rs
[00:54:11]     [compile-fail] compile-fail/unresolved-import.rs
[00:54:11]     [compile-fail] compile-fail/user-defined-macro-rules.rs
---
[00:54:11] 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/compile-fail" "--build-base" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/compile-fail" "--stage-id" "stage2-x86_64-unknown-linux-gnu" "--mode" "compile-fail" "--target" "x86_64-unknown-linux-gnu" "--host" "x86_64-unknown-linux-gnu" "--llvm-filecheck" "/usr/lib/llvm-3.9/bin/FileCheck" "--host-rustcflags" "-Crpath -O -Zmiri -Zunstable-options " "--target-rustcflags" "-Crpath -O -Zmiri -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" "3.9.1\n5837
$ ls -lat $HOME/Library/Logs/DiagnosticReports/
ls: cannot access /home/travis/Library/Logs/DiagnosticReports/: No such file or directory
travis_time:end:0c825837:start=1522652393227058657,finish=1522652393236258208,duration=9199551
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:114f33a2
$ find $HOME/Library/Logs/DiagnosticReports -type f -name '*.crash' -not -name '*.stage2-*.crash' -not -name 'com.apple.CoreSimulator.CoreSimulatorService-*.crash' -exec printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" {} \; -exec head -750 {} \; -exec echo travis_fold":"end:crashlog \; || true
find: `/home/travis/Library/Logs/DiagnosticReports': No such file or directory
travis_time:end:114f33a2:start=1522652393245052686,finish=1522652393253219252,duration=8166566
travis_fold:end:after_failure.5
travis_fold:start:after_failure.6
travis_time:start:095afc0e
$ dmesg | grep -i kill
[   11.226888] init: failsafe main process (1094) killed by TERM signal

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.

@pietroalbini pietroalbini added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Apr 2, 2018
@shepmaster
Copy link
Member

Ping from triage, @michaelwoerister !

@bors
Copy link
Contributor

bors commented Apr 8, 2018

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

@@ -241,6 +242,75 @@ impl<K: Eq + Hash, V: Eq, S: BuildHasher> HashMapExt<K, V> for HashMap<K, V, S>
}
}

/// A type whose inner value can be written once and then will stay read-only
pub struct Once<T>(Lock<Option<T>>, PhantomData<T>);
Copy link
Member

Choose a reason for hiding this comment

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

What's the PhantomData for?

Copy link
Contributor Author

@Zoxc Zoxc Apr 9, 2018

Choose a reason for hiding this comment

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

Once conceptually owns a T outside the lock once it is initialized. This ensures we get the right impl for Sync: impl<T: Sync> Sync for Once<T>

Copy link
Member

Choose a reason for hiding this comment

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

Good catch! Could you add a comment explaining that?

Copy link
Member

@michaelwoerister michaelwoerister Apr 9, 2018

Choose a reason for hiding this comment

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

Plus maybe an example of how one could exploit Once<T> if the PhantomData was not there?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done.

@@ -154,13 +154,13 @@ fn get_llvm_opt_size(optimize: config::OptLevel) -> llvm::CodeGenOptSize {
}
}

pub fn create_target_machine(sess: &Session) -> TargetMachineRef {
target_machine_factory(sess)().unwrap_or_else(|err| {
pub fn create_target_machine(sess: &Session, find_features: bool) -> TargetMachineRef {
Copy link
Member

Choose a reason for hiding this comment

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

What's the find_features parameter about?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

create_target_machine calls is_pie_binary which requires crate_types. However when we are discovering the target CPU features, crate_types is uninitialized. So we pass in find_features to let create_target_machine assume that we aren't looking at a pie binary.

Copy link
Member

Choose a reason for hiding this comment

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

Ah, OK. Could you add a comment explaining that?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done.

// This may overwrite the cache with the same value
self.tcx().evaluation_cache
.hashmap.borrow_mut()
.insert(trait_ref, WithDepNode::new(dep_node, result));
Copy link
Member

Choose a reason for hiding this comment

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

Should this use insert_same()?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The type inserted doesn't implement Eq, so it cannot use insert_same.

Copy link
Member

Choose a reason for hiding this comment

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

For this one, implementing Eq should be easy. Let's do it.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done.

// This may overwrite the cache with the same value
tcx.selection_cache
.hashmap.borrow_mut()
.insert(trait_ref, WithDepNode::new(dep_node, candidate));
Copy link
Member

Choose a reason for hiding this comment

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

This might also be a candidate for insert_same().

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Same thing, the type inserted doesn't implement Eq, so it cannot use insert_same.

Copy link
Member

Choose a reason for hiding this comment

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

Yeah, this one looks more complicated. Pity.

}

#[inline]
pub fn try_set(&self, value: T) -> Option<T> {
Copy link
Member

Choose a reason for hiding this comment

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

Could you document this method, especially what the return value is.

}

#[inline(always)]
pub fn try_get(&self) -> Option<&T> {
Copy link
Member

Choose a reason for hiding this comment

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

This method could use documentation too.

}

#[inline]
pub fn init_locking<F: FnOnce() -> T>(&self, f: F) {
Copy link
Member

Choose a reason for hiding this comment

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

init_locking and init_nonlocking should be documented to. I needed a while to see what these are about but the difference can be explained rather quickly.

@michaelwoerister
Copy link
Member

Looks great, thanks @Zoxc!

@michaelwoerister
Copy link
Member

@bors r+

@bors
Copy link
Contributor

bors commented Apr 12, 2018

📌 Commit 006f9b2 has been approved by michaelwoerister

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

bors commented Apr 12, 2018

⌛ Testing commit 006f9b2 with merge 6c53749...

bors added a commit that referenced this pull request Apr 12, 2018
@bors
Copy link
Contributor

bors commented Apr 12, 2018

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

@bors bors merged commit 006f9b2 into rust-lang:master Apr 12, 2018
@Zoxc Zoxc deleted the sync-misc branch April 12, 2018 19:24
bors added a commit that referenced this pull request May 9, 2018
Make SelectionCache and EvaluationCache thread-safe

Split out from #49558

r? @nikomatsakis
nnethercote added a commit to nnethercote/rust that referenced this pull request Nov 10, 2023
The included measurements have varied over the years. At one point there
were quite a few more, but rust-lang#49558 deleted a lot that were no longer
used. Today there's just four, and it's a motley collection that doesn't
seem particularly valuable.

I think it has been well and truly subsumed by self-profiling, which
collects way more data.
nnethercote added a commit to nnethercote/rust that referenced this pull request Nov 12, 2023
The included measurements have varied over the years. At one point there
were quite a few more, but rust-lang#49558 deleted a lot that were no longer
used. Today there's just four, and it's a motley collection that doesn't
seem particularly valuable.

I think it has been well and truly subsumed by self-profiling, which
collects way more data.
bors added a commit to rust-lang-ci/rust that referenced this pull request Nov 14, 2023
…wiser

Remove `-Zperf-stats`.

The included measurements have varied over the years. At one point there were quite a few more, but rust-lang#49558 deleted a lot that were no longer used. Today there's just four, and it's a motley collection that doesn't seem particularly valuable.

I think it has been well and truly subsumed by self-profiling, which collects way more data.

r? `@wesleywiser`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants