| #![warn(clippy::rc_buffer)] | |
| use std::cell::RefCell; | |
| use std::ffi::OsString; | |
| use std::path::PathBuf; | |
| use std::rc::Rc; | |
| struct S { | |
| // triggers lint | |
| bad1: Rc<String>, | |
| //~^ rc_buffer | |
| bad2: Rc<PathBuf>, | |
| //~^ rc_buffer | |
| bad3: Rc<Vec<u8>>, | |
| //~^ rc_buffer | |
| bad4: Rc<OsString>, | |
| //~^ rc_buffer | |
| // does not trigger lint | |
| good1: Rc<RefCell<String>>, | |
| } | |
| // triggers lint | |
| fn func_bad1(_: Rc<String>) {} | |
| //~^ rc_buffer | |
| fn func_bad2(_: Rc<PathBuf>) {} | |
| //~^ rc_buffer | |
| fn func_bad3(_: Rc<Vec<u8>>) {} | |
| //~^ rc_buffer | |
| fn func_bad4(_: Rc<OsString>) {} | |
| //~^ rc_buffer | |
| // does not trigger lint | |
| fn func_good1(_: Rc<RefCell<String>>) {} | |
| mod issue_15802 { | |
| fn foo(_: std::rc::Rc<Vec<u8>>) {} | |
| //~^ rc_buffer | |
| } | |
| fn main() {} |