fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        f.debug_struct("Expr")
            .field("value", &self.value)
            .field("source", &self.source)
            .field("range", &self.range)
            .finish()
    }
// The scope can be recursive, so we don't want to print it by default
The scope can be recursive, so we don't want to print it by default
The scope can be recursive so we don ' t want to print it by default
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        f.debug_struct("Expr")
            .field("value", &self.value)
            .field("source", &self.source)
            .field("range", &self.range)
            .finish()
    }
fn fmt ( & self , f : & mut std :: fmt :: Formatter < ' _ > ) -> std :: fmt :: Result { f . debug_struct ( " " ) . field ( " " , & self . value ) . field ( " " , & self . source ) . field ( " " , & self . range ) . finish ( ) }
The scope can be recursive, so we don't want to print it by default
The scope can be recursive so we don ' t want to print it by default
&self
f
&mut std::fmt::Formatter<'_>
&self
f
&mut std::fmt::Formatter<'_>