fn attribute_iter(&self) -> AstIterator<TagAttribute> {
        let buffer = self.attributes.iter().rev().collect();

        AstIterator { buffer }
    }
/// Create a borrowing iterator over the &[TagAttribute]s of this &[Tag] that iterates over all nested attributes.
/// It visits in a pre-order tree traversal:
/// 1. visits the attribute itself
/// 2. visits all the child attributes
Create a borrowing iterator over the &[TagAttribute]s of this &[Tag] that iterates over all nested attributes.
It visits in a pre-order tree traversal:
1. visits the attribute itself
2. visits all the child attributes
Create a borrowing iterator over the & [ TagAttribute ] s of this & [ Tag ] that iterates over all nested attributes . It visits in a pre - order tree traversal : 1 . visits the attribute itself 2 . visits all the child attributes
fn attribute_iter(&self) -> AstIterator<TagAttribute> {
        let buffer = self.attributes.iter().rev().collect();
        AstIterator { buffer }
    }
fn attribute_iter ( & self ) -> AstIterator < TagAttribute > { let buffer = self . attributes . iter ( ) . rev ( ) . collect ( ) ; AstIterator { buffer } }
Create a borrowing iterator over the &[TagAttribute]s of this &[Tag] that iterates over all nested attributes.
Create a borrowing iterator over the & [ TagAttribute ] s of this & [ Tag ] that iterates over all nested attributes .
&self
&self