about summary refs log tree commit diff
path: root/src/tools/clippy/tests/ui/rc_buffer_arc.rs
blob: 5261eae2f26ac1e62ac6fdbe918eba5a13b8bd11 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#![warn(clippy::rc_buffer)]
#![allow(dead_code, unused_imports)]

use std::ffi::OsString;
use std::path::PathBuf;
use std::sync::{Arc, Mutex};

struct S {
    // triggers lint
    bad1: Arc<String>,
    //~^ rc_buffer
    bad2: Arc<PathBuf>,
    //~^ rc_buffer
    bad3: Arc<Vec<u8>>,
    //~^ rc_buffer
    bad4: Arc<OsString>,
    //~^ rc_buffer
    // does not trigger lint
    good1: Arc<Mutex<String>>,
}

// triggers lint
fn func_bad1(_: Arc<String>) {}
//~^ rc_buffer
fn func_bad2(_: Arc<PathBuf>) {}
//~^ rc_buffer
fn func_bad3(_: Arc<Vec<u8>>) {}
//~^ rc_buffer
fn func_bad4(_: Arc<OsString>) {}
//~^ rc_buffer
// does not trigger lint
fn func_good1(_: Arc<Mutex<String>>) {}

fn main() {}