summaryrefslogtreecommitdiffstats
path: root/src/tools/clippy/tests/ui/inefficient_to_string.rs
blob: acdc55aa0d69d65002753cd11c92fe6300ff60b4 (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
// run-rustfix
#![deny(clippy::inefficient_to_string)]

use std::borrow::Cow;

fn main() {
    let rstr: &str = "hello";
    let rrstr: &&str = &rstr;
    let rrrstr: &&&str = &rrstr;
    let _: String = rstr.to_string();
    let _: String = rrstr.to_string();
    let _: String = rrrstr.to_string();

    let string: String = String::from("hello");
    let rstring: &String = &string;
    let rrstring: &&String = &rstring;
    let rrrstring: &&&String = &rrstring;
    let _: String = string.to_string();
    let _: String = rstring.to_string();
    let _: String = rrstring.to_string();
    let _: String = rrrstring.to_string();

    let cow: Cow<'_, str> = Cow::Borrowed("hello");
    let rcow: &Cow<'_, str> = &cow;
    let rrcow: &&Cow<'_, str> = &rcow;
    let rrrcow: &&&Cow<'_, str> = &rrcow;
    let _: String = cow.to_string();
    let _: String = rcow.to_string();
    let _: String = rrcow.to_string();
    let _: String = rrrcow.to_string();
}