summaryrefslogtreecommitdiffstats
path: root/openpgp/src
diff options
context:
space:
mode:
authorNora Widdecke <nora@sequoia-pgp.org>2021-11-22 18:59:48 +0100
committerNora Widdecke <nora@sequoia-pgp.org>2021-11-29 11:53:55 +0100
commit192460a201a631a03e8e5a00469343fbe73fb437 (patch)
tree309950ae109511a5e62391e8b3cf3591f79d6f39 /openpgp/src
parentb2ffb4401fad2f5c51f35d56a4408c23c10a3450 (diff)
Prefer vec! macro.
- The vec![] macro is more performant and often easier to read than multiple push calls. - Allow push to a Vec straight after creation in tests. Performance is not that great of an issue in tests, and the fix would impact legibility. - Found by clippy::vec_init_then_push.
Diffstat (limited to 'openpgp/src')
-rw-r--r--openpgp/src/crypto/hash.rs11
-rw-r--r--openpgp/src/message/mod.rs3
-rw-r--r--openpgp/src/packet/key.rs5
3 files changed, 11 insertions, 8 deletions
diff --git a/openpgp/src/crypto/hash.rs b/openpgp/src/crypto/hash.rs
index 10ed9787..b78f1a20 100644
--- a/openpgp/src/crypto/hash.rs
+++ b/openpgp/src/crypto/hash.rs
@@ -490,11 +490,12 @@ impl Signature4 {
// This code assumes that the signature has been verified
// prior to being confirmed, so it is well-formed.
- let mut body = Vec::new();
- body.push(self.version());
- body.push(self.typ().into());
- body.push(self.pk_algo().into());
- body.push(self.hash_algo().into());
+ let mut body = vec![
+ self.version(),
+ self.typ().into(),
+ self.pk_algo().into(),
+ self.hash_algo().into(),
+ ];
// The hashed area.
let l = self.hashed_area().serialized_len()
diff --git a/openpgp/src/message/mod.rs b/openpgp/src/message/mod.rs
index 662e4e02..0967607e 100644
--- a/openpgp/src/message/mod.rs
+++ b/openpgp/src/message/mod.rs
@@ -799,6 +799,7 @@ mod tests {
assert!(message.is_ok(), "{:?}", message);
}
+ #[allow(clippy::vec_init_then_push)]
#[test]
fn compressed_part() {
let mut lit = Literal::new(Text);
@@ -861,6 +862,7 @@ mod tests {
assert!(message.is_ok(), "{:?}", message);
}
+ #[allow(clippy::vec_init_then_push)]
#[test]
fn one_pass_sig_part() {
let mut lit = Literal::new(Text);
@@ -973,6 +975,7 @@ mod tests {
assert!(message.is_ok(), "{:?}", message);
}
+ #[allow(clippy::vec_init_then_push)]
#[test]
fn signature_part() {
let mut lit = Literal::new(Text);
diff --git a/openpgp/src/packet/key.rs b/openpgp/src/packet/key.rs
index 6e75c604..ef49a291 100644
--- a/openpgp/src/packet/key.rs
+++ b/openpgp/src/packet/key.rs
@@ -1404,10 +1404,9 @@ assert_send_and_sync!(Unencrypted);
impl From<mpi::SecretKeyMaterial> for Unencrypted {
fn from(mpis: mpi::SecretKeyMaterial) -> Self {
use crate::serialize::Marshal;
- let mut plaintext = Vec::new();
// We need to store the type.
- plaintext.push(
- mpis.algo().unwrap_or(PublicKeyAlgorithm::Unknown(0)).into());
+ let mut plaintext =
+ vec![mpis.algo().unwrap_or(PublicKeyAlgorithm::Unknown(0)).into()];
mpis.serialize(&mut plaintext)
.expect("MPI serialization to vec failed");
Unencrypted { mpis: mem::Encrypted::new(plaintext.into()), }