From 9fadef6c7e5c752ff13ca41a6f561ba97b4021d0 Mon Sep 17 00:00:00 2001 From: Ori Ziv Date: Sat, 11 May 2024 16:12:30 +0300 Subject: [PATCH] Added nightly runs for rust nightly versions update failure. Additional fixes to make the nightlies pass properly. --- .github/workflows/nightly.yml | 37 +++++++++++++++++++ crates/cairo-lang-lowering/src/diagnostic.rs | 11 ++---- crates/cairo-lang-lowering/src/lib.rs | 2 +- crates/cairo-lang-lowering/src/lower/mod.rs | 5 +-- crates/cairo-lang-parser/src/lib.rs | 2 +- .../src/inline_macros/get_dep_component.rs | 5 ++- scripts/rust_fmt.sh | 2 +- 7 files changed, 48 insertions(+), 16 deletions(-) create mode 100644 .github/workflows/nightly.yml diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml new file mode 100644 index 00000000000..d1d1c969f24 --- /dev/null +++ b/.github/workflows/nightly.yml @@ -0,0 +1,37 @@ +name: Nightly + +on: + schedule: + # Runs the end of every day. + - cron: "0 0 * * *" + +jobs: + rustfmt: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@nightly + with: + components: rustfmt + - uses: Swatinem/rust-cache@v2 + - run: scripts/rust_fmt.sh --check + + clippy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@nightly + with: + components: clippy + - uses: Swatinem/rust-cache@v2 + - run: > + scripts/clippy.sh + + docs: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@nightly + - uses: Swatinem/rust-cache@v2 + - run: > + scripts/docs.sh diff --git a/crates/cairo-lang-lowering/src/diagnostic.rs b/crates/cairo-lang-lowering/src/diagnostic.rs index 1e1f271c297..6d3eddc4cfb 100644 --- a/crates/cairo-lang-lowering/src/diagnostic.rs +++ b/crates/cairo-lang-lowering/src/diagnostic.rs @@ -52,10 +52,7 @@ impl DiagnosticEntry for LoweringDiagnostic { LoweringDiagnosticKind::DesnappingANonCopyableType { .. } => { "Cannot desnap a non copyable type.".into() } - LoweringDiagnosticKind::MatchError( - match_err - ) => - match_err.format(), + LoweringDiagnosticKind::MatchError(match_err) => match_err.format(), LoweringDiagnosticKind::CannotInlineFunctionThatMightCallItself => { "Cannot inline a function that might call itself.".into() } @@ -70,7 +67,7 @@ impl DiagnosticEntry for LoweringDiagnostic { } LoweringDiagnosticKind::NoPanicFunctionCycle => { "Call cycle of `nopanic` functions is not allowed.".into() - }, + } LoweringDiagnosticKind::LiteralError(literal_error) => literal_error.format(db), LoweringDiagnosticKind::UnsupportedPattern => { "Inner patterns are not in this context.".into() @@ -80,10 +77,10 @@ impl DiagnosticEntry for LoweringDiagnostic { "Fixed size array inner type must implement the `Copy` trait when the array size \ is greater than 1." .into() - }, + } LoweringDiagnosticKind::EmptyRepeatedElementFixedSizeArray => { "Fixed size array repeated element size must be greater than 0.".into() - }, + } } } diff --git a/crates/cairo-lang-lowering/src/lib.rs b/crates/cairo-lang-lowering/src/lib.rs index 309b1128997..9c89d8e44ab 100644 --- a/crates/cairo-lang-lowering/src/lib.rs +++ b/crates/cairo-lang-lowering/src/lib.rs @@ -25,5 +25,5 @@ mod test; pub use self::objects::*; -#[cfg(any(feature = "testing", test))] +#[cfg(test)] pub mod test_utils; diff --git a/crates/cairo-lang-lowering/src/lower/mod.rs b/crates/cairo-lang-lowering/src/lower/mod.rs index b7c375f9e7a..5e10da8a415 100644 --- a/crates/cairo-lang-lowering/src/lower/mod.rs +++ b/crates/cairo-lang-lowering/src/lower/mod.rs @@ -1170,10 +1170,7 @@ fn perform_function_call( return Err(LoweringFlowError::Match(MatchInfo::Enum(MatchEnumInfo { concrete_enum_id: extract_matches!( - extract_matches!( - ret_ty.lookup_intern(ctx.db), - semantic::TypeLongId::Concrete - ), + extract_matches!(ret_ty.lookup_intern(ctx.db), semantic::TypeLongId::Concrete), semantic::ConcreteTypeId::Enum ), input: VarUsage { var_id: call_result.returns[0].var_id, location }, diff --git a/crates/cairo-lang-parser/src/lib.rs b/crates/cairo-lang-parser/src/lib.rs index ffe01418d08..3c503c6e54a 100644 --- a/crates/cairo-lang-parser/src/lib.rs +++ b/crates/cairo-lang-parser/src/lib.rs @@ -14,5 +14,5 @@ pub mod recovery; pub mod utils; mod validation; -#[cfg(any(feature = "testing", test))] +#[cfg(test)] pub mod test_utils; diff --git a/crates/cairo-lang-starknet/src/inline_macros/get_dep_component.rs b/crates/cairo-lang-starknet/src/inline_macros/get_dep_component.rs index 0cc86c13680..29fbafd7257 100644 --- a/crates/cairo-lang-starknet/src/inline_macros/get_dep_component.rs +++ b/crates/cairo-lang-starknet/src/inline_macros/get_dep_component.rs @@ -77,14 +77,15 @@ fn get_dep_component_generate_code_helper( if is_mut { ("let mut", "_mut", "ref ") } else { ("let", "", "") }; builder.add_modified(RewriteNode::interpolate_patched( &format!( - " + " {{ {let_part} __get_dep_component_macro_temp_contract__ = \ HasComponent::get_contract{maybe_mut}({maybe_ref}$contract_path$); $component_impl_path$::get_component{maybe_mut}({maybe_ref}\ __get_dep_component_macro_temp_contract__) }} - "), + " + ), &[ ("contract_path".to_string(), RewriteNode::new_trimmed(contract_arg.as_syntax_node())), ( diff --git a/scripts/rust_fmt.sh b/scripts/rust_fmt.sh index 07c5e59d54f..f30a518165d 100755 --- a/scripts/rust_fmt.sh +++ b/scripts/rust_fmt.sh @@ -1,3 +1,3 @@ #!/bin/bash -cargo +nightly-2024-04-23 fmt --all -- "$@" +cargo fmt --all -- "$@"