From: Thomas Lamprecht <t.lamprecht@proxmox.com>
To: pve-devel@lists.proxmox.com, Dietmar Maurer <dietmar@proxmox.com>
Subject: applied: [RFC proxmox v3] schema: add CommaSeparatedList<T> wrapper type for comma-separated values
Date: Wed, 18 Feb 2026 18:32:36 +0100 [thread overview]
Message-ID: <177143595094.4007478.17378474587478729188.b4-ty@proxmox.com> (raw)
In-Reply-To: <20260214081021.2845579-1-dietmar@proxmox.com>
On Sat, 14 Feb 2026 09:10:20 +0100, Dietmar Maurer wrote:
> Introduce a new CommaSeparatedList<T> wrapper type that provides
> schema-aware serialization and deserialization of comma-separated
> values, similar to PropertyString but designed for list/array types.
>
> Key components:
> - CommaSeparatedListSchema trait: Provides the static ARRAY_SCHEMA
> required for (de)serialization (workaround for unstable generic
> const items in Rust)
> - CommaSeparatedList<T>: A transparent Vec<T> newtype with Deref/
> DerefMut implementations for ergonomic access
>
> [...]
Applied, thanks!
Note that I made some opinionated follow-up commits on top of this, the main
visible change for you is making the module private and exporting
CommaSeparatedList and Co directly at the top-level proxmox-schema lib.
I also export PropertyString now for consitency, but kept that module public
for the time being to avoid compilation errors.
I also added a few more tests for edge cases, and there I uncovered that,
unlike the module rust doc-comment suggested, validation is currently only done
for deserialization, but not serialization.
That is also the main reason for why I did not yet bump proxmox-schema, as it
would be good to have a short in person discussion if that's really the
behavior we want to have here.
[1/1] schema: add CommaSeparatedList<T> wrapper type for comma-separated values
commit: a9fa19c4c7eb97b101add1bce8edcf21292dcc49
prev parent reply other threads:[~2026-02-18 17:37 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-14 8:10 Dietmar Maurer
2026-02-18 17:32 ` Thomas Lamprecht [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=177143595094.4007478.17378474587478729188.b4-ty@proxmox.com \
--to=t.lamprecht@proxmox.com \
--cc=dietmar@proxmox.com \
--cc=pve-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.