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

Add a Rayon thread pool #50235

Merged
merged 5 commits into from
May 13, 2018
Merged

Add a Rayon thread pool #50235

merged 5 commits into from
May 13, 2018

Conversation

Zoxc
Copy link
Contributor

@Zoxc Zoxc commented Apr 25, 2018

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Apr 25, 2018
@rust-highfive

This comment has been minimized.

@bors
Copy link
Contributor

bors commented Apr 25, 2018

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

@rust-highfive

This comment has been minimized.

@bors
Copy link
Contributor

bors commented Apr 26, 2018

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

@Zoxc Zoxc force-pushed the rayon branch 2 times, most recently from 75d6eed to 66e389d Compare April 27, 2018 12:52
@Zoxc
Copy link
Contributor Author

Zoxc commented Apr 27, 2018

Here are the changes to Rayon required, which I propose publishing in a rustc-rayon crate. I'd like @cuviper or @nikomatsakis to look over that.

@bors
Copy link
Contributor

bors commented Apr 27, 2018

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

@Zoxc Zoxc force-pushed the rayon branch 2 times, most recently from c61e880 to d7c8e82 Compare May 4, 2018 05:22
@rust-highfive
Copy link
Collaborator

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

Click to expand the log.
######################################################################## 100.0%
[00:01:07] extracting /checkout/obj/build/cache/2018-04-24/cargo-beta-x86_64-unknown-linux-gnu.tar.gz
[00:01:10]     Updating registry `https://github.com/rust-lang/crates.io-index`
[00:01:29]     Updating git repository `https://github.com/Zoxc/rayon.git`
[00:01:42] error: the lock file needs to be updated but --locked was passed to prevent this
[00:01:42] failed to run: /checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo build --manifest-path /checkout/src/bootstrap/Cargo.toml --locked
[00:01:42] Build completed unsuccessfully in 0:00:57
[00:01:42] make: *** [prepare] Error 1
[00:01:42] Makefile:81: recipe for target 'prepare' failed
[00:01:43]     Updating git repository `https://github.com/Zoxc/rayon.git`
[00:01:43]     Updating git repository `https://github.com/Zoxc/rayon.git`
[00:01:45] error: the lock file needs to be updated but --locked was passed to prevent this
[00:01:45] failed to run: /checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo build --manifest-path /checkout/src/bootstrap/Cargo.toml --locked
[00:01:45] Build completed unsuccessfully in 0:00:02
[00:01:45] make: *** [prepare] Error 1
[00:01:45] Makefile:81: recipe for target 'prepare' failed
[00:01:45]     Updating git repository `https://github.com/Zoxc/rayon.git`
[00:01:45]     Updating git repository `https://github.com/Zoxc/rayon.git`
[00:01:46] error: the lock file needs to be updated but --locked was passed to prevent this
[00:01:46] failed to run: /checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo build --manifest-path /checkout/src/bootstrap/Cargo.toml --locked
[00:01:46] Build completed unsuccessfully in 0:00:01
[00:01:46] make: *** [prepare] Error 1
[00:01:46] Makefile:81: recipe for target 'prepare' failed
[00:01:46]     Updating git repository `https://github.com/Zoxc/rayon.git`
[00:01:46]     Updating git repository `https://github.com/Zoxc/rayon.git`
[00:01:48] error: the lock file needs to be updated but --locked was passed to prevent this
[00:01:48] failed to run: /checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo build --manifest-path /checkout/src/bootstrap/Cargo.toml --locked
[00:01:48] Build completed unsuccessfully in 0:00:01
[00:01:48] Makefile:81: recipe for target 'prepare' failed
[00:01:48] make: *** [prepare] Error 1
[00:01:48]     Updating git repository `https://github.com/Zoxc/rayon.git`
[00:01:48]     Updating git repository `https://github.com/Zoxc/rayon.git`
[00:01:49] error: the lock file needs to be updated but --locked was passed to prevent this
[00:01:49] failed to run: /checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo build --manifest-path /checkout/src/bootstrap/Cargo.toml --locked
[00:01:49] Build completed unsuccessfully in 0:00:01
[00:01:49] make: *** [prepare] Error 1
[00:01:49] Makefile:81: recipe for target 'prepare' failed
[00:01:49] The command has failed after 5 attempts.

The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 1.
travis_time:start:025c4a8d
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)

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

Copy link
Member

@michaelwoerister michaelwoerister left a comment

Choose a reason for hiding this comment

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

Looks great, @Zoxc! It's very nice how well this is integrated with Rayon's abstractions.

I hope we can clean up the handling of thread-local state in the future. All this setting and forwarding is becoming a bit unwieldy.

I took a quick look at the changes to Rayon and they look sensible to me but @nikomatsakis still needs to review them before we can merge this.

@@ -198,7 +200,7 @@ pub fn run<F>(run_compiler: F) -> isize
0
}

fn load_backend_from_dylib(path: &Path) -> fn() -> Box<TransCrate> {
fn load_backend_from_dylib(path: &Path) -> fn() -> Box<TransCrate + sync::Send> {
Copy link
Member

Choose a reason for hiding this comment

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

Maybe Box<TransCrate + sync::Send> could get a type alias like CrateStoreDyn to clean things up.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I've moved the creation of the thread-pool to an earlier stage, so TransCrate does not require Send.

@@ -503,7 +503,7 @@ impl PartialOrd<InternedString> for InternedString {
if self.symbol == other.symbol {
return Some(Ordering::Equal);
}
self.with(|self_str| other.with(|other_str| self_str.partial_cmp(&other_str)))
self.as_str().partial_cmp(&other.as_str())
Copy link
Member

Choose a reason for hiding this comment

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

Did you ever get to the bottom of why this is necessary?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Apparently it is this bug: #48406

@michaelwoerister
Copy link
Member

Ideally we would merge the rayon changes into upstream if they seem general purpose enough.

@rust-highfive
Copy link
Collaborator

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

Click to expand the log.
[00:05:20]    Compiling nodrop v0.1.12
[00:05:20]    Compiling memoffset v0.2.1
[00:05:20]    Compiling lazy_static v1.0.0
[00:05:20]    Compiling scopeguard v0.3.3
[00:05:20]    Compiling rustc-rayon-core v1.4.0 (https://github.com/Zoxc/rayon.git?branch=rustc#7874a154)
[00:05:20]    Compiling stable_deref_trait v1.0.0
[00:05:20]    Compiling smallvec v0.6.0
[00:05:20]    Compiling bitflags v1.0.1
[00:05:20]    Compiling either v1.5.0
---
[00:05:53]    Compiling crossbeam-deque v0.2.0
[00:05:54]    Compiling rls-data v0.15.0
[00:05:54]    Compiling flate2 v1.0.1
[00:06:00]    Compiling backtrace v0.3.6
[00:06:07]    Compiling rustc-rayon v1.0.1 (https://github.com/Zoxc/rayon.git?branch=rustc#7874a154)
[00:06:10]    Compiling rustc_data_structures v0.0.0 (file:///checkout/src/librustc_data_structures)
[00:06:13] error[E0277]: the trait bound `str: std::cmp::PartialOrd<&str>` is not satisfied
[00:06:13]    --> libsyntax_pos/symbol.rs:506:62
[00:06:13]     |
[00:06:13] 506 |         self.with(|self_str| other.with(|other_str| self_str.partial_cmp(&other_str)))
[00:06:13]     |                                                              ^^^^^^^^^^^ can't compare `str` with `&str`
[00:06:13]     |
[00:06:13]     = help: the trait `std::cmp::PartialOrd<&str>` is not implemented for `str`
[00:06:13] error: aborting due to previous error
[00:06:13] 
[00:06:13] For more information about this error, try `rustc --explain E0277`.
[00:06:13] error: Could not compile `syntax_pos`.
[00:06:13] error: Could not compile `syntax_pos`.
[00:06:13] 
[00:06:13] Caused by:
[00:06:13]   process didn't exit successfully: `/checkout/obj/build/bootstrap/debug/rustc --crate-name syntax_pos libsyntax_pos/lib.rs --color always --error-format json --crate-type dylib --emit=dep-info,link -C prefer-dynamic -C opt-level=3 -C metadata=6be905c10433596b -C extra-filename=-6be905c10433596b --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-ru

The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:1935214c
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)

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

@rust-highfive
Copy link
Collaborator

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

Click to expand the log.
[00:04:45]    Compiling libc v0.2.40
[00:04:45]    Compiling lazy_static v1.0.0
[00:04:45]    Compiling memoffset v0.2.1
[00:04:45]    Compiling scopeguard v0.3.3
[00:04:45]    Compiling rustc-rayon-core v1.4.0 (https://github.com/Zoxc/rayon.git?branch=rustc#7874a154)
[00:04:45]    Compiling smallvec v0.6.0
[00:04:45]    Compiling either v1.5.0
[00:04:46]    Compiling bitflags v1.0.1
[00:04:46]    Compiling serialize v0.0.0 (file:///checkout/src/libserialize)
---
[00:05:15]    Compiling rls-data v0.15.0
[00:05:17]    Compiling crossbeam-deque v0.2.0
[00:05:18]    Compiling parking_lot v0.5.5
[00:05:18]    Compiling flate2 v1.0.1
[00:05:25]    Compiling rustc-rayon v1.0.1 (https://github.com/Zoxc/rayon.git?branch=rustc#7874a154)
[00:05:32]    Compiling rustc_data_structures v0.0.0 (file:///checkout/src/librustc_data_structures)
[00:05:34]    Compiling syntax_pos v0.0.0 (file:///checkout/src/libsyntax_pos)
[00:05:34]    Compiling arena v0.0.0 (file:///checkout/src/libarena)
[00:05:38]    Compiling rustc_errors v0.0.0 (file:///checkout/src/librustc_errors)
---
[00:22:04]    Compiling memoffset v0.2.1
[00:22:04]    Compiling scopeguard v0.3.3
[00:22:04]    Compiling lazy_static v1.0.0
[00:22:04]    Compiling libc v0.2.40
[00:22:04]    Compiling rustc-rayon-core v1.4.0 (https://github.com/Zoxc/rayon.git?branch=rustc#7874a154)
[00:22:05]    Compiling stable_deref_trait v1.0.0
[00:22:05]    Compiling either v1.5.0
[00:22:05]    Compiling bitflags v1.0.1
[00:22:05]    Compiling serialize v0.0.0 (file:///checkout/src/libserialize)
---
[00:22:26]    Compiling crossbeam-deque v0.2.0
[00:22:26]    Compiling parking_lot v0.5.5
[00:22:29]    Compiling rls-data v0.15.0
[00:22:31]    Compiling flate2 v1.0.1
[00:22:32]    Compiling rustc-rayon v1.0.1 (https://github.com/Zoxc/rayon.git?branch=rustc#7874a154)
[00:22:39]    Compiling rustc_data_structures v0.0.0 (file:///checkout/src/librustc_data_structures)
[00:22:42]    Compiling syntax_pos v0.0.0 (file:///checkout/src/libsyntax_pos)
[00:22:42]    Compiling arena v0.0.0 (file:///checkout/src/libarena)
[00:22:45]    Compiling rustc_errors v0.0.0 (file:///checkout/src/librustc_errors)
---
[00:40:39]    Compiling crossbeam-epoch v0.3.1
[00:40:39]    Compiling crossbeam-deque v0.2.0
[00:40:40]    Compiling rand v0.3.22
[00:40:40]    Compiling parking_lot_core v0.2.14
[00:40:40]    Compiling rustc-rayon-core v1.4.0 (https://github.com/Zoxc/rayon.git?branch=rustc#7874a154)
[00:40:40]    Compiling parking_lot v0.5.5
[00:40:41]    Compiling rustc-rayon v1.0.1 (https://github.com/Zoxc/rayon.git?branch=rustc#7874a154)
[00:40:44]    Compiling rustc_data_structures v0.0.0 (file:///checkout/src/librustc_data_structures)
[00:40:47]    Compiling syntax_pos v0.0.0 (file:///checkout/src/libsyntax_pos)
[00:40:49]    Compiling rustc_errors v0.0.0 (file:///checkout/src/librustc_errors)
[00:40:51]    Compiling syntax v0.0.0 (file:///checkout/src/libsyntax)
[00:40:51]    Compiling syntax v0.0.0 (file:///checkout/src/libsyntax)
[00:41:13]  Documenting proc_macro v0.0.0 (file:///checkout/src/libproc_macro)
[00:41:14] warning: [cfg] cannot be resolved, ignoring it...
[00:41:14] 
[00:41:14] warning: [rayon::prelude] cannot be resolved, ignoring it...
[00:41:14] warning: [Experimental] cannot be resolved, ignoring it...
[00:41:14] 
[00:41:14] 
[00:41:14] warning: [plumbing] cannot be resolved, ignoring it...
[00:41:14] warning: [Garbage] cannot be resolved, ignoring it...
[00:41:14] 
[00:41:15]     Finished release [optimized] target(s) in 37.63 secs
[00:41:15] Documenting stage2 compiler (x86_64-unknown-linux-gnu)
---
[01:19:11] travis_fold:start:test_stage1-rustc_driver
travis_time:start:test_stage1-rustc_driver
Testing rustc_driver stage1 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
[01:19:11]    Compiling rustc_driver v0.0.0 (file:///checkout/src/librustc_driver)
[01:19:13] error[E0593]: closure is expected to take 1 argument, but it takes 0 arguments
[01:19:13]    --> librustc_driver/test.rs:120:5
[01:19:13]     |
[01:19:13] 120 |     driver::spawn_thread_pool(&mut sess, || {
[01:19:13]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^            -- takes 0 arguments
[01:19:13]     |     |
[01:19:13]     |     expected closure that takes 1 argument
[01:19:13] error: aborting due to previous error
[01:19:13] 
[01:19:13] For more information about this error, try `rustc --explain E0593`.
[01:19:13] error: Could not compile `rustc_driver`.
[01:19:13] error: Could not compile `rustc_driver`.
[01:19:13] 
[01:19:13] To learn more, run the command again with --verbose.
[01:19:13] 
[01:19:13] 
[01:19:13] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "test" "--target" "x86_64-unknown-linux-gnu" "--release" "--locked" "--color" "always" "--features" " jemalloc" "--manifest-path" "/checkout/src/rustc/Cargo.toml" "-p" "rustc_driver" "--" "--quiet"
[01:19:13] 
[01:19:13] 
[01:19:13] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[01:19:13] Build completed unsuccessfully in 0:37:51
[01:19:13] Build completed unsuccessfully in 0:37:51
[01:19:13] Makefile:58: recipe for target 'check' failed
[01:19:13] make: *** [check] Error 1

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

@rust-highfive
Copy link
Collaborator

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

Click to expand the log.
[00:05:00]    Compiling scopeguard v0.3.3
[00:05:00]    Compiling memoffset v0.2.1
[00:05:00]    Compiling libc v0.2.40
[00:05:00]    Compiling lazy_static v1.0.0
[00:05:00]    Compiling rustc-rayon-core v1.4.0 (https://github.com/Zoxc/rayon.git?branch=rustc#7874a154)
[00:05:00]    Compiling stable_deref_trait v1.0.0
[00:05:00]    Compiling bitflags v1.0.1
[00:05:00]    Compiling either v1.5.0
[00:05:01]    Compiling serialize v0.0.0 (file:///checkout/src/libserialize)
---
[00:05:34]    Compiling crossbeam-deque v0.2.0
[00:05:35]    Compiling parking_lot v0.5.5
[00:05:37]    Compiling rls-data v0.15.0
[00:05:39]    Compiling flate2 v1.0.1
[00:05:44]    Compiling rustc-rayon v1.0.1 (https://github.com/Zoxc/rayon.git?branch=rustc#7874a154)
[00:05:51]    Compiling rustc_data_structures v0.0.0 (file:///checkout/src/librustc_data_structures)
[00:05:54]    Compiling syntax_pos v0.0.0 (file:///checkout/src/libsyntax_pos)
[00:05:54]    Compiling arena v0.0.0 (file:///checkout/src/libarena)
[00:05:58]    Compiling rustc_errors v0.0.0 (file:///checkout/src/librustc_errors)
---
[00:23:38]    Compiling scopeguard v0.3.3
[00:23:38]    Compiling lazy_static v1.0.0
[00:23:39]    Compiling libc v0.2.40
[00:23:39]    Compiling memoffset v0.2.1
[00:23:39]    Compiling rustc-rayon-core v1.4.0 (https://github.com/Zoxc/rayon.git?branch=rustc#7874a154)
[00:23:39]    Compiling smallvec v0.6.0
[00:23:39]    Compiling either v1.5.0
[00:23:39]    Compiling bitflags v1.0.1
[00:23:39]    Compiling serialize v0.0.0 (file:///checkout/src/libserialize)
---
[00:24:03]    Compiling parking_lot v0.5.5
[00:24:06]    Compiling rls-data v0.15.0
[00:24:06]    Compiling flate2 v1.0.1
[00:24:09]    Compiling backtrace v0.3.6
[00:24:11]    Compiling rustc-rayon v1.0.1 (https://github.com/Zoxc/rayon.git?branch=rustc#7874a154)
[00:24:20]    Compiling syntax_pos v0.0.0 (file:///checkout/src/libsyntax_pos)
[00:24:20]    Compiling arena v0.0.0 (file:///checkout/src/libarena)
[00:24:23]    Compiling rustc_errors v0.0.0 (file:///checkout/src/librustc_errors)
[00:25:28]    Compiling proc_macro v0.0.0 (file:///checkout/src/libproc_macro)
---
[00:43:30]    Compiling crossbeam-epoch v0.3.1
[00:43:31]    Compiling crossbeam-deque v0.2.0
[00:43:31]    Compiling rand v0.3.22
[00:43:31]    Compiling parking_lot_core v0.2.14
[00:43:31]    Compiling rustc-rayon-core v1.4.0 (https://github.com/Zoxc/rayon.git?branch=rustc#7874a154)
[00:43:32]    Compiling parking_lot v0.5.5
[00:43:32]    Compiling rustc-rayon v1.0.1 (https://github.com/Zoxc/rayon.git?branch=rustc#7874a154)
[00:43:36]    Compiling rustc_data_structures v0.0.0 (file:///checkout/src/librustc_data_structures)
[00:43:39]    Compiling syntax_pos v0.0.0 (file:///checkout/src/libsyntax_pos)
[00:43:41]    Compiling rustc_errors v0.0.0 (file:///checkout/src/librustc_errors)
[00:43:42]    Compiling syntax v0.0.0 (file:///checkout/src/libsyntax)
[00:43:42]    Compiling syntax v0.0.0 (file:///checkout/src/libsyntax)
[00:44:05]  Documenting proc_macro v0.0.0 (file:///checkout/src/libproc_macro)
[00:44:06] warning: [cfg] cannot be resolved, ignoring it...
[00:44:06] 
[00:44:06] warning: [rayon::prelude] cannot be resolved, ignoring it...
[00:44:07] warning: [Experimental] cannot be resolved, ignoring it...
[00:44:07] 
[00:44:07] 
[00:44:07] warning: [plumbing] cannot be resolved, ignoring it...
[00:44:07] warning: [Garbage] cannot be resolved, ignoring it...
[00:44:07] 
[00:44:07]     Finished release [optimized] target(s) in 39.2 secs
[00:44:07] Documenting stage2 compiler (x86_64-unknown-linux-gnu)
---
Testing rustc_driver stage1 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
[01:23:58]    Compiling rustc_driver v0.0.0 (file:///checkout/src/librustc_driver)
d to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[01:24:01] Build completed unsuccessfully in 0:39:47
[01:24:01] make: *** [check] Error 1
[01:24:01] Makefile:58: recipe for target 'check' failed

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

@Zoxc Zoxc force-pushed the rayon branch 3 times, most recently from a8de59c to f43c046 Compare May 6, 2018 17:24
@shepmaster shepmaster added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels May 6, 2018
@bors bors added the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label May 12, 2018
@Zoxc
Copy link
Contributor Author

Zoxc commented May 12, 2018

I'm curious if there was an actual approval being made.

@michaelwoerister approved it by IRC

Also, I'm against coroutines due to the underlying implementation complexity, primarily regarding soundness.

This version of Rayon doesn't use coroutines.

@bors
Copy link
Contributor

bors commented May 12, 2018

🔒 Merge conflict

@bors bors added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels May 12, 2018
@Zoxc
Copy link
Contributor Author

Zoxc commented May 12, 2018

@bors r=michaelwoerister

@bors
Copy link
Contributor

bors commented May 12, 2018

📌 Commit 4afdae6 has been approved by michaelwoerister

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels May 12, 2018
@bors
Copy link
Contributor

bors commented May 13, 2018

⌛ Testing commit 4afdae6 with merge 844bc65...

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

bors commented May 13, 2018

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

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.

7 participants