summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJustus Winter <justus@sequoia-pgp.org>2022-03-02 11:03:46 +0100
committerJustus Winter <justus@sequoia-pgp.org>2022-03-02 11:06:29 +0100
commit6c65539d04e62de574d3e7f491bca9b5f9f28d6b (patch)
tree3a5012e845600e61d9e0e07ddda34913963d42a7
parent899bca4923fd4a02c7ff876cad131610adec6682 (diff)
openpgp: Disable doctest if padding is not available.
-rw-r--r--openpgp/src/types/compression_level.rs69
1 files changed, 36 insertions, 33 deletions
diff --git a/openpgp/src/types/compression_level.rs b/openpgp/src/types/compression_level.rs
index 69b5592f..757e8939 100644
--- a/openpgp/src/types/compression_level.rs
+++ b/openpgp/src/types/compression_level.rs
@@ -13,41 +13,44 @@ use crate::{
/// `1` means fastest compression, `6` being a good default, and
/// meaning `9` best compression.
///
-/// Note that compression is [dangerous when used naively]. To mitigate some of
-/// these issues messages should [use padding].
+/// Note that compression is [dangerous when used naively].
///
/// [dangerous when used naively]: https://mailarchive.ietf.org/arch/msg/openpgp/2FQUVt6Dw8XAsaMELyo5BNlh2pM
-/// [use padding]: crate::serialize::stream::padding
-///
-/// # Examples
-///
-/// Write a message using the given [CompressionAlgorithm]:
-///
-/// [CompressionAlgorithm]: super::CompressionAlgorithm
-///
-/// ```
-/// use sequoia_openpgp as openpgp;
-/// # fn main() -> openpgp::Result<()> {
-/// use std::io::Write;
-/// use openpgp::serialize::stream::{Message, Compressor, LiteralWriter};
-/// use openpgp::serialize::stream::padding::Padder;
-/// use openpgp::types::{CompressionAlgorithm, CompressionLevel};
-///
-/// let mut sink = Vec::new();
-/// let message = Message::new(&mut sink);
-/// let message = Compressor::new(message)
-/// .algo(CompressionAlgorithm::Zlib)
-/// # .algo(CompressionAlgorithm::Uncompressed)
-/// .level(CompressionLevel::fastest())
-/// .build()?;
-///
-/// let message = Padder::new(message).build()?;
-///
-/// let mut message = LiteralWriter::new(message).build()?;
-/// message.write_all(b"Hello world.")?;
-/// message.finalize()?;
-/// # Ok(()) }
-/// ```
+#[cfg_attr(feature = "compression-deflate", doc = r##"
+To mitigate some of these issues messages should [use padding].
+
+[use padding]: crate::serialize::stream::padding
+
+# Examples
+
+Write a message using the given [CompressionAlgorithm]:
+
+[CompressionAlgorithm]: super::CompressionAlgorithm
+
+```
+use sequoia_openpgp as openpgp;
+# fn main() -> openpgp::Result<()> {
+use std::io::Write;
+use openpgp::serialize::stream::{Message, Compressor, LiteralWriter};
+use openpgp::serialize::stream::padding::Padder;
+use openpgp::types::{CompressionAlgorithm, CompressionLevel};
+
+let mut sink = Vec::new();
+let message = Message::new(&mut sink);
+let message = Compressor::new(message)
+ .algo(CompressionAlgorithm::Zlib)
+# .algo(CompressionAlgorithm::Uncompressed)
+ .level(CompressionLevel::fastest())
+ .build()?;
+
+let message = Padder::new(message).build()?;
+
+let mut message = LiteralWriter::new(message).build()?;
+message.write_all(b"Hello world.")?;
+message.finalize()?;
+# Ok(()) }
+```
+"##)]
#[derive(Copy, Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
pub struct CompressionLevel(u8);
assert_send_and_sync!(CompressionLevel);