From fc3d578eeac9df8040c0944b670a2039fc0df1fc Mon Sep 17 00:00:00 2001 From: Marc Brinkmann Date: Fri, 31 Aug 2018 15:57:10 +0200 Subject: [PATCH] Advance to Rust beta (#221) Update Rust version to `beta` in CI, paving the way for 1.29 stable. --- .travis.yml | 11 +++-------- examples/network/connection.rs | 3 +-- examples/network/node.rs | 3 +-- examples/simulation.rs | 6 ++---- src/broadcast/broadcast.rs | 3 +-- src/dynamic_honey_badger/dynamic_honey_badger.rs | 3 +-- src/dynamic_honey_badger/votes.rs | 13 ++++++------- src/honey_badger/epoch_state.rs | 5 +++-- src/subset.rs | 3 ++- src/sync_key_gen.rs | 3 +-- tests/dynamic_honey_badger.rs | 3 +-- tests/honey_badger.rs | 3 +-- tests/net/mod.rs | 6 ++---- tests/sync_key_gen.rs | 6 ++---- 14 files changed, 27 insertions(+), 44 deletions(-) diff --git a/.travis.yml b/.travis.yml index 3daff49..6f713e4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -28,14 +28,9 @@ env: global: - RUST_BACKTRACE=1 - RUSTFLAGS="-D warnings" - # Note: Currently (as of 2018-07-13), `clippy-preview` is only in the nightly - # release. A version of `rustfmt` that supports the `--check` option - # is also not in stable yet. - # - # A Clear migration path is swapping out `nightly-2018-07-13` with - # `beta` after the stable release of Rust 1.28; and finally migrating - # everything to `stable` at Rust 1.29. - - RUST_NEXT=nightly-2018-07-13 + # Note: `beta` should be removed along with `RUST_NEXT` after the 1.28 + # stable release on 2018-09-13. + - RUST_NEXT=beta - MLOCK_SECRETS=false script: - cargo +${RUST_NEXT} clippy -- --deny clippy diff --git a/examples/network/connection.rs b/examples/network/connection.rs index 200aa5b..5353f8a 100644 --- a/examples/network/connection.rs +++ b/examples/network/connection.rs @@ -41,7 +41,6 @@ pub fn make( TcpStream::connect(address).expect("failed to connect") }; Connection::new(tcp_conn, there_str.to_string()) - }) - .collect(); + }).collect(); (here_str, connections) } diff --git a/examples/network/node.rs b/examples/network/node.rs index 62a77b8..d6b6d32 100644 --- a/examples/network/node.rs +++ b/examples/network/node.rs @@ -213,8 +213,7 @@ impl + PartialEq + Send + Sync + From> + .send(()) .map_err(|e| { error!("{}", e); - }) - .unwrap(); + }).unwrap(); process::exit(0); }) // end of thread scope diff --git a/examples/simulation.rs b/examples/simulation.rs index 8ac3a76..8f1f05c 100644 --- a/examples/simulation.rs +++ b/examples/simulation.rs @@ -156,8 +156,7 @@ where target: msg.target, message: ser_msg, } - }) - .collect(); + }).collect(); let outputs = step .output .into_iter() @@ -204,8 +203,7 @@ where .map(|msg| { let ser_msg = bincode::serialize(&msg.message).expect("serialize"); (msg.target, ser_msg) - }) - .collect(); + }).collect(); self.time += start.elapsed() * self.hw_quality.cpu_factor / 100; let time = self.time; self.outputs diff --git a/src/broadcast/broadcast.rs b/src/broadcast/broadcast.rs index c77863e..244993c 100644 --- a/src/broadcast/broadcast.rs +++ b/src/broadcast/broadcast.rs @@ -343,8 +343,7 @@ impl Broadcast { None } }) - }) - .collect(); + }).collect(); if let Some(value) = decode_from_shards(&mut leaf_values, &self.coding, self.data_shard_num, hash) { diff --git a/src/dynamic_honey_badger/dynamic_honey_badger.rs b/src/dynamic_honey_badger/dynamic_honey_badger.rs index ed6f6e4..28a23c2 100644 --- a/src/dynamic_honey_badger/dynamic_honey_badger.rs +++ b/src/dynamic_honey_badger/dynamic_honey_badger.rs @@ -116,8 +116,7 @@ where contrib, key_gen_messages: self.key_gen_msg_buffer.clone(), votes: self.vote_counter.pending_votes().cloned().collect(), - }) - .map_err(ErrorKind::ProposeHoneyBadger)?; + }).map_err(ErrorKind::ProposeHoneyBadger)?; self.process_output(step) } diff --git a/src/dynamic_honey_badger/votes.rs b/src/dynamic_honey_badger/votes.rs index 523efc5..537ce57 100644 --- a/src/dynamic_honey_badger/votes.rs +++ b/src/dynamic_honey_badger/votes.rs @@ -66,11 +66,10 @@ where sender_id: &N, signed_vote: SignedVote, ) -> Result> { - if signed_vote.vote.era != self.era - || self - .pending - .get(&signed_vote.voter) - .map_or(false, |sv| sv.vote.num >= signed_vote.vote.num) + if signed_vote.vote.era != self.era || self + .pending + .get(&signed_vote.voter) + .map_or(false, |sv| sv.vote.num >= signed_vote.vote.num) { return Ok(FaultLog::new()); // The vote is obsolete or already exists. } @@ -149,8 +148,8 @@ where /// Returns `true` if the signature is valid. fn validate(&self, signed_vote: &SignedVote) -> Result { - let ser_vote = - bincode::serialize(&signed_vote.vote).map_err(|err| ErrorKind::ValidateBincode(*err))?; + let ser_vote = bincode::serialize(&signed_vote.vote) + .map_err(|err| ErrorKind::ValidateBincode(*err))?; let pk_opt = self.netinfo.public_key(&signed_vote.voter); Ok(pk_opt.map_or(false, |pk| pk.verify(&signed_vote.sig, ser_vote))) } diff --git a/src/honey_badger/epoch_state.rs b/src/honey_badger/epoch_state.rs index a6322fe..f5f088a 100644 --- a/src/honey_badger/epoch_state.rs +++ b/src/honey_badger/epoch_state.rs @@ -138,7 +138,8 @@ where /// If the instance hasn't terminated yet, inputs our encrypted contribution. pub fn propose(&mut self, ciphertext: &Ciphertext) -> Result> { - let ser_ct = bincode::serialize(ciphertext).map_err(|err| ErrorKind::ProposeBincode(*err))?; + let ser_ct = + bincode::serialize(ciphertext).map_err(|err| ErrorKind::ProposeBincode(*err))?; let cs_step = self.subset.handle_input(ser_ct)?; self.process_subset(cs_step) } @@ -173,7 +174,7 @@ where entry.insert(DecryptionState::new(self.netinfo.clone())) } }.handle_message(sender_id, share) - .map_err(ErrorKind::ThresholdDecryption)?; + .map_err(ErrorKind::ThresholdDecryption)?; self.process_decryption(proposer_id, td_step) } } diff --git a/src/subset.rs b/src/subset.rs index 6c9562b..2958382 100644 --- a/src/subset.rs +++ b/src/subset.rs @@ -131,7 +131,8 @@ impl Subset { for proposer_id in netinfo.all_ids() { broadcast_instances.insert( proposer_id.clone(), - Broadcast::new(netinfo.clone(), proposer_id.clone()).map_err(Error::NewBroadcast)?, + Broadcast::new(netinfo.clone(), proposer_id.clone()) + .map_err(Error::NewBroadcast)?, ); } diff --git a/src/sync_key_gen.rs b/src/sync_key_gen.rs index eedfad4..9861640 100644 --- a/src/sync_key_gen.rs +++ b/src/sync_key_gen.rs @@ -480,8 +480,7 @@ impl SyncKeyGen { err ); Fault::ValueDeserialization - })? - .into_inner(); + })?.into_inner(); if part.commit.evaluate(our_idx + 1, sender_idx + 1) != G1Affine::one().mul(val) { return Err(Fault::ValueInvalid); } diff --git a/tests/dynamic_honey_badger.rs b/tests/dynamic_honey_badger.rs index 12f6367..219cf23 100644 --- a/tests/dynamic_honey_badger.rs +++ b/tests/dynamic_honey_badger.rs @@ -83,8 +83,7 @@ where // If there's only one node, it will immediately output on input. Make sure we // first process all incoming messages before providing input again. && (network.nodes.len() > 2 || node.queue.is_empty()) - }) - .map(|(id, _)| *id) + }).map(|(id, _)| *id) .collect(); if let Some(id) = rng.choose(&input_ids) { let queue = queues.get_mut(id).unwrap(); diff --git a/tests/honey_badger.rs b/tests/honey_badger.rs index 49e5827..f0bec74 100644 --- a/tests/honey_badger.rs +++ b/tests/honey_badger.rs @@ -176,8 +176,7 @@ where epoch, contributions, }| (epoch, contributions), - ) - .collect(); + ).collect(); if expected.is_none() { expected = Some(outputs); } else if let Some(expected) = &expected { diff --git a/tests/net/mod.rs b/tests/net/mod.rs index e9468f9..63e17bc 100644 --- a/tests/net/mod.rs +++ b/tests/net/mod.rs @@ -525,8 +525,7 @@ where }); steps.insert(id.clone(), step); (id, Node::new(algorithm, is_faulty)) - }) - .collect(); + }).collect(); let mut message_count: usize = 0; // For every recorded step, apply it. @@ -732,8 +731,7 @@ where node.id().clone(), node.algorithm.handle_input(input.clone())?, )) - }) - .collect::>()?; + }).collect::>()?; // Process all messages from all steps in the queue. steps.iter().for_each(|(id, step)| { diff --git a/tests/sync_key_gen.rs b/tests/sync_key_gen.rs index 3ce4e8f..cb9b501 100644 --- a/tests/sync_key_gen.rs +++ b/tests/sync_key_gen.rs @@ -32,8 +32,7 @@ fn test_sync_key_gen_with(threshold: usize, node_num: usize) { .unwrap_or_else(|_err| panic!("Failed to create `SyncKeyGen` instance #{}", id)); nodes.push(sync_key_gen); proposal - }) - .collect(); + }).collect(); // Handle the first `threshold + 1` proposals. Those should suffice for key generation. let mut acks = Vec::new(); @@ -81,8 +80,7 @@ fn test_sync_key_gen_with(threshold: usize, node_num: usize) { let sig = sk.sign(msg); assert!(pks.public_key_share(idx).verify(&sig, msg)); (idx, sig) - }) - .collect(); + }).collect(); let sig = pub_key_set .combine_signatures(sig_shares.iter().take(threshold + 1)) .expect("signature shares match");