diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a9b56b0..d53e255 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,7 +3,7 @@ before_script: - apt-get update -yqq - apt-get install -yqq --no-install-recommends build-essential -- apt-get install -yqq libgtk-3-dev +- apt-get install -yqq --no-install-recommends libgtk-3-dev # kcov # - apt-get install -y libcurl4-openssl-dev libelf-dev libdw-dev cmake gcc binutils-dev libiberty-dev @@ -39,7 +39,7 @@ test:rustfmt: before_script: - apt-get update -yqq - apt-get install -yqq --no-install-recommends build-essential - - apt-get install -yqq libgtk-3-dev + - apt-get install -yqq --no-install-recommends build-essential libgtk-3-dev - export PATH="$PATH:$HOME/.cargo/bin" - which rustfmt || cargo install rustfmt-nightly script: @@ -47,6 +47,7 @@ test:rustfmt: - cargo fmt --all -- --write-mode=diff # Configure and run clippy on nightly +# Only fails on errors atm. test:clippy: image: "rustlang/rust:nightly" before_script: @@ -58,4 +59,3 @@ test:clippy: script: - rustc --version && cargo --version - cargo clippy --all - allow_failure: true diff --git a/hammond-data/src/index_feed.rs b/hammond-data/src/index_feed.rs index 8b8cf40..0fb426e 100644 --- a/hammond-data/src/index_feed.rs +++ b/hammond-data/src/index_feed.rs @@ -1,5 +1,4 @@ #![allow(dead_code)] -#![cfg_attr(feature = "cargo-clippy", allow(clone_on_ref_ptr))] use diesel::prelude::*; use diesel; diff --git a/hammond-downloader/src/downloader.rs b/hammond-downloader/src/downloader.rs index 95b1395..e69ab13 100644 --- a/hammond-downloader/src/downloader.rs +++ b/hammond-downloader/src/downloader.rs @@ -1,5 +1,3 @@ -#![cfg_attr(feature = "cargo-clippy", allow(clone_on_ref_ptr))] - use reqwest; use hyper::header::*; use diesel::prelude::*; diff --git a/hammond-gtk/src/headerbar.rs b/hammond-gtk/src/headerbar.rs index e6f93c6..7a39454 100644 --- a/hammond-gtk/src/headerbar.rs +++ b/hammond-gtk/src/headerbar.rs @@ -1,5 +1,3 @@ -#![cfg_attr(feature = "cargo-clippy", allow(clone_on_ref_ptr))] - use gtk; use gtk::prelude::*; @@ -60,8 +58,6 @@ pub fn get_headerbar(db: &Arc>, stack: >k::Stack) -> g // and add a StackSwitcher when more views are added. home_button.connect_clicked(clone!(stack => move |_| stack.set_visible_child_name("pd_grid"))); - let stack = stack.clone(); - let db = db.clone(); // FIXME: There appears to be a memmory leak here. refresh_button.connect_clicked(clone!(stack, db => move |_| { utils::refresh_db(&db, &stack); diff --git a/hammond-gtk/src/main.rs b/hammond-gtk/src/main.rs index 125c80c..0fa3ff1 100644 --- a/hammond-gtk/src/main.rs +++ b/hammond-gtk/src/main.rs @@ -1,5 +1,3 @@ -#![cfg_attr(feature = "cargo-clippy", allow(clone_on_ref_ptr))] - extern crate gdk; extern crate gdk_pixbuf; extern crate gio; diff --git a/hammond-gtk/src/utils.rs b/hammond-gtk/src/utils.rs index 08fae34..89d3692 100644 --- a/hammond-gtk/src/utils.rs +++ b/hammond-gtk/src/utils.rs @@ -1,5 +1,3 @@ -#![cfg_attr(feature = "cargo-clippy", allow(clone_on_ref_ptr))] - use glib; use gtk; @@ -68,9 +66,9 @@ pub fn refresh_db(db: &Arc>, stack: >k::Stack) { pub fn refresh_feed(db: &Arc>, stack: >k::Stack, source: &mut Source) { let (sender, receiver) = channel(); - GLOBAL.with(move |global| { - *global.borrow_mut() = Some((db.clone(), stack.clone(), receiver)); - }); + GLOBAL.with(clone!(db, stack => move |global| { + *global.borrow_mut() = Some((db, stack, receiver)); + })); let mut source = source.clone(); // TODO: add timeout option and error reporting. diff --git a/hammond-gtk/src/views/podcasts_view.rs b/hammond-gtk/src/views/podcasts_view.rs index f263f8e..2fd90cf 100644 --- a/hammond-gtk/src/views/podcasts_view.rs +++ b/hammond-gtk/src/views/podcasts_view.rs @@ -1,5 +1,3 @@ -#![cfg_attr(feature = "cargo-clippy", allow(clone_on_ref_ptr))] - use gtk; use gtk::prelude::*; @@ -116,12 +114,9 @@ pub fn populate_flowbox_no_store( let pixbuf = get_pixbuf_from_path(img, title); let f = create_flowbox_child(title, pixbuf.clone()); - let db = db.clone(); - let stack = stack.clone(); - let parent = parent.clone(); - f.connect_activate(move |_| { + f.connect_activate(clone!(db, stack, parent => move |_| { on_flowbox_child_activate(&db, &stack, &parent, pixbuf.clone()); - }); + })); flowbox.add(&f); }); } else { diff --git a/hammond-gtk/src/widgets/episode.rs b/hammond-gtk/src/widgets/episode.rs index 7ad685b..3c6b578 100644 --- a/hammond-gtk/src/widgets/episode.rs +++ b/hammond-gtk/src/widgets/episode.rs @@ -1,6 +1,4 @@ -#![cfg_attr(feature = "cargo-clippy", allow(clone_on_ref_ptr))] - use open; use diesel::prelude::SqliteConnection; use hammond_data::dbqueries;