summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAzul <azul@riseup.net>2020-12-08 09:25:51 +0100
committerAzul <azul@riseup.net>2020-12-08 12:51:56 +0100
commit15429e90e6ec1ff1401500f592e8698a89b8cceb (patch)
treededcf9ce6978172b93060366e7601150f04c8880
parent52794155913ce1fa78ce01a41b29c67e721e9847 (diff)
openpgp: Add assert_send_and_sync! for more types.
- With !928 merged more types are `Send` and `Sync` now. - See #627.
-rw-r--r--openpgp/src/armor.rs1
-rw-r--r--openpgp/src/crypto/symmetric.rs2
-rw-r--r--openpgp/src/parse.rs1
-rw-r--r--openpgp/src/serialize/stream.rs15
-rw-r--r--openpgp/src/serialize/stream/padding.rs1
5 files changed, 11 insertions, 9 deletions
diff --git a/openpgp/src/armor.rs b/openpgp/src/armor.rs
index 2852ac72..0c434070 100644
--- a/openpgp/src/armor.rs
+++ b/openpgp/src/armor.rs
@@ -173,7 +173,6 @@ pub struct Writer<W: Write> {
header: Vec<u8>,
dirty: bool,
}
-
assert_send_and_sync!{Writer<W>, W: Write}
impl<W: Write> Writer<W> {
diff --git a/openpgp/src/crypto/symmetric.rs b/openpgp/src/crypto/symmetric.rs
index d442a684..a364ba53 100644
--- a/openpgp/src/crypto/symmetric.rs
+++ b/openpgp/src/crypto/symmetric.rs
@@ -51,6 +51,7 @@ pub struct Decryptor<R: io::Read> {
// Up to a block of unread data.
buffer: Vec<u8>,
}
+assert_send_and_sync!{Decryptor<R>, R: io::Read}
impl<R: io::Read> Decryptor<R> {
/// Instantiate a new symmetric decryptor. `reader` is the source
@@ -317,6 +318,7 @@ pub struct Encryptor<W: io::Write> {
// A place to write encrypted data into.
scratch: Vec<u8>,
}
+assert_send_and_sync!{Encryptor<W>, W: io::Write}
impl<W: io::Write> Encryptor<W> {
/// Instantiate a new symmetric encryptor.
diff --git a/openpgp/src/parse.rs b/openpgp/src/parse.rs
index d25d4a73..1d25ca38 100644
--- a/openpgp/src/parse.rs
+++ b/openpgp/src/parse.rs
@@ -707,6 +707,7 @@ pub struct Cookie {
/// encounters a fake EOF at the level it is popping to.
fake_eof: bool,
}
+assert_send_and_sync!{Cookie}
/// Contains hashes for consecutive one pass signature packets ending
/// in one with the last flag set.
diff --git a/openpgp/src/serialize/stream.rs b/openpgp/src/serialize/stream.rs
index f77dfee0..0948a242 100644
--- a/openpgp/src/serialize/stream.rs
+++ b/openpgp/src/serialize/stream.rs
@@ -205,6 +205,7 @@ impl Default for Cookie {
/// [`Message::finalize`]: #method.finalize
#[derive(Debug)]
pub struct Message<'a>(writer::BoxStack<'a, Cookie>);
+assert_send_and_sync!{Message<'_>}
impl<'a> Message<'a> {
/// Starts streaming an OpenPGP message.
@@ -344,6 +345,7 @@ pub struct Armorer<'a> {
headers: Vec<(String, String)>,
inner: Message<'a>,
}
+assert_send_and_sync!{Armorer<'_>}
impl<'a> Armorer<'a> {
/// Creates a new armoring filter.
@@ -533,6 +535,7 @@ impl<'a> fmt::Debug for Armorer<'a> {
pub struct ArbitraryWriter<'a> {
inner: writer::BoxStack<'a, Cookie>,
}
+assert_send_and_sync!{ArbitraryWriter<'_>}
impl<'a> ArbitraryWriter<'a> {
/// Creates a new writer with the given tag.
@@ -643,6 +646,7 @@ pub struct Signer<'a> {
cookie: Cookie,
position: u64,
}
+assert_send_and_sync!{Signer<'_>}
impl<'a> Signer<'a> {
/// Creates a signer.
@@ -1276,6 +1280,7 @@ pub struct LiteralWriter<'a> {
inner: writer::BoxStack<'a, Cookie>,
signature_writer: Option<writer::BoxStack<'a, Cookie>>,
}
+assert_send_and_sync!{LiteralWriter<'_>}
impl<'a> LiteralWriter<'a> {
/// Creates a new literal writer.
@@ -1548,6 +1553,7 @@ pub struct Compressor<'a> {
level: CompressionLevel,
inner: writer::BoxStack<'a, Cookie>,
}
+assert_send_and_sync!{Compressor<'_>}
impl<'a> Compressor<'a> {
/// Creates a new compressor using the default algorithm and
@@ -2081,6 +2087,7 @@ pub struct Encryptor<'a> {
hash: Box<dyn crypto::hash::Digest>,
cookie: Cookie,
}
+assert_send_and_sync!{Encryptor<'_>}
impl<'a> Encryptor<'a> {
/// Creates a new encryptor for the given recipients.
@@ -3298,12 +3305,4 @@ mod test {
Ok(())
}
-
- #[test]
- fn message_is_send_and_sync() {
- fn f<T: Send + Sync>(_: T) {}
- let mut sink = vec![];
- let message = Message::new(&mut sink);
- f(message);
- }
}
diff --git a/openpgp/src/serialize/stream/padding.rs b/openpgp/src/serialize/stream/padding.rs
index 99d815af..99eef521 100644
--- a/openpgp/src/serialize/stream/padding.rs
+++ b/openpgp/src/serialize/stream/padding.rs
@@ -144,6 +144,7 @@ pub struct Padder<'a> {
inner: writer::BoxStack<'a, Cookie>,
policy: fn(u64) -> u64,
}
+assert_send_and_sync!{Padder<'_>}
impl<'a> Padder<'a> {
/// Creates a new padder with the given policy.