From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id 2DE6C1FF172 for ; 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 To: Wolfgang Bumiller Message-ID: Mail-Followup-To: Wolfgang Bumiller , pdm-devel@lists.proxmox.com References: <20250414120046.486853-1-g.goller@proxmox.com> <20250414120046.486853-4-g.goller@proxmox.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox Datacenter Manager development discussion 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" 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::>() >> + }; >> +} >> + >> +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