Skip to main content

specialize

Function specialize 

Source
pub fn specialize(
    env: &Environment,
    lparams: &[Name],
    num_params: u32,
    specs: &[InductiveSpec],
) -> Result<Option<ExpandedFamily>, KernelError>
Expand description

Specialize the nested container occurrences of specs into an auxiliary mutual family (S2). Returns Ok(None) when there is no nesting (the caller should use the ordinary derivation path), or when the shape is not yet supported by this stage (parametrized families or multi-member containers), in which case the ordinary path re-produces the current UnsupportedNested verdict — so behaviour never silently changes.