diff --git a/.cargo/config.toml b/.cargo/config.toml deleted file mode 100644 index f34c83ac46b..00000000000 --- a/.cargo/config.toml +++ /dev/null @@ -1,100 +0,0 @@ -[target.'cfg(all())'] -rustflags = [ - # Global lints/warnings. - # See https://github.com/EmbarkStudios/rust-ecosystem/issues/22 for why we do this here - "-Dunsafe_code", - "-Wclippy::all", - "-Wclippy::await_holding_lock", - "-Wclippy::char_lit_as_u8", - "-Wclippy::checked_conversions", - "-Wclippy::dbg_macro", - "-Wclippy::debug_assert_with_mut_call", - "-Wclippy::disallowed_methods", - "-Wclippy::disallowed_script_idents", - "-Wclippy::doc_markdown", - "-Wclippy::empty_enum", - "-Wclippy::enum_glob_use", - "-Wclippy::equatable_if_let", - "-Wclippy::exit", - "-Wclippy::expl_impl_clone_on_copy", - "-Wclippy::explicit_deref_methods", - "-Wclippy::explicit_into_iter_loop", - "-Wclippy::fallible_impl_from", - "-Wclippy::filter_map_next", - "-Wclippy::flat_map_option", - "-Wclippy::float_cmp_const", - "-Wclippy::fn_params_excessive_bools", - "-Wclippy::fn_to_numeric_cast_any", - "-Wclippy::from_iter_instead_of_collect", - "-Wclippy::if_let_mutex", - "-Wclippy::implicit_clone", - "-Wclippy::imprecise_flops", - "-Wclippy::index_refutable_slice", - "-Wclippy::inefficient_to_string", - "-Wclippy::invalid_upcast_comparisons", - "-Wclippy::iter_not_returning_iterator", - "-Wclippy::large_digit_groups", - "-Wclippy::large_stack_arrays", - "-Wclippy::large_types_passed_by_value", - "-Wclippy::let_unit_value", - "-Wclippy::linkedlist", - "-Wclippy::lossy_float_literal", - "-Wclippy::macro_use_imports", - "-Wclippy::manual_ok_or", - "-Wclippy::map_err_ignore", - "-Wclippy::map_flatten", - "-Wclippy::map_unwrap_or", - "-Wclippy::match_on_vec_items", - "-Wclippy::match_same_arms", - "-Wclippy::match_wild_err_arm", - "-Wclippy::match_wildcard_for_single_variants", - "-Wclippy::mem_forget", - "-Wclippy::mismatched_target_os", - "-Wclippy::missing_enforced_import_renames", - "-Wclippy::missing_errors_doc", - "-Wclippy::missing_safety_doc", - "-Wclippy::mut_mut", - "-Wclippy::mutex_integer", - "-Wclippy::needless_borrow", - "-Wclippy::needless_continue", - "-Wclippy::needless_for_each", - "-Wclippy::needless_pass_by_value", - "-Wclippy::negative_feature_names", - "-Wclippy::nonstandard_macro_braces", - "-Wclippy::option_option", - "-Wclippy::path_buf_push_overwrite", - "-Wclippy::ptr_as_ptr", - "-Wclippy::rc_mutex", - "-Wclippy::ref_option_ref", - "-Wclippy::rest_pat_in_fully_bound_structs", - "-Wclippy::same_functions_in_if_condition", - "-Wclippy::semicolon_if_nothing_returned", - "-Wclippy::single_match_else", - "-Wclippy::str_to_string", - "-Wclippy::string_add_assign", - "-Wclippy::string_add", - "-Wclippy::string_lit_as_bytes", - "-Wclippy::string_to_string", - "-Wclippy::todo", - "-Wclippy::trailing_empty_array", - "-Wclippy::trait_duplication_in_bounds", - "-Wclippy::unimplemented", - "-Wclippy::unnecessary_wraps", - "-Wclippy::unnested_or_patterns", - "-Wclippy::unused_self", - "-Wclippy::useless_transmute", - "-Wclippy::verbose_file_reads", - "-Wclippy::zero_sized_map_values", - "-Wfuture_incompatible", - "-Wnonstandard_style", - "-Wrust_2018_idioms", - "-Wrustdoc::missing_crate_level_docs", - "-Wsemicolon_in_expressions_from_macros", - "-Wtrivial_numeric_casts", - "-Wunused_extern_crates", - "-Wunused_import_braces", - # "-Wclippy::cloned_instead_of_copied", - # "-Wclippy::mod_module_files", - # "-Wtrivial_casts", - # "-Wunused_qualifications", -] diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 6dccf7db988..87747f978c7 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -142,8 +142,8 @@ jobs: command: fmt args: --all -- --check - clippy: - name: cargo clippy + cranky: + name: cargo cranky runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -152,14 +152,14 @@ jobs: profile: minimal toolchain: 1.60.0 override: true - - run: rustup component add clippy + - run: cargo install cargo-cranky - name: Install packages (Linux) if: runner.os == 'Linux' run: sudo apt-get update && sudo apt-get install libspeechd-dev libgtk-3-dev # libgtk-3-dev is used by rfd - uses: actions-rs/cargo@v1 with: - command: clippy - args: --workspace --all-targets --all-features -- -D warnings -W clippy::all + command: cranky + args: --workspace --all-targets --all-features -- -D warnings doc: name: cargo doc diff --git a/Cranky.toml b/Cranky.toml new file mode 100644 index 00000000000..b280313db0a --- /dev/null +++ b/Cranky.toml @@ -0,0 +1,106 @@ +# https://github.com/ericseppanen/cargo-cranky +# cargo install cargo-cranky && cargo cranky + +deny = [ + "unsafe_code", +] + +warn = [ + "clippy::all", + "clippy::await_holding_lock", + "clippy::char_lit_as_u8", + "clippy::checked_conversions", + "clippy::dbg_macro", + "clippy::debug_assert_with_mut_call", + "clippy::disallowed_methods", + "clippy::disallowed_script_idents", + "clippy::doc_markdown", + "clippy::empty_enum", + "clippy::enum_glob_use", + "clippy::equatable_if_let", + "clippy::exit", + "clippy::expl_impl_clone_on_copy", + "clippy::explicit_deref_methods", + "clippy::explicit_into_iter_loop", + "clippy::fallible_impl_from", + "clippy::filter_map_next", + "clippy::flat_map_option", + "clippy::float_cmp_const", + "clippy::fn_params_excessive_bools", + "clippy::fn_to_numeric_cast_any", + "clippy::from_iter_instead_of_collect", + "clippy::if_let_mutex", + "clippy::implicit_clone", + "clippy::imprecise_flops", + "clippy::index_refutable_slice", + "clippy::inefficient_to_string", + "clippy::invalid_upcast_comparisons", + "clippy::iter_not_returning_iterator", + "clippy::large_digit_groups", + "clippy::large_stack_arrays", + "clippy::large_types_passed_by_value", + "clippy::let_unit_value", + "clippy::linkedlist", + "clippy::lossy_float_literal", + "clippy::macro_use_imports", + "clippy::manual_ok_or", + "clippy::map_err_ignore", + "clippy::map_flatten", + "clippy::map_unwrap_or", + "clippy::match_on_vec_items", + "clippy::match_same_arms", + "clippy::match_wild_err_arm", + "clippy::match_wildcard_for_single_variants", + "clippy::mem_forget", + "clippy::mismatched_target_os", + "clippy::missing_enforced_import_renames", + "clippy::missing_errors_doc", + "clippy::missing_safety_doc", + "clippy::mut_mut", + "clippy::mutex_integer", + "clippy::needless_borrow", + "clippy::needless_continue", + "clippy::needless_for_each", + "clippy::needless_pass_by_value", + "clippy::negative_feature_names", + "clippy::nonstandard_macro_braces", + "clippy::option_option", + "clippy::path_buf_push_overwrite", + "clippy::ptr_as_ptr", + "clippy::rc_mutex", + "clippy::ref_option_ref", + "clippy::rest_pat_in_fully_bound_structs", + "clippy::same_functions_in_if_condition", + "clippy::semicolon_if_nothing_returned", + "clippy::single_match_else", + "clippy::str_to_string", + "clippy::string_add_assign", + "clippy::string_add", + "clippy::string_lit_as_bytes", + "clippy::string_to_string", + "clippy::todo", + "clippy::trailing_empty_array", + "clippy::trait_duplication_in_bounds", + "clippy::unimplemented", + "clippy::unnecessary_wraps", + "clippy::unnested_or_patterns", + "clippy::unused_self", + "clippy::useless_transmute", + "clippy::verbose_file_reads", + "clippy::zero_sized_map_values", + "future_incompatible", + "nonstandard_style", + "rust_2018_idioms", + "rustdoc::missing_crate_level_docs", + "semicolon_in_expressions_from_macros", + "trivial_numeric_casts", + "unused_extern_crates", + "unused_import_braces", + # "clippy::cloned_instead_of_copied", + # "clippy::mod_module_files", + # "trivial_casts", + # "unused_qualifications", +] + +allow = [ +] diff --git a/egui-wgpu/src/winit.rs b/egui-wgpu/src/winit.rs index a03f368667c..2b6c6d0239e 100644 --- a/egui-wgpu/src/winit.rs +++ b/egui-wgpu/src/winit.rs @@ -179,8 +179,8 @@ impl<'a> Painter<'a> { self.ensure_render_state_for_surface(&surface); let size = window.inner_size(); - let width = size.width as u32; - let height = size.height as u32; + let width = size.width; + let height = size.height; self.surface_state = Some(SurfaceState { surface, width, diff --git a/sh/check.sh b/sh/check.sh index adb42ac0af7..7baa118cc43 100755 --- a/sh/check.sh +++ b/sh/check.sh @@ -6,6 +6,8 @@ set -eux # Checks all tests, lints etc. # Basically does what the CI does. +cargo install cargo-cranky # Uses lints defined in Cranky.toml. See https://github.com/ericseppanen/cargo-cranky + RUSTFLAGS="-D warnings" RUSTDOCFLAGS="-D warnings" # https://github.com/emilk/egui/pull/1454 @@ -13,7 +15,7 @@ cargo check --workspace --all-targets cargo check --workspace --all-targets --all-features cargo check -p egui_demo_app --lib --target wasm32-unknown-unknown cargo check -p egui_demo_app --lib --target wasm32-unknown-unknown --all-features -cargo clippy --workspace --all-targets --all-features -- -D warnings -W clippy::all +cargo cranky --workspace --all-targets --all-features -- -D warnings -W clippy::all cargo test --workspace --all-targets --all-features cargo test --workspace --doc # slow - checks all doc-tests cargo fmt --all -- --check