#![cfg_attr(all(not(feature = "std"), not(test)), no_std)]
//! This crate provides data structures to represent
-//! [lightning BOLT11](https://github.com/lightningnetwork/lightning-rfc/blob/master/11-payment-encoding.md)
+//! [lightning BOLT11](https://github.com/lightning/bolts/blob/master/11-payment-encoding.md)
//! invoices and functions to create, encode and decode these. If you just want to use the standard
//! en-/decoding functionality this should get you started:
//!
/// variant. If no element was found `None` gets returned.
///
/// The following example would extract the first B.
- /// ```
- /// use Enum::*
///
/// enum Enum {
/// A(u8),
/// B(u16)
/// }
///
- /// let elements = vec![A(1), A(2), B(3), A(4)]
+ /// let elements = vec![Enum::A(1), Enum::A(2), Enum::B(3), Enum::A(4)];
///
- /// assert_eq!(find_extract!(elements.iter(), Enum::B(ref x), x), Some(3u16))
- /// ```
+ /// assert_eq!(find_extract!(elements.iter(), Enum::B(x), x), Some(3u16));
macro_rules! find_extract {
($iter:expr, $enm:pat, $enm_var:ident) => {
find_all_extract!($iter, $enm, $enm_var).next()
/// variant through an iterator.
///
/// The following example would extract all A.
- /// ```
- /// use Enum::*
///
/// enum Enum {
/// A(u8),
/// B(u16)
/// }
///
- /// let elements = vec![A(1), A(2), B(3), A(4)]
+ /// let elements = vec![Enum::A(1), Enum::A(2), Enum::B(3), Enum::A(4)];
///
/// assert_eq!(
- /// find_all_extract!(elements.iter(), Enum::A(ref x), x).collect::<Vec<u8>>(),
- /// vec![1u8, 2u8, 4u8])
- /// ```
+ /// find_all_extract!(elements.iter(), Enum::A(x), x).collect::<Vec<u8>>(),
+ /// vec![1u8, 2u8, 4u8]
+ /// );
macro_rules! find_all_extract {
($iter:expr, $enm:pat, $enm_var:ident) => {
$iter.filter_map(|tf| match *tf {