zoc
zoc copied to clipboard
Experiment with rust-clippy
https://github.com/Manishearth/rust-clippy
https://github.com/ozkriff/zoc/pull/201
А, черт, я неправильно запускал clippy. Надо переходить в директорию src/core и src/visualizer и там запускать - тогда ошибок еще порядочно. Надо вычистить.
Некоторые предупреждения между делом почистил в рамках задачи про дороги (#152). Надо бы отдельно закомитить, если получится.
Немного поправил, остались еще вот эти на данный момент:
$ cd src/core
$ cargo clippy
Compiling core v0.0.1 (file:///home/lesnikov/zoc/main/src/core)
src/db.rs:321:5: 328:6 warning: you should consider deriving a `Default` implementation for `db::Db`, #[warn(new_without_default_derive)] on by default
src/db.rs:321 pub fn new() -> Db {
^
src/db.rs:321:5: 321:5 help: try this
src/db.rs #[derive(Default)]
src/db.rs pub fn new() -> Db {
src/db.rs:321:5: 328:6 help: for further information visit https://github.com/Manishearth/rust-clippy/wiki#new_without_default_derive
src/lib.rs:279:13: 279:34 warning: I see you're using a LinkedList! Perhaps you meant some other data structure?, #[warn(linkedlist)] on by default
src/lib.rs:279 events: LinkedList<CoreEvent>,
^~~~~~~~~~~~~~~~~~~~~
src/lib.rs:279:13: 279:34 help: a VecDeque might work
src/lib.rs:279:13: 279:34 help: for further information visit https://github.com/Manishearth/rust-clippy/wiki#linkedlist
src/lib.rs:632:5: 636:6 warning: the loop variable `i` is used to index `slots`, #[warn(needless_range_loop)] on by default
src/lib.rs:632 for i in 0..MAX_GROUND_SLOTS_COUNT {
^
src/lib.rs:632:9: 632:10 help: consider using an iterator
src/lib.rs for (i, <item>) in slots.iter().enumerate().take(MAX_GROUND_SLOTS_COUNT) {
src/lib.rs:632:5: 636:6 help: for further information visit https://github.com/Manishearth/rust-clippy/wiki#needless_range_loop
src/lib.rs:686:5: 690:6 warning: the loop variable `i` is used to index `slots`, #[warn(needless_range_loop)] on by default
src/lib.rs:686 for i in 0..MAX_GROUND_SLOTS_COUNT {
^
src/lib.rs:686:9: 686:10 help: consider using an iterator
src/lib.rs for (i, <item>) in slots.iter().enumerate().take(MAX_GROUND_SLOTS_COUNT) {
src/lib.rs:686:5: 690:6 help: for further information visit https://github.com/Manishearth/rust-clippy/wiki#needless_range_loop
$ cd ../visualizer
$ cargo clippy
Compiling core v0.0.1 (file:///home/lesnikov/zoc/main/src/core)
Compiling visualizer v0.0.1 (file:///home/lesnikov/zoc/main/src/visualizer)
src/event_visualizer.rs:373:5: 396:6 warning: this function has too many arguments (8/7), #[warn(too_many_arguments)] on by default
src/event_visualizer.rs:373 pub fn new(
^
src/event_visualizer.rs:373:5: 396:6 help: for further information visit https://github.com/Manishearth/rust-clippy/wiki#too_many_arguments
src/lib.rs:61:5: 75:6 warning: you should consider adding a `Default` implementation for `Visualizer`, #[warn(new_without_default)] on by default
src/lib.rs:61 pub fn new() -> Visualizer {
^
src/lib.rs:61:5: 61:5 help: try this
src/lib.rs impl Default for Visualizer {
src/lib.rs fn default() -> Self {
src/lib.rs Self::new()
src/lib.rs }
src/lib.rs }
src/lib.rs
...
src/lib.rs:61:5: 75:6 help: for further information visit https://github.com/Manishearth/rust-clippy/wiki#new_without_default
$
Убрал предупреждения про циклы и список.
Removed loop and linkedlist warnings.
Много лишних вызовов .clone()
должно появиться, с учетом добавления Copy
для большей части мелких типов. Надо тоже вычистить.
Вычистил все clone, которые попались на глаза в рамках https://github.com/ozkriff/zoc/issues/217. Заодно опять подчистил почти все предупреждения клиппи.