pub fn whole(&self) -> String {
        let mut s = self.full_name();
        if let Some(t) = self.tag() {
            if s != "" {
                s.push_str(":");
            }
            s.push_str(t);
        }
        if let Some(d) = self.digest() {
            if s != "" {
                s.push_str("@");
            }
            s.push_str(d);
        }
        s
    }
/// whole returns the whole reference.
whole returns the whole reference.
whole returns the whole reference .
pub fn whole(&self) -> String {
        let mut s = self.full_name();
        if let Some(t) = self.tag() {
            if s != "" {
                s.push_str(":");
            }
            s.push_str(t);
        }
        if let Some(d) = self.digest() {
            if s != "" {
                s.push_str("@");
            }
            s.push_str(d);
        }
        s
    }
pub fn whole ( & self ) -> String { let mut s = self . full_name ( ) ; if let Some ( t ) = self . tag ( ) { if s != " " { s . push_str ( " " ) ; } s . push_str ( t ) ; } if let Some ( d ) = self . digest ( ) { if s != " " { s . push_str ( " " ) ; } s . push_str ( d ) ; } s }
whole returns the whole reference.
whole returns the whole reference .
&self
&self