fn __action518<'input>(
input: &'input str,
__0: (usize, (), usize),
__1: (usize, Option<()>, usize),
__2: (usize, (), usize),
__3: (usize, Option<()>, usize),
__4: (usize, (), usize),
__5: (usize, Option<()>, usize),
__6: (usize, Option<WellKnownTrait>, usize),
__7: (usize, &'input str, usize),
__8: (usize, Identifier, usize),
__9: (usize, Vec<VariableKind>, usize),
__10: (usize, Vec<QuantifiedWhereClause>, usize),
__11: (usize, &'input str, usize),
__12: (usize, Vec<AssocTyDefn>, usize),
__13: (usize, &'input str, usize),
) -> TraitDefn