From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <pdm-devel-bounces@lists.proxmox.com> Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id 2DE6C1FF172 for <inbox@lore.proxmox.com>; Wed, 23 Apr 2025 12:00:58 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id EBF3CF026; Wed, 23 Apr 2025 12:00:55 +0200 (CEST) Date: Wed, 23 Apr 2025 12:00:13 +0200 From: Gabriel Goller <g.goller@proxmox.com> To: Wolfgang Bumiller <w.bumiller@proxmox.com> Message-ID: <zu6c4igc376ayqum45s4vwvukwvecf7yv7osumozh3bn5apmoh@2qks7zijdkgh> Mail-Followup-To: Wolfgang Bumiller <w.bumiller@proxmox.com>, pdm-devel@lists.proxmox.com References: <20250414120046.486853-1-g.goller@proxmox.com> <20250414120046.486853-4-g.goller@proxmox.com> <ookoafe5u5cxbrxskvs2cd4372x7iopzhms27kzb5lqkpwry3u@frdpuzgmjmrc> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <ookoafe5u5cxbrxskvs2cd4372x7iopzhms27kzb5lqkpwry3u@frdpuzgmjmrc> User-Agent: NeoMutt/20241002-35-39f9a6 X-SPAM-LEVEL: Spam detection results: 0 AWL -0.021 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment RCVD_IN_VALIDITY_CERTIFIED_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_RPBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_SAFE_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: Re: [pdm-devel] [PATCH proxmox 3/3] section-config: add lookup and convert_to_typed_array helpers X-BeenThere: pdm-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Datacenter Manager development discussion <pdm-devel.lists.proxmox.com> List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pdm-devel>, <mailto:pdm-devel-request@lists.proxmox.com?subject=unsubscribe> List-Archive: <http://lists.proxmox.com/pipermail/pdm-devel/> List-Post: <mailto:pdm-devel@lists.proxmox.com> List-Help: <mailto:pdm-devel-request@lists.proxmox.com?subject=help> List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pdm-devel>, <mailto:pdm-devel-request@lists.proxmox.com?subject=subscribe> Reply-To: Proxmox Datacenter Manager development discussion <pdm-devel@lists.proxmox.com> Cc: pdm-devel@lists.proxmox.com Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Errors-To: pdm-devel-bounces@lists.proxmox.com Sender: "pdm-devel" <pdm-devel-bounces@lists.proxmox.com> On 15.04.2025 10:39, Wolfgang Bumiller wrote: >On Mon, Apr 14, 2025 at 02:00:45PM +0200, Gabriel Goller wrote: >> [snip] >> +#[macro_export] >> +macro_rules! lookup { >> + ($map:expr, $key:expr, $variant:path) => { >> + $map.get($key).and_then(|value| { >> + if let $variant(inner) = value { >> + Some(inner) >> + } else { >> + None >> + } >> + }) > >^ You could shorten this by matching on the nested structure here: > > match $map.get($key) { > Some($variant(inner)) => Some(inner), > _ => None, > } > Agree, thanks! >> + }; >> +} >> + >> +#[macro_export] >> +macro_rules! convert_to_typed_array { >> + ($map:expr, $variant:path) => { >> + $map.values() >> + .filter_map(|value| { >> + if let $variant(inner) = value { >> + Some(inner) >> + } else { >> + None >> + } > >^ (rustfmt puts a `match` here on the `filter_map` line, so that would >be much shorter ;-) ) Hmm weird, neither fmt nor clippy shows me this :( Either way, looks cleaner, thanks! >> + }) >> + .collect::<Vec<_>>() >> + }; >> +} >> + >> +pub use lookup; >> +pub use convert_to_typed_array; > >If, for now, you intend for these to be used via the `typed` module >instead of at the top level you should mark these re-exports with >`#[doc(inline)]` and the macros above with `#[doc(hidden)]`. > >Otherwise the documentation shows them at the top level, with the ones >in `typed` as re-exports. True! >> [snip] Thanks for the review. Will send a v2 soon! _______________________________________________ pdm-devel mailing list pdm-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pdm-devel