this macro isn't public, so docstrings won't work

This commit is contained in:
Will Greenberg
2025-01-21 15:11:32 -08:00
committed by Cooper Quintin
parent da4952e70f
commit 34d87d1fd7

View File

@@ -1,29 +1,27 @@
/// Unpacks a pattern, or returns None.
///
/// # Examples
/// You can use `unpack!` to unroll highly nested enums like this:
/// ```
/// use super::util::unpack;
///
/// enum Foo {
/// A(Bar),
/// B,
/// }
///
/// enum Bar {
/// C(Baz)
/// }
///
/// struct Baz;
///
/// fn get_bang(foo: Foo) -> Option<Baz> {
/// unpack!(Foo::A(bar) = foo);
/// unpack!(Bar::C(baz) = bar);
/// baz
/// }
/// ```
///
// Unpacks a pattern, or returns None.
//
// # Examples
// You can use `unpack!` to unroll highly nested enums like this:
// ```
// enum Foo {
// A(Bar),
// B,
// }
//
// enum Bar {
// C(Baz)
// }
//
// struct Baz;
//
// fn get_bang(foo: Foo) -> Option<Baz> {
// unpack!(Foo::A(bar) = foo);
// unpack!(Bar::C(baz) = bar);
// baz
// }
// ```
//
macro_rules! unpack {
($pat:pat = $val:expr) => {
let $pat = $val else { return None; };