diff options
author | Teddy Wing | 2017-11-09 20:05:44 +0100 |
---|---|---|
committer | Teddy Wing | 2017-11-09 20:05:44 +0100 |
commit | 69b930565a118f1f9890492e9f3130e23091b398 (patch) | |
tree | 1636ce6350bf064ef99d764958b63c1f700b1a5e /src/af83.rs | |
parent | fe3401411a324a7777514f66b1e79a3331ed0690 (diff) | |
download | kipper-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/af83.rs')
-rw-r--r-- | src/af83.rs | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/af83.rs b/src/af83.rs index bc8876c..1547700 100644 --- a/src/af83.rs +++ b/src/af83.rs @@ -1,6 +1,6 @@ use pull_request::CommitRef; -pub fn job_name(commit_ref: CommitRef) -> String { +pub fn job_name(commit_ref: &CommitRef) -> String { let (sha, _) = commit_ref.sha.split_at(5); format!("{}-{}", commit_ref.branch, sha) |