fn used_types(&self) -> impl Iterator<Item = &TypeDebug> {
        std::iter::once(&self.return_type)
            .chain(self.params.iter().map(|param| &param.var_type))
            .chain(self.locals.iter().map(|local| &local.var_type))
    }
// Collect all types appeared in this function
Collect all types appeared in this function
Collect all types appeared in this function
fn used_types(&self) -> impl Iterator<Item = &TypeDebug> {
        std::iter::once(&self.return_type)
            .chain(self.params.iter().map(|param| &param.var_type))
            .chain(self.locals.iter().map(|local| &local.var_type))
    }
fn used_types ( & self ) -> impl Iterator < Item = & TypeDebug > { std :: iter :: once ( & self . return_type ) . chain ( self . params . iter ( ) . map ( | param | & param . var_type ) ) . chain ( self . locals . iter ( ) . map ( | local | & local . var_type ) ) }
Collect all types appeared in this function
Collect all types appeared in this function
&self