#![warn(clippy::redundant_as_str)] #![allow(clippy::const_is_empty)] fn main() { let string = "Hello, world!".to_owned(); // These methods are redundant and the `as_str` can be removed let _redundant = string.as_bytes(); let _redundant = string.is_empty(); // These methods don't use `as_str` when they are redundant let _no_as_str = string.as_bytes(); let _no_as_str = string.is_empty(); // These methods are not redundant, and are equivalent to // doing dereferencing the string and applying the method let _not_redundant = string.as_str().escape_unicode(); let _not_redundant = string.as_str().trim(); let _not_redundant = string.as_str().split_whitespace(); // These methods don't use `as_str` and are applied on a `str` directly let borrowed_str = "Hello, world!"; let _is_str = borrowed_str.as_bytes(); let _is_str = borrowed_str.is_empty(); }