pub fn new(key: impl Into<String>, value: impl Into<String>) -> Self {
        let key = key.into();

        #[cfg(debug_assertions)]
        if key.starts_with('_') {
            panic!(
                "attribute key `{}` is invalid - keys starting with an underscore are reserved",
                key
            );
        }

        Self {
            key,
            value: value.into(),
        }
    }
/// Creates a new Attribute. `attr` is just an alias for this.
Creates a new Attribute. `attr` is just an alias for this.
Creates a new Attribute . ` attr ` is just an alias for this .
pub fn new(key: impl Into<String>, value: impl Into<String>) -> Self {
        let key = key.into();
        #[cfg(debug_assertions)]
        if key.starts_with('_') {
            panic!(
                "attribute key `{}` is invalid - keys starting with an underscore are reserved",
                key
            );
        }
        Self {
            key,
            value: value.into(),
        }
    }
pub fn new ( key : impl Into < String > , value : impl Into < String > ) -> Self { let key = key . into ( ) ; # [ cfg ( debug_assertions ) ] if key . starts_with ( '_' ) { panic ! ( " " key ) ; } Self { key , value : value . into ( ) , } }
Creates a new Attribute.
Creates a new Attribute .
key
impl Into<String>
value
impl Into<String>
key
impl Into<String>
value
impl Into<String>