// run-rustfix #![allow(unused)] #![warn(clippy::match_as_ref)] fn match_as_ref() { let owned: Option<()> = None; let borrowed: Option<&()> = owned.as_ref(); let mut mut_owned: Option<()> = None; let borrow_mut: Option<&mut ()> = mut_owned.as_mut(); } mod issue4437 { use std::{error::Error, fmt, num::ParseIntError}; #[derive(Debug)] struct E { source: Option<ParseIntError>, } impl Error for E { fn source(&self) -> Option<&(dyn Error + 'static)> { self.source.as_ref().map(|x| x as _) } } impl fmt::Display for E { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { unimplemented!() } } } fn main() {}