Work In Progress Rust

10 points by dureuill


ssokolow

To be honest, when I see the rationale for wip, the impression I get is "author doesn't understand how the tool is meant to be used, so they reinvented Clippy".

The toolchain devs draw a distinction between what gets to be a rustc warning and what gets to be a Clippy lint and wip seems to do a fair bit of reinventing existing functionality under new names just to force those lints across the divide from cargo clippy into cargo check and cargo build where you have to see them during prototyping when they'll flood out warnings that you may want to address during prototyping.

For example:

For me, .unwrap() is for prototyping and I set #![warn(clippy::unwrap_used)] while .expect("description of invariant") is for production cases where you'd use .unwrap() instead of .unwrap_wip() and I do not set #![warn(clippy::expect_used)]. (eg. .expect("parse regex from const"))

I'm not sure about clone_wip and fixme! directly. I've never thought on those use-cases enough to have a ready answer for how the devs intended those cases to be handled.