Skip to content

Clippy suggests invalid code as being better (useless_let_if_seq) #975

Closed
@dhylands

Description

@dhylands

I'm using clippy 0.0.71

I have this code snippet:

        let mut udn = try_get!(service.description, "/root/device/UDN").clone();
        if udn.starts_with("uuid:") {
            udn = String::from(&udn[5..]);
        }

and clippy suggests that I should use the following code, which is clearly incorrect:

src/adapters/ip_camera/upnp_listener.rs:57:9: 63:10 warning: `if _ { .. } else { .. }` is an expression
src/adapters/ip_camera/upnp_listener.rs:57         let mut udn = try_get!(service.description, "/root/device/UDN").clone();
                                                   ^
src/main.rs:18:9: 18:27 note: lint level defined here
src/main.rs:18 #![warn(useless_let_if_seq)]
                       ^~~~~~~~~~~~~~~~~~
src/adapters/ip_camera/upnp_listener.rs:57:9: 63:10 help: it is more idiomatic to write
src/adapters/ip_camera/upnp_listener.rs:           let <mut> udn = if udn.starts_with("uuid:") { String::from(&udn[5..]) } else { try_get!(service.description, "/root/device/UDN").clone() };
src/adapters/ip_camera/upnp_listener.rs:57:9: 63:10 note: you might not need `mut` at all
src/adapters/ip_camera/upnp_listener.rs:57:9: 63:10 help: for further information visit https://github.com/Manishearth/rust-clippy/wiki#useless_let_if_seq

For reference, the complete code is here:
https://github.com/fxbox/foxbox/blob/master/src/adapters/ip_camera/upnp_listener.rs#L57-L63

Metadata

Metadata

Assignees

Labels

C-bugCategory: Clippy is not doing the correct thing

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions