diff --git a/.github/workflows/formatting.yml b/.github/workflows/formatting.yml index 8d29886e40c..bdc95b40bd5 100644 --- a/.github/workflows/formatting.yml +++ b/.github/workflows/formatting.yml @@ -17,7 +17,9 @@ jobs: name: cargo clippy runs-on: ${{ matrix.runner }} timeout-minutes: 30 - + env: + RUSTFLAGS: -Dwarnings + strategy: fail-fast: false matrix: @@ -30,9 +32,8 @@ jobs: uses: actions/checkout@v4 - name: Setup toolchain - uses: dtolnay/rust-toolchain@master + uses: dtolnay/rust-toolchain@1.66.0 with: - toolchain: stable # We do not use MSRV so we can benefit from newer lints targets: ${{ matrix.target }} components: clippy, rustfmt diff --git a/compiler/noirc_frontend/src/hir/def_map/mod.rs b/compiler/noirc_frontend/src/hir/def_map/mod.rs index 576a348383a..76db8ca753c 100644 --- a/compiler/noirc_frontend/src/hir/def_map/mod.rs +++ b/compiler/noirc_frontend/src/hir/def_map/mod.rs @@ -160,15 +160,15 @@ impl CrateDefMap { .iter() .filter_map(|(id, module)| { if module.is_contract { - let function_ids: Vec = - module.value_definitions().filter_map(|id| id.as_function()).collect(); - - let functions = function_ids - .into_iter() - .map(|id| { - let is_entry_point = - !interner.function_attributes(&id).has_contract_library_method(); - ContractFunctionMeta { function_id: id, is_entry_point } + let functions = module + .value_definitions() + .filter_map(|id| { + id.as_function().map(|function_id| { + let is_entry_point = !interner + .function_attributes(&function_id) + .has_contract_library_method(); + ContractFunctionMeta { function_id, is_entry_point } + }) }) .collect(); diff --git a/compiler/noirc_frontend/src/hir/type_check/mod.rs b/compiler/noirc_frontend/src/hir/type_check/mod.rs index 9165a308007..d690fe2458a 100644 --- a/compiler/noirc_frontend/src/hir/type_check/mod.rs +++ b/compiler/noirc_frontend/src/hir/type_check/mod.rs @@ -397,8 +397,9 @@ mod test { } fn type_check_src_code(src: &str, func_namespace: Vec) { - type_check_src_code_errors_expected(src, 0, func_namespace) + type_check_src_code_errors_expected(src, 0, func_namespace); } + // This function assumes that there is only one function and this is the // func id that is returned fn type_check_src_code_errors_expected( diff --git a/compiler/noirc_frontend/src/node_interner.rs b/compiler/noirc_frontend/src/node_interner.rs index cffa5e92e3f..e0e404b48d8 100644 --- a/compiler/noirc_frontend/src/node_interner.rs +++ b/compiler/noirc_frontend/src/node_interner.rs @@ -549,7 +549,7 @@ impl NodeInterner { } pub fn function_attributes(&self, func_id: &FuncId) -> Attributes { - self.function_meta(func_id).attributes.clone() + self.function_meta(func_id).attributes } /// Returns the interned statement corresponding to `stmt_id`