{# Opaque wrapper + conversions must be cfg-gated when they reference feature-gated types. #}
{% if source_cfg %}#[cfg({{ source_cfg }})]
{% endif %}#[frb(opaque)]
pub struct {{ name }} {
pub(crate) inner: {{ inner_path }},
}
{% if source_cfg %}#[cfg({{ source_cfg }})]
{% endif %}impl From<{{ inner_path }}> for {{ name }} {
fn from(inner: {{ inner_path }}) -> Self {
Self { inner }
}
}
{% if source_cfg %}#[cfg({{ source_cfg }})]
{% endif %}impl From<{{ name }}> for {{ inner_path }} {
fn from(value: {{ name }}) -> Self {
value.inner
}
}