fn clone(&'a self) -> Self {
        ProgramData {
            flash_addr: self.flash_addr,
            data: Blob(Cow::Borrowed(&self.data.0)),
        }
    }
/// Cheaply creates another `ProgramData` struct borrowing the data from
/// `self`.
///
/// This can be used as a cheap `clone` replacement when the lifetime of the
/// result may be shorter than that of `self`.
Cheaply creates another `ProgramData` struct borrowing the data from
`self`.

This can be used as a cheap `clone` replacement when the lifetime of the
result may be shorter than that of `self`.
Cheaply creates another ` ProgramData ` struct borrowing the data from ` self ` . This can be used as a cheap ` clone ` replacement when the lifetime of the result may be shorter than that of ` self ` .
fn clone(&'a self) -> Self {
        ProgramData {
            flash_addr: self.flash_addr,
            data: Blob(Cow::Borrowed(&self.data.0)),
        }
    }
fn clone ( & ' a self ) -> Self { ProgramData { flash_addr : self . flash_addr , data : Blob ( Cow :: Borrowed ( & self . data . 0 ) ) , } }
Cheaply creates another `ProgramData` struct borrowing the data from
`self`.
Cheaply creates another ` ProgramData ` struct borrowing the data from ` self ` .
&'a self