#[doc(hidden)]pub const fn assert_no_sibling_field_collision(
sibling_cols: &[&str],
base: &str,
tag: &str,
)Expand description
Compile-time assertion: no element of sibling_cols matches concat!(base, "_", tag).
Called from const _: () blocks emitted by the outer DataFrameRow derive for every
nested-enum struct field, complementing the parse-time B1 check in enum_expansion.rs
(which is hardcoded to the default tag "variant"). This assertion catches the
non-default-tag case at compile time.
sibling_cols is a slice of all flat column names produced by non-Struct sibling fields
in the same outer enum. base is the outer field name (e.g. "kind"). tag is the
inner enum’s #[dataframe(tag = "...")] value, retrieved via
<Inner as DataFramePayloadFields>::TAG.
If tag is empty (structs emit no discriminant column), returns immediately as a no-op.
§Call site (emitted by proc-macro)
ⓘ
const _: () = ::miniextendr_api::markers::assert_no_sibling_field_collision(
&["id", "other_col", /* … */],
"kind",
<Inner as ::miniextendr_api::markers::DataFramePayloadFields>::TAG,
);