From 325ef078501d94b234a4f0c0df916b01fe5a1d40 Mon Sep 17 00:00:00 2001 From: Nikolaos Georgiou Date: Sat, 28 Feb 2026 14:52:19 +0100 Subject: [PATCH] chore: Switched back to the stable toolchain --- .github/workflows/build.yml | 8 ++++---- .github/workflows/release.yml | 8 ++++---- .gitpod.yml | 9 --------- README.md | 11 ----------- rustfmt.toml | 4 ---- rusty_basic/src/instruction_generator/loops.rs | 3 ++- rusty_basic/src/instruction_generator/main.rs | 6 ++++-- rusty_basic/src/instruction_generator/test_utils.rs | 3 ++- rusty_basic/src/interpreter/keyboard.rs | 3 ++- rusty_basic/src/interpreter/main.rs | 2 +- rusty_basic/src/interpreter/test_utils.rs | 2 +- rusty_basic/src/interpreter/tests/loops.rs | 3 ++- rusty_basic/src/interpreter/variables.rs | 2 +- rusty_linter/src/built_ins/arg_validation.rs | 3 ++- rusty_linter/src/built_ins/len.rs | 2 +- rusty_linter/src/converter/common/program_rules.rs | 3 ++- .../src/converter/dim_rules/dim_type_rules.rs | 2 +- rusty_linter/src/converter/dim_rules/redim.rs | 3 ++- .../src/converter/expr_rules/built_in_function.rs | 2 +- rusty_linter/src/converter/expr_rules/function.rs | 3 ++- rusty_linter/src/converter/expr_rules/main.rs | 2 +- rusty_linter/src/converter/expr_rules/property.rs | 6 ++++-- rusty_linter/src/converter/expr_rules/unary.rs | 2 +- rusty_linter/src/converter/expr_rules/variable.rs | 6 ++++-- rusty_linter/src/converter/statement/const_rules.rs | 3 ++- rusty_linter/src/core/casting.rs | 2 +- .../src/post_linter/condition_type_linter.rs | 2 +- rusty_linter/src/post_linter/main.rs | 4 +++- .../src/pre_linter/user_defined_type_visitor.rs | 2 +- rusty_parser/src/built_ins/close.rs | 2 +- rusty_parser/src/built_ins/common.rs | 2 +- rusty_parser/src/core/dim.rs | 2 +- rusty_parser/src/core/dim_name.rs | 3 ++- rusty_parser/src/core/dim_type.rs | 3 ++- rusty_parser/src/core/if_block.rs | 2 +- rusty_parser/src/core/implementation.rs | 3 ++- rusty_parser/src/core/mod.rs | 11 +++++++---- rusty_parser/src/core/param_name.rs | 3 ++- rusty_parser/src/core/print.rs | 2 +- rusty_parser/src/core/statement.rs | 3 ++- rusty_parser/src/core/var_name.rs | 3 ++- rusty_parser/src/expr/types.rs | 3 ++- rusty_parser/src/expr/variable.rs | 12 +++++------- 43 files changed, 83 insertions(+), 82 deletions(-) delete mode 100644 .gitpod.yml delete mode 100644 rustfmt.toml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5eaa9ba33..9841825cd 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -12,7 +12,7 @@ jobs: - name: Checkout repository code uses: actions/checkout@v6 - name: Install Rust toolchain - uses: dtolnay/rust-toolchain@nightly + uses: dtolnay/rust-toolchain@stable with: components: clippy - name: Build @@ -27,7 +27,7 @@ jobs: - name: Checkout repository code uses: actions/checkout@v6 - name: Install Rust toolchain - uses: dtolnay/rust-toolchain@nightly + uses: dtolnay/rust-toolchain@stable - name: Build run: cargo build --release - name: Test @@ -42,7 +42,7 @@ jobs: - name: Checkout repository code uses: actions/checkout@v6 - name: Install Rust toolchain - uses: dtolnay/rust-toolchain@nightly + uses: dtolnay/rust-toolchain@stable with: components: clippy - name: Build @@ -55,7 +55,7 @@ jobs: - name: Checkout repository code uses: actions/checkout@v6 - name: Install Rust toolchain - uses: dtolnay/rust-toolchain@nightly + uses: dtolnay/rust-toolchain@stable - name: Build run: cargo build --release - name: Test diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3566cb86a..c6cc101f4 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -9,7 +9,7 @@ jobs: - name: Checkout repository code uses: actions/checkout@v6 - name: Install Rust toolchain - uses: dtolnay/rust-toolchain@nightly + uses: dtolnay/rust-toolchain@stable - name: Build run: cargo build - name: Test @@ -20,7 +20,7 @@ jobs: - name: Checkout repository code uses: actions/checkout@v6 - name: Install Rust toolchain - uses: dtolnay/rust-toolchain@nightly + uses: dtolnay/rust-toolchain@stable - name: Build run: cargo build --release - name: Test @@ -35,7 +35,7 @@ jobs: - name: Checkout repository code uses: actions/checkout@v6 - name: Install Rust toolchain - uses: dtolnay/rust-toolchain@nightly + uses: dtolnay/rust-toolchain@stable - name: Build run: cargo build - name: Test @@ -46,7 +46,7 @@ jobs: - name: Checkout repository code uses: actions/checkout@v6 - name: Install Rust toolchain - uses: dtolnay/rust-toolchain@nightly + uses: dtolnay/rust-toolchain@stable - name: Build run: cargo build --release - name: Test diff --git a/.gitpod.yml b/.gitpod.yml deleted file mode 100644 index 5fc6a4a99..000000000 --- a/.gitpod.yml +++ /dev/null @@ -1,9 +0,0 @@ -# This configuration file was automatically generated by Gitpod. -# Please adjust to your needs (see https://www.gitpod.io/docs/config-gitpod-file) -# and commit this file to your remote git repository to share the goodness with others. - -tasks: - - init: cargo build && make - command: cargo watch -x build # TODO make tests write files to the temp folder to be able to run test here instead of build, otherwise it's an infinite loop - - diff --git a/README.md b/README.md index 63ea54eda..9584fe538 100644 --- a/README.md +++ b/README.md @@ -117,14 +117,3 @@ DIM A AS INTEGER A = 42 ' this is an integer because it's explicitly defined as such A$ = "hello" ' duplicate definition error here ``` - -## Development - -The project uses the nightly toolchain currently, -to take advantage of `rustfmt` features that are onyl available there. - -Additionally, building on a Mac might cause some linker errors on the current -stable toolchain, which aren't occurring on the nightly. - -Tip: run tests continuously with `make watch` or -`nodemon -e rs -x "cargo test"`. diff --git a/rustfmt.toml b/rustfmt.toml deleted file mode 100644 index a0ce9ae2c..000000000 --- a/rustfmt.toml +++ /dev/null @@ -1,4 +0,0 @@ -unstable_features = true -imports_layout = "Horizontal" -imports_granularity = "Module" -group_imports = "StdExternalCrate" diff --git a/rusty_basic/src/instruction_generator/loops.rs b/rusty_basic/src/instruction_generator/loops.rs index 4a4e0d845..5eb3b809e 100644 --- a/rusty_basic/src/instruction_generator/loops.rs +++ b/rusty_basic/src/instruction_generator/loops.rs @@ -1,6 +1,7 @@ use rusty_common::*; use rusty_parser::{ - ConditionalBlock, DoLoop, DoLoopConditionKind, DoLoopConditionPosition, Expression, ExpressionPos, ForLoop, HasExpressionType, Statements + ConditionalBlock, DoLoop, DoLoopConditionKind, DoLoopConditionPosition, Expression, + ExpressionPos, ForLoop, HasExpressionType, Statements, }; use rusty_variant::Variant; diff --git a/rusty_basic/src/instruction_generator/main.rs b/rusty_basic/src/instruction_generator/main.rs index b895a6b55..7d5c71d58 100644 --- a/rusty_basic/src/instruction_generator/main.rs +++ b/rusty_basic/src/instruction_generator/main.rs @@ -2,14 +2,16 @@ use rusty_common::{AtPos, CaseInsensitiveString, Position, Positioned}; use rusty_linter::core::{LinterContext, ScopeName}; use rusty_linter::names::Names; use rusty_parser::{ - Assignment, BareName, BuiltInFunction, BuiltInSub, DimVar, Expression, ExpressionType, FileHandle, FunctionImplementation, GlobalStatement, HasExpressionType, Name, Parameter, Program, Statement, Statements, SubImplementation, TypeQualifier, UserDefinedTypes + Assignment, BareName, BuiltInFunction, BuiltInSub, DimVar, Expression, ExpressionType, + FileHandle, FunctionImplementation, GlobalStatement, HasExpressionType, Name, Parameter, + Program, Statement, Statements, SubImplementation, TypeQualifier, UserDefinedTypes, }; use rusty_variant::Variant; use crate::RuntimeError; use crate::instruction_generator::label_resolver::LabelResolver; use crate::instruction_generator::subprogram_info::{ - SubprogramInfoCollector, SubprogramInfoRepository + SubprogramInfoCollector, SubprogramInfoRepository, }; pub fn unwrap_linter_context(linter_context: LinterContext) -> (Names, UserDefinedTypes) { diff --git a/rusty_basic/src/instruction_generator/test_utils.rs b/rusty_basic/src/instruction_generator/test_utils.rs index c3705b0b5..807332340 100644 --- a/rusty_basic/src/instruction_generator/test_utils.rs +++ b/rusty_basic/src/instruction_generator/test_utils.rs @@ -3,7 +3,8 @@ use rusty_linter::core::lint; use rusty_parser::{UserDefinedTypes, parse}; use crate::instruction_generator::{ - Instruction, InstructionGeneratorResult, InstructionPos, generate_instructions, unwrap_linter_context + Instruction, InstructionGeneratorResult, InstructionPos, generate_instructions, + unwrap_linter_context, }; pub fn generate_instructions_str_with_types( diff --git a/rusty_basic/src/interpreter/keyboard.rs b/rusty_basic/src/interpreter/keyboard.rs index ede1aaabc..b2a7fb864 100644 --- a/rusty_basic/src/interpreter/keyboard.rs +++ b/rusty_basic/src/interpreter/keyboard.rs @@ -27,7 +27,8 @@ mod windows_impl { extern crate winapi; use winapi::um::winuser::{ - GetKeyboardState, INPUT, INPUT_KEYBOARD, KEYEVENTF_KEYUP, SendInput, VK_CAPITAL, VK_NUMLOCK, VK_SCROLL + GetKeyboardState, INPUT, INPUT_KEYBOARD, KEYEVENTF_KEYUP, SendInput, VK_CAPITAL, + VK_NUMLOCK, VK_SCROLL, }; use crate::RuntimeError; diff --git a/rusty_basic/src/interpreter/main.rs b/rusty_basic/src/interpreter/main.rs index 78d3f9fdf..770a291e5 100644 --- a/rusty_basic/src/interpreter/main.rs +++ b/rusty_basic/src/interpreter/main.rs @@ -14,7 +14,7 @@ use crate::interpreter::context::*; use crate::interpreter::data_segment::DataSegment; use crate::interpreter::default_stdlib::DefaultStdlib; use crate::interpreter::handlers::allocation::{ - allocate_array, allocate_built_in, allocate_fixed_length_string, allocate_user_defined_type + allocate_array, allocate_built_in, allocate_fixed_length_string, allocate_user_defined_type, }; use crate::interpreter::interpreter_trait::InterpreterTrait; use crate::interpreter::io::{FileManager, Input, Printer}; diff --git a/rusty_basic/src/interpreter/test_utils.rs b/rusty_basic/src/interpreter/test_utils.rs index 1fab3756a..dae485df6 100644 --- a/rusty_basic/src/interpreter/test_utils.rs +++ b/rusty_basic/src/interpreter/test_utils.rs @@ -8,7 +8,7 @@ use rusty_parser::{UserDefinedTypes, parse_main_file}; use crate::RuntimeErrorPos; use crate::instruction_generator::test_utils::generate_instructions_str_with_types; use crate::instruction_generator::{ - InstructionGeneratorResult, generate_instructions, unwrap_linter_context + InstructionGeneratorResult, generate_instructions, unwrap_linter_context, }; use crate::interpreter::Stdlib; use crate::interpreter::interpreter_trait::InterpreterTrait; diff --git a/rusty_basic/src/interpreter/tests/loops.rs b/rusty_basic/src/interpreter/tests/loops.rs index b459f18c7..f70d9808b 100644 --- a/rusty_basic/src/interpreter/tests/loops.rs +++ b/rusty_basic/src/interpreter/tests/loops.rs @@ -3,7 +3,8 @@ use rusty_common::*; use crate::interpreter::interpreter_trait::InterpreterTrait; use crate::interpreter::test_utils::*; use crate::{ - ErrorEnvelope, RuntimeError, assert_has_variable, assert_prints, assert_prints_exact, assert_prints_nothing + ErrorEnvelope, RuntimeError, assert_has_variable, assert_prints, assert_prints_exact, + assert_prints_nothing, }; #[test] diff --git a/rusty_basic/src/interpreter/variables.rs b/rusty_basic/src/interpreter/variables.rs index 7f3d8d315..60f684ebf 100644 --- a/rusty_basic/src/interpreter/variables.rs +++ b/rusty_basic/src/interpreter/variables.rs @@ -1,5 +1,5 @@ use rusty_parser::{ - AsBareName, BareName, DimType, DimVar, Name, ParamType, Parameter, TypeQualifier + AsBareName, BareName, DimType, DimVar, Name, ParamType, Parameter, TypeQualifier, }; use rusty_variant::{V_FALSE, Variant}; diff --git a/rusty_linter/src/built_ins/arg_validation.rs b/rusty_linter/src/built_ins/arg_validation.rs index 38ad2e187..44b5e3d37 100644 --- a/rusty_linter/src/built_ins/arg_validation.rs +++ b/rusty_linter/src/built_ins/arg_validation.rs @@ -1,6 +1,7 @@ use rusty_common::{AtPos, Position}; use rusty_parser::{ - Expression, ExpressionPos, ExpressionTrait, ExpressionType, Expressions, HasExpressionType, TypeQualifier + Expression, ExpressionPos, ExpressionTrait, ExpressionType, Expressions, HasExpressionType, + TypeQualifier, }; use crate::core::{CanCastTo, LintError, LintErrorPos}; diff --git a/rusty_linter/src/built_ins/len.rs b/rusty_linter/src/built_ins/len.rs index c3f337df3..91f2c7c72 100644 --- a/rusty_linter/src/built_ins/len.rs +++ b/rusty_linter/src/built_ins/len.rs @@ -1,6 +1,6 @@ use rusty_common::{AtPos, Position}; use rusty_parser::{ - ExpressionPos, ExpressionTrait, ExpressionType, Expressions, HasExpressionType, TypeQualifier + ExpressionPos, ExpressionTrait, ExpressionType, Expressions, HasExpressionType, TypeQualifier, }; use crate::core::{CanCastTo, LintError, LintErrorPos}; diff --git a/rusty_linter/src/converter/common/program_rules.rs b/rusty_linter/src/converter/common/program_rules.rs index 7fdb6a483..0dab93120 100644 --- a/rusty_linter/src/converter/common/program_rules.rs +++ b/rusty_linter/src/converter/common/program_rules.rs @@ -1,6 +1,7 @@ use rusty_common::{AtPos, Position, Positioned}; use rusty_parser::{ - DimVar, FunctionImplementation, GlobalStatement, GlobalStatementPos, Program, Statement, Statements, SubImplementation + DimVar, FunctionImplementation, GlobalStatement, GlobalStatementPos, Program, Statement, + Statements, SubImplementation, }; use crate::converter::common::{Convertible, ConvertibleIn}; diff --git a/rusty_linter/src/converter/dim_rules/dim_type_rules.rs b/rusty_linter/src/converter/dim_rules/dim_type_rules.rs index 751ba4f10..e3da20914 100644 --- a/rusty_linter/src/converter/dim_rules/dim_type_rules.rs +++ b/rusty_linter/src/converter/dim_rules/dim_type_rules.rs @@ -3,7 +3,7 @@ use rusty_parser::*; use crate::converter::common::{Convertible, DimContext, DimNameState}; use crate::core::{ - IntoTypeQualifier, LintError, LintErrorPos, LinterContext, ValidateStringLength + IntoTypeQualifier, LintError, LintErrorPos, LinterContext, ValidateStringLength, }; pub fn on_dim_type( diff --git a/rusty_linter/src/converter/dim_rules/redim.rs b/rusty_linter/src/converter/dim_rules/redim.rs index 502a57a1d..d48c197b1 100644 --- a/rusty_linter/src/converter/dim_rules/redim.rs +++ b/rusty_linter/src/converter/dim_rules/redim.rs @@ -3,7 +3,8 @@ use rusty_parser::*; use crate::converter::common::{Convertible, DimNameState}; use crate::core::{ - IntoTypeQualifier, LintError, LintErrorPos, LinterContext, RedimInfo, ValidateStringLength, VariableInfo + IntoTypeQualifier, LintError, LintErrorPos, LinterContext, RedimInfo, ValidateStringLength, + VariableInfo, }; pub fn on_redim_type( diff --git a/rusty_linter/src/converter/expr_rules/built_in_function.rs b/rusty_linter/src/converter/expr_rules/built_in_function.rs index bdab3d866..caa8b3788 100644 --- a/rusty_linter/src/converter/expr_rules/built_in_function.rs +++ b/rusty_linter/src/converter/expr_rules/built_in_function.rs @@ -2,7 +2,7 @@ use rusty_common::Position; use rusty_parser::{BuiltInFunction, Expression, Expressions}; use crate::converter::expr_rules::function::{ - convert_function_args, functions_must_have_arguments + convert_function_args, functions_must_have_arguments, }; use crate::core::{LintErrorPos, LinterContext}; diff --git a/rusty_linter/src/converter/expr_rules/function.rs b/rusty_linter/src/converter/expr_rules/function.rs index b322608c1..5886a0784 100644 --- a/rusty_linter/src/converter/expr_rules/function.rs +++ b/rusty_linter/src/converter/expr_rules/function.rs @@ -4,7 +4,8 @@ use rusty_parser::{AsBareName, BareName, Expression, ExpressionType, Expressions use crate::converter::common::{ConvertibleIn, ExprContext, ExprContextPos}; use crate::converter::expr_rules::qualify_name::*; use crate::core::{ - IntoQualified, IntoTypeQualifier, LintError, LintErrorPos, LintResult, LinterContext, VariableInfo + IntoQualified, IntoTypeQualifier, LintError, LintErrorPos, LintResult, LinterContext, + VariableInfo, }; pub fn convert( diff --git a/rusty_linter/src/converter/expr_rules/main.rs b/rusty_linter/src/converter/expr_rules/main.rs index 0e1567d47..7faf7bbef 100644 --- a/rusty_linter/src/converter/expr_rules/main.rs +++ b/rusty_linter/src/converter/expr_rules/main.rs @@ -3,7 +3,7 @@ use rusty_parser::*; use crate::converter::common::{ConvertibleIn, ExprContext, ExprContextPos}; use crate::converter::expr_rules::{ - binary, built_in_function, function, property, unary, variable + binary, built_in_function, function, property, unary, variable, }; use crate::core::{LintErrorPos, LinterContext}; diff --git a/rusty_linter/src/converter/expr_rules/property.rs b/rusty_linter/src/converter/expr_rules/property.rs index ce7b7a45b..635475292 100644 --- a/rusty_linter/src/converter/expr_rules/property.rs +++ b/rusty_linter/src/converter/expr_rules/property.rs @@ -1,11 +1,13 @@ use rusty_common::{AtPos, Position, Positioned}; use rusty_parser::{ - AsBareName, BareName, ElementType, Expression, ExpressionType, HasExpressionType, Name, ToBareName, UserDefinedType + AsBareName, BareName, ElementType, Expression, ExpressionType, HasExpressionType, Name, + ToBareName, UserDefinedType, }; use crate::converter::common::{ConvertibleIn, ExprContext, ExprContextPos}; use crate::converter::expr_rules::variable::{ - AssignToFunction, ExistingConst, ExistingVar, VarAsUserDefinedFunctionCall, VarResolve, add_as_new_implicit_var + AssignToFunction, ExistingConst, ExistingVar, VarAsUserDefinedFunctionCall, VarResolve, + add_as_new_implicit_var, }; use crate::core::{LintError, LintErrorPos, LinterContext}; diff --git a/rusty_linter/src/converter/expr_rules/unary.rs b/rusty_linter/src/converter/expr_rules/unary.rs index 8a60e6f22..c4562426d 100644 --- a/rusty_linter/src/converter/expr_rules/unary.rs +++ b/rusty_linter/src/converter/expr_rules/unary.rs @@ -1,6 +1,6 @@ use rusty_common::AtPos; use rusty_parser::{ - Expression, ExpressionPos, ExpressionType, HasExpressionType, TypeQualifier, UnaryOperator + Expression, ExpressionPos, ExpressionType, HasExpressionType, TypeQualifier, UnaryOperator, }; use crate::converter::common::{ConvertibleIn, ExprContextPos}; diff --git a/rusty_linter/src/converter/expr_rules/variable.rs b/rusty_linter/src/converter/expr_rules/variable.rs index 0c46e3f1c..8402f4bbe 100644 --- a/rusty_linter/src/converter/expr_rules/variable.rs +++ b/rusty_linter/src/converter/expr_rules/variable.rs @@ -1,13 +1,15 @@ use rusty_common::{AtPos, Position}; use rusty_parser::{ - AsBareName, BuiltInFunction, BuiltInStyle, DimType, Expression, ExpressionType, Name, TypeQualifier + AsBareName, BuiltInFunction, BuiltInStyle, DimType, Expression, ExpressionType, Name, + TypeQualifier, }; use rusty_variant::Variant; use crate::converter::common::{ExprContext, ExprContextPos}; use crate::converter::expr_rules::qualify_name::*; use crate::core::{ - ConstLookup, IntoQualified, IntoTypeQualifier, LintError, LintErrorPos, LintResult, LinterContext, VariableInfo, qualifier_of_const_variant + ConstLookup, IntoQualified, IntoTypeQualifier, LintError, LintErrorPos, LintResult, + LinterContext, VariableInfo, qualifier_of_const_variant, }; pub fn convert( diff --git a/rusty_linter/src/converter/statement/const_rules.rs b/rusty_linter/src/converter/statement/const_rules.rs index 7daa75cb7..6e5d70104 100644 --- a/rusty_linter/src/converter/statement/const_rules.rs +++ b/rusty_linter/src/converter/statement/const_rules.rs @@ -2,7 +2,8 @@ use rusty_common::*; use rusty_parser::*; use crate::core::{ - CastVariant, ConstEvaluator, LintError, LintErrorPos, LintResult, LinterContext, qualifier_of_const_variant + CastVariant, ConstEvaluator, LintError, LintErrorPos, LintResult, LinterContext, + qualifier_of_const_variant, }; pub fn on_const(ctx: &mut LinterContext, c: Constant) -> Result { diff --git a/rusty_linter/src/core/casting.rs b/rusty_linter/src/core/casting.rs index 021780d51..da9a67640 100644 --- a/rusty_linter/src/core/casting.rs +++ b/rusty_linter/src/core/casting.rs @@ -1,6 +1,6 @@ use rusty_common::AtPos; use rusty_parser::{ - Expression, ExpressionPos, ExpressionType, HasExpressionType, Operator, TypeQualifier + Expression, ExpressionPos, ExpressionType, HasExpressionType, Operator, TypeQualifier, }; use crate::core::{CanCastTo, LintError, LintErrorPos}; diff --git a/rusty_linter/src/post_linter/condition_type_linter.rs b/rusty_linter/src/post_linter/condition_type_linter.rs index c55d8ebea..c32426f64 100644 --- a/rusty_linter/src/post_linter/condition_type_linter.rs +++ b/rusty_linter/src/post_linter/condition_type_linter.rs @@ -1,6 +1,6 @@ use rusty_common::AtPos; use rusty_parser::{ - ConditionalBlock, DoLoop, ExpressionPos, ExpressionType, HasExpressionType, TypeQualifier + ConditionalBlock, DoLoop, ExpressionPos, ExpressionType, HasExpressionType, TypeQualifier, }; use crate::core::{LintError, LintErrorPos}; diff --git a/rusty_linter/src/post_linter/main.rs b/rusty_linter/src/post_linter/main.rs index 3f01235f8..67d1043ac 100644 --- a/rusty_linter/src/post_linter/main.rs +++ b/rusty_linter/src/post_linter/main.rs @@ -4,7 +4,9 @@ use crate::core::{LintErrorPos, LinterContext, Visitor}; use crate::post_linter::expression_reducer::ExpressionReducer; use crate::post_linter::post_conversion_linter::PostConversionLinter; use crate::post_linter::{ - built_in_linter, condition_type_linter, dots_linter, for_next_counter_match_linter, label_linter, print_linter, select_case_linter, undefined_function_reducer, user_defined_function_linter, user_defined_sub_linter + built_in_linter, condition_type_linter, dots_linter, for_next_counter_match_linter, + label_linter, print_linter, select_case_linter, undefined_function_reducer, + user_defined_function_linter, user_defined_sub_linter, }; pub fn post_linter( diff --git a/rusty_linter/src/pre_linter/user_defined_type_visitor.rs b/rusty_linter/src/pre_linter/user_defined_type_visitor.rs index ade2b4f4f..f2aff5447 100644 --- a/rusty_linter/src/pre_linter/user_defined_type_visitor.rs +++ b/rusty_linter/src/pre_linter/user_defined_type_visitor.rs @@ -2,7 +2,7 @@ use std::collections::HashMap; use rusty_common::{AtPos, Position, Positioned}; use rusty_parser::{ - BareName, Element, ElementPos, ElementType, Expression, UserDefinedType, UserDefinedTypes + BareName, Element, ElementPos, ElementType, Expression, UserDefinedType, UserDefinedTypes, }; use crate::core::{ConstLookup, LintError, ValidateStringLength, VisitResult, Visitor}; diff --git a/rusty_parser/src/built_ins/close.rs b/rusty_parser/src/built_ins/close.rs index 6a760783e..9cad9a5c2 100644 --- a/rusty_parser/src/built_ins/close.rs +++ b/rusty_parser/src/built_ins/close.rs @@ -3,7 +3,7 @@ use rusty_pc::*; use crate::expr::expression_pos_p; use crate::expr::file_handle::{ - file_handle_as_expression_pos_p, guarded_file_handle_or_expression_p + file_handle_as_expression_pos_p, guarded_file_handle_or_expression_p, }; use crate::input::StringView; use crate::pc_specific::*; diff --git a/rusty_parser/src/built_ins/common.rs b/rusty_parser/src/built_ins/common.rs index 8e2063aa3..67519d031 100644 --- a/rusty_parser/src/built_ins/common.rs +++ b/rusty_parser/src/built_ins/common.rs @@ -7,7 +7,7 @@ use crate::input::StringView; use crate::pc_specific::*; use crate::tokens::comma_ws; use crate::{ - BuiltInSub, Expression, ExpressionPos, Expressions, FileHandle, Keyword, ParserError, Statement + BuiltInSub, Expression, ExpressionPos, Expressions, FileHandle, Keyword, ParserError, Statement, }; /// Parses built-in subs with optional arguments. diff --git a/rusty_parser/src/core/dim.rs b/rusty_parser/src/core/dim.rs index 0ed488a8a..fe6b7d09e 100644 --- a/rusty_parser/src/core/dim.rs +++ b/rusty_parser/src/core/dim.rs @@ -45,7 +45,7 @@ mod tests { use crate::test_utils::*; use crate::{ - assert_parse_dim_compact, assert_parse_dim_extended_built_in, assert_parser_err, * + assert_parse_dim_compact, assert_parse_dim_extended_built_in, assert_parser_err, *, }; #[test] fn test_parse_dim_extended_built_in() { diff --git a/rusty_parser/src/core/dim_name.rs b/rusty_parser/src/core/dim_name.rs index 3440abad9..491f524f5 100644 --- a/rusty_parser/src/core/dim_name.rs +++ b/rusty_parser/src/core/dim_name.rs @@ -5,7 +5,8 @@ use crate::core::var_name; use crate::input::StringView; use crate::pc_specific::*; use crate::{ - ArrayDimensions, BareName, BuiltInStyle, DimList, DimType, Name, ParserError, ToBareName, TypeQualifier, TypedName + ArrayDimensions, BareName, BuiltInStyle, DimList, DimType, Name, ParserError, ToBareName, + TypeQualifier, TypedName, }; pub type DimVar = TypedName; diff --git a/rusty_parser/src/core/dim_type.rs b/rusty_parser/src/core/dim_type.rs index a25e0d99b..68f54f3bb 100644 --- a/rusty_parser/src/core/dim_type.rs +++ b/rusty_parser/src/core/dim_type.rs @@ -1,7 +1,8 @@ use rusty_common::{AtPos, Position}; use crate::{ - ArrayDimensions, BareNamePos, BuiltInStyle, Expression, ExpressionPos, ExpressionType, HasExpressionType, TypeQualifier, VarType + ArrayDimensions, BareNamePos, BuiltInStyle, Expression, ExpressionPos, ExpressionType, + HasExpressionType, TypeQualifier, VarType, }; #[derive(Clone, Debug, PartialEq, Default)] diff --git a/rusty_parser/src/core/if_block.rs b/rusty_parser/src/core/if_block.rs index e6207fe08..66de21163 100644 --- a/rusty_parser/src/core/if_block.rs +++ b/rusty_parser/src/core/if_block.rs @@ -2,7 +2,7 @@ use rusty_pc::*; use crate::core::comment::comment_p; use crate::core::single_line_statements::{ - single_line_non_comment_statements_p, single_line_statements_p + single_line_non_comment_statements_p, single_line_statements_p, }; use crate::core::statements::zero_or_more_statements; use crate::expr::demand_ws_expr_ws_keyword_p; diff --git a/rusty_parser/src/core/implementation.rs b/rusty_parser/src/core/implementation.rs index 26cf83935..c612f7b4d 100644 --- a/rusty_parser/src/core/implementation.rs +++ b/rusty_parser/src/core/implementation.rs @@ -68,7 +68,8 @@ mod tests { use super::*; use crate::test_utils::*; use crate::{ - Expression, ExpressionType, Operator, ParamType, Parameter, Statement, assert_parser_err, parse + Expression, ExpressionType, Operator, ParamType, Parameter, Statement, assert_parser_err, + parse, }; #[test] diff --git a/rusty_parser/src/core/mod.rs b/rusty_parser/src/core/mod.rs index 71634cc97..b1c9f7122 100644 --- a/rusty_parser/src/core/mod.rs +++ b/rusty_parser/src/core/mod.rs @@ -50,22 +50,25 @@ pub use self::dim_type::*; pub use self::expression_type::{ExpressionType, HasExpressionType}; pub use self::file_constants::*; pub use self::global_statement::{ - FunctionDeclaration, FunctionImplementation, GlobalStatement, GlobalStatementPos, Program, SubDeclaration, SubImplementation, SubprogramImplementation, program_parser_p + FunctionDeclaration, FunctionImplementation, GlobalStatement, GlobalStatementPos, Program, + SubDeclaration, SubImplementation, SubprogramImplementation, program_parser_p, }; pub use self::keyword::Keyword; pub use self::letter_range::LetterRange; pub use self::name::{ - Name, NameAsTokens, NamePos, name_as_tokens_p, name_p, token_to_type_qualifier + Name, NameAsTokens, NamePos, name_as_tokens_p, name_p, token_to_type_qualifier, }; pub use self::operator::Operator; pub use self::param_name::{ParamType, Parameter, ParameterPos, Parameters}; pub use self::print::{Print, PrintArg}; pub use self::statement::{ - Assignment, BuiltInSubCall, CaseBlock, CaseExpression, ConditionalBlock, Constant, DimList, DoLoop, DoLoopConditionKind, DoLoopConditionPosition, ExitObject, ForLoop, IfBlock, OnErrorOption, ResumeOption, SelectCase, Statement, StatementPos, Statements, SubCall + Assignment, BuiltInSubCall, CaseBlock, CaseExpression, ConditionalBlock, Constant, DimList, + DoLoop, DoLoopConditionKind, DoLoopConditionPosition, ExitObject, ForLoop, IfBlock, + OnErrorOption, ResumeOption, SelectCase, Statement, StatementPos, Statements, SubCall, }; pub use self::type_qualifier::TypeQualifier; pub use self::unary_operator::UnaryOperator; pub use self::user_defined_type::{ - Element, ElementPos, ElementType, UserDefinedType, UserDefinedTypes + Element, ElementPos, ElementType, UserDefinedType, UserDefinedTypes, }; pub use self::var_name::*; diff --git a/rusty_parser/src/core/param_name.rs b/rusty_parser/src/core/param_name.rs index ee03773b9..ee6065c0c 100644 --- a/rusty_parser/src/core/param_name.rs +++ b/rusty_parser/src/core/param_name.rs @@ -6,7 +6,8 @@ use crate::input::StringView; use crate::pc_specific::*; use crate::tokens::{any_symbol_of, any_token_of}; use crate::{ - BareNamePos, BuiltInStyle, ExpressionType, HasExpressionType, Keyword, ParserError, TypeQualifier, TypedName, VarType + BareNamePos, BuiltInStyle, ExpressionType, HasExpressionType, Keyword, ParserError, + TypeQualifier, TypedName, VarType, }; pub type Parameter = TypedName; diff --git a/rusty_parser/src/core/print.rs b/rusty_parser/src/core/print.rs index 1e0cb3b59..5160e2785 100644 --- a/rusty_parser/src/core/print.rs +++ b/rusty_parser/src/core/print.rs @@ -9,7 +9,7 @@ use crate::expr::{expression_pos_p, ws_expr_pos_p}; use crate::input::StringView; use crate::pc_specific::*; use crate::tokens::{ - TokenMatcher, any_symbol_of, any_symbol_of_ws, any_token_of, comma_ws, semicolon_ws + TokenMatcher, any_symbol_of, any_symbol_of_ws, any_token_of, comma_ws, semicolon_ws, }; use crate::*; diff --git a/rusty_parser/src/core/statement.rs b/rusty_parser/src/core/statement.rs index 49c53cfa1..ef36b2cf2 100644 --- a/rusty_parser/src/core/statement.rs +++ b/rusty_parser/src/core/statement.rs @@ -22,7 +22,8 @@ use crate::input::StringView; use crate::pc_specific::*; use crate::tokens::colon; use crate::{ - BareName, BuiltInSub, DimVars, Expression, ExpressionPos, Expressions, Keyword, NamePos, Operator, ParserError, Print + BareName, BuiltInSub, DimVars, Expression, ExpressionPos, Expressions, Keyword, NamePos, + Operator, ParserError, Print, }; pub type StatementPos = Positioned; diff --git a/rusty_parser/src/core/var_name.rs b/rusty_parser/src/core/var_name.rs index 3b8f1791d..58865a7db 100644 --- a/rusty_parser/src/core/var_name.rs +++ b/rusty_parser/src/core/var_name.rs @@ -5,7 +5,8 @@ use crate::core::name::{bare_name_without_dots, name_p}; use crate::input::StringView; use crate::pc_specific::*; use crate::{ - ArrayDimensions, AsBareName, BareName, BareNamePos, DimType, ExpressionType, HasExpressionType, Keyword, Name, ParamType, ParserError, ToBareName, TypeQualifier + ArrayDimensions, AsBareName, BareName, BareNamePos, DimType, ExpressionType, HasExpressionType, + Keyword, Name, ParamType, ParserError, ToBareName, TypeQualifier, }; /// A variable name with a type. diff --git a/rusty_parser/src/expr/types.rs b/rusty_parser/src/expr/types.rs index ed646a612..f209b7960 100644 --- a/rusty_parser/src/expr/types.rs +++ b/rusty_parser/src/expr/types.rs @@ -2,7 +2,8 @@ use rusty_bit_vec::{MIN_INTEGER, MIN_LONG}; use rusty_common::*; use crate::{ - BuiltInFunction, ExpressionType, FileHandle, HasExpressionType, Name, Operator, TypeQualifier, UnaryOperator + BuiltInFunction, ExpressionType, FileHandle, HasExpressionType, Name, Operator, TypeQualifier, + UnaryOperator, }; // TODO move traits and logic that is linter specific to linter (including CanCastTo from common) diff --git a/rusty_parser/src/expr/variable.rs b/rusty_parser/src/expr/variable.rs index 650c9bd54..94f62abf3 100644 --- a/rusty_parser/src/expr/variable.rs +++ b/rusty_parser/src/expr/variable.rs @@ -34,19 +34,17 @@ fn is_property_expr(name_as_tokens: &NameAsTokens) -> bool { // leading dot cannot happen debug_assert!(!name_token.as_str().starts_with('.')); - for name in name_token.as_str().chars() { - if '.' == name { + for ch in name_token.as_str().chars() { + if ch == '.' { if last_was_dot { // two dots in a row return false; } else { last_was_dot = true; } - } else { - if last_was_dot { - name_count += 1; - last_was_dot = false; - } + } else if last_was_dot { + name_count += 1; + last_was_dot = false; } } // at least two names and no trailing dot