From 34d87d1fd7641ae195d7e07bb1f90a630ddc2148 Mon Sep 17 00:00:00 2001 From: Will Greenberg Date: Tue, 21 Jan 2025 15:11:32 -0800 Subject: [PATCH] this macro isn't public, so docstrings won't work --- lib/src/analysis/util.rs | 48 +++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 25 deletions(-) diff --git a/lib/src/analysis/util.rs b/lib/src/analysis/util.rs index 84d5aeb..2076c61 100644 --- a/lib/src/analysis/util.rs +++ b/lib/src/analysis/util.rs @@ -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 { -/// 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 { +// unpack!(Foo::A(bar) = foo); +// unpack!(Bar::C(baz) = bar); +// baz +// } +// ``` +// macro_rules! unpack { ($pat:pat = $val:expr) => { let $pat = $val else { return None; };