{"ast_node_type":"variable","tokens":[{"end":79,"kind":"keyword","start":0,"text":"let"}]}
        let mut toc = self.params.iter_type_or_consts().map(from_toc_id(self));
    ) -> impl DoubleEndedIterator<Item = (GenericParamId, GenericParamDataRef<'_>)> + '_ {
        let trait_self_param = self.has_trait_self_param.then(|| toc.next()).flatten();