A payload-variant constructor call (`Some(x)`). Returns the mangled variant name and the concrete payload types to use as expected types for arguments.
(
&self,
name: &str,
expected: Option<&Type>,
arity: usize,
)
| 1747 | let DeclNode::Function { |
| 1748 | name, |
| 1749 | generics, |
| 1750 | bounds, |
| 1751 | params, |
| 1752 | return_type, |
| 1753 | body, |
| 1754 | .. |
| 1755 | } = &mut declaration.decl |
| 1756 | else { |
| 1757 | unreachable!(); |
| 1758 | }; |
| 1759 | *name = specialized_name(base_name, type_args); |
| 1760 | generics.clear(); |
| 1761 | bounds.clear(); |
| 1762 | for param in params { |
| 1763 | param.ty = substitute_type(¶m.ty, substitutions); |
| 1764 | } |
| 1765 | if let Some(ReturnType::Single(ty)) = return_type { |
no test coverage detected