aboutsummaryrefslogtreecommitdiffstats
path: root/src/github.rs
diff options
context:
space:
mode:
authorTeddy Wing2017-11-09 20:05:44 +0100
committerTeddy Wing2017-11-09 20:05:44 +0100
commit69b930565a118f1f9890492e9f3130e23091b398 (patch)
tree1636ce6350bf064ef99d764958b63c1f700b1a5e /src/github.rs
parentfe3401411a324a7777514f66b1e79a3331ed0690 (diff)
downloadkipper-69b930565a118f1f9890492e9f3130e23091b398.tar.bz2
Fix move compilation errors in `find_and_track_build_and_update_status`
I had a bunch of compilation errors in this function because I wasn't borrowing correctly. Fix the errors with borrows by reference, and copying strings. Here are the errors for reference: error[E0373]: closure may outlive the current function, but it borrows `job`, which is owned by the current function --> src/jenkins.rs:89:27 | 89 | thread::spawn(|| { | ^^ may outlive borrowed value `job` ... 94 | job.result.commit_status(), | --- `job` is borrowed here | help: to force the closure to take ownership of `job` (and any other referenced variables), use the `move` keyword | 89 | thread::spawn(move || { | ^^^^^^^ error[E0373]: closure may outlive the current function, but it borrows `job_url`, which is owned by the current function --> src/jenkins.rs:89:27 | 89 | thread::spawn(|| { | ^^ may outlive borrowed value `job_url` ... 96 | job_url.clone(), | ------- `job_url` is borrowed here | help: to force the closure to take ownership of `job_url` (and any other referenced variables), use the `move` keyword | 89 | thread::spawn(move || { | ^^^^^^^ error[E0382]: use of moved value: `commit_ref` --> src/jenkins.rs:88:32 | 88 | if job_for_commit(job, commit_ref) { | ^^^^^^^^^^ value moved here in previous iteration of loop | = note: move occurs because `commit_ref` has type `pull_request::CommitRef`, which does not implement the `Copy` trait error[E0382]: capture of moved value: `commit_ref` --> src/jenkins.rs:93:21 | 88 | if job_for_commit(job, commit_ref) { | ---------- value moved here ... 93 | commit_ref, | ^^^^^^^^^^ value captured here after move | = note: move occurs because `commit_ref` has type `pull_request::CommitRef`, which does not implement the `Copy` trait error[E0382]: capture of moved value: `job` --> src/jenkins.rs:89:27 | 88 | if job_for_commit(job, commit_ref) { | --- value moved here 89 | thread::spawn(|| { | ^^ value captured here after move | = note: move occurs because `job` has type `jenkins::Job`, which does not implement the `Copy` trait error[E0382]: capture of moved value: `job_url` --> src/jenkins.rs:89:27 | 85 | let job = request_job(job_url); | ------- value moved here ... 89 | thread::spawn(|| { | ^^ value captured here after move | = note: move occurs because `job_url` has type `std::string::String`, which does not implement the `Copy` trait
Diffstat (limited to 'src/github.rs')
-rw-r--r--src/github.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/github.rs b/src/github.rs
index c5cedca..0eb85b0 100644
--- a/src/github.rs
+++ b/src/github.rs
@@ -33,8 +33,8 @@ impl fmt::Display for CommitStatus {
}
pub fn update_commit_status(
- commit_ref: CommitRef,
- state: CommitStatus,
+ commit_ref: &CommitRef,
+ state: &CommitStatus,
target_url: String,
description: Option<String>,
context: String,