### What it does Checks for use of `.collect::>().join("")` on iterators. ### Why is this bad? `.collect::()` is more concise and might be more performant ### Example ``` let vector = vec!["hello", "world"]; let output = vector.iter().map(|item| item.to_uppercase()).collect::>().join(""); println!("{}", output); ``` The correct use would be: ``` let vector = vec!["hello", "world"]; let output = vector.iter().map(|item| item.to_uppercase()).collect::(); println!("{}", output); ``` ### Known problems While `.collect::()` is sometimes more performant, there are cases where using `.collect::()` over `.collect::>().join("")` will prevent loop unrolling and will result in a negative performance impact. Additionally, differences have been observed between aarch64 and x86_64 assembly output, with aarch64 tending to producing faster assembly in more cases when using `.collect::()`