From bf0509e4b6dff48bc9c44be103aa1c2c2812e466 Mon Sep 17 00:00:00 2001 From: Sam Zhou Date: Sun, 25 Feb 2024 13:56:46 -0800 Subject: [PATCH] [misc] Fix typo in error messages (#1184) --- crates/samlang-checker/src/checker_tests.rs | 4 +-- crates/samlang-checker/src/lib.rs | 2 +- crates/samlang-checker/src/main_checker.rs | 10 +++--- crates/samlang-errors/src/lib.rs | 34 +++++++++--------- .../src/components/samlang_wasm_bg.wasm | Bin 2384600 -> 2384614 bytes 5 files changed, 25 insertions(+), 25 deletions(-) diff --git a/crates/samlang-checker/src/checker_tests.rs b/crates/samlang-checker/src/checker_tests.rs index 7d4ff577..8461e42c 100644 --- a/crates/samlang-checker/src/checker_tests.rs +++ b/crates/samlang-checker/src/checker_tests.rs @@ -3020,7 +3020,7 @@ Found 3 errors. r#" Error ---------------------------------- DUMMY.sam:1:25-1:64 -This pattern-matching is not exhausive. +This pattern-matching is not exhaustive. Here is an example of a non-matching value: `Bar(_)`. 1| { let _ = (t: Test2) -> match (t) { Foo(_) -> 1, Baz(s) -> 2, }; } @@ -3267,7 +3267,7 @@ Found 1 error. r#" Error ----------------------------------- DUMMY.sam:1:6-1:12 -This pattern-matching is not exhausive. +This pattern-matching is not exhaustive. Here is an example of a non-matching value: `Bar(_)`. 1| {let Foo(_) = Test2.Foo(false);} diff --git a/crates/samlang-checker/src/lib.rs b/crates/samlang-checker/src/lib.rs index 3d509661..a67ff468 100644 --- a/crates/samlang-checker/src/lib.rs +++ b/crates/samlang-checker/src/lib.rs @@ -11,7 +11,7 @@ mod checker_tests; mod global_signature; /// The main checker that connects everything together. mod main_checker; -/// The module that verify the usefulness and exhausiveness of patterns. +/// The module that verify the usefulness and exhaustiveness of patterns. mod pattern_matching; /// Computing the SSA graph. mod ssa_analysis; diff --git a/crates/samlang-checker/src/main_checker.rs b/crates/samlang-checker/src/main_checker.rs index 620d0cc1..d77e35c8 100644 --- a/crates/samlang-checker/src/main_checker.rs +++ b/crates/samlang-checker/src/main_checker.rs @@ -992,7 +992,7 @@ fn check_match( if let Some(description) = pattern_matching::incomplete_counterexample(cx, &abstract_pattern_nodes) { - cx.error_set.report_non_exhausive_match_error(expression.common.loc, description); + cx.error_set.report_non_exhaustive_match_error(expression.common.loc, description); } expr::E::Match(expr::Match { common: expression.common.with_new_type(Rc::new( @@ -1224,7 +1224,7 @@ fn check_matching_pattern( abstract_pattern_nodes.push(abstract_node); } if fields.len() > checked_destructured_names.len() { - cx.error_set.report_non_exhausive_tuple_binding_error( + cx.error_set.report_non_exhaustive_tuple_binding_error( *pattern_loc, fields.len(), checked_destructured_names.len(), @@ -1318,7 +1318,7 @@ fn check_matching_pattern( abstract_pattern_nodes[*field_order] = abstract_node; } if !not_mentioned_fields.is_empty() { - cx.error_set.report_non_exhausive_struct_binding_error( + cx.error_set.report_non_exhaustive_struct_binding_error( *pattern_loc, not_mentioned_fields.into_iter().collect(), ); @@ -1418,7 +1418,7 @@ fn check_matching_pattern( (0, None) }; if resolved_enum_variant.types.len() > checked_data_variables_len { - cx.error_set.report_non_exhausive_tuple_binding_error( + cx.error_set.report_non_exhaustive_tuple_binding_error( *loc, resolved_enum_variant.types.len(), checked_data_variables_len, @@ -1487,7 +1487,7 @@ fn check_statement( if let Some(description) = pattern_matching::incomplete_counterexample(cx, &[abstract_pattern_node]) { - cx.error_set.report_non_exhausive_match_error(*checked_pattern.loc(), description); + cx.error_set.report_non_exhaustive_match_error(*checked_pattern.loc(), description); } expr::DeclarationStatement { loc: *loc, diff --git a/crates/samlang-errors/src/lib.rs b/crates/samlang-errors/src/lib.rs index 95a4c4a1..baaabb27 100644 --- a/crates/samlang-errors/src/lib.rs +++ b/crates/samlang-errors/src/lib.rs @@ -586,9 +586,9 @@ pub enum ErrorDetail { MissingClassMemberDefinitions { missing_definitions: Vec }, MissingExport { module_reference: ModuleReference, name: PStr }, NameAlreadyBound { name: PStr, old_loc: Location }, - NonExhausiveStructBinding { missing_bindings: Vec }, - NonExhausiveTupleBinding { expected_count: usize, actual_count: usize }, - NonExhausiveMatch { counter_example: Description }, + NonExhaustiveStructBinding { missing_bindings: Vec }, + NonExhaustiveTupleBinding { expected_count: usize, actual_count: usize }, + NonExhaustiveMatch { counter_example: Description }, NotAnEnum { description: Description }, NotAStruct { description: Description }, Stacked(StackableError), @@ -678,7 +678,7 @@ impl ErrorDetail { printable_stream.push_location(old_loc); printable_stream.push_text("."); } - ErrorDetail::NonExhausiveStructBinding { missing_bindings } => { + ErrorDetail::NonExhaustiveStructBinding { missing_bindings } => { printable_stream.push_text( "The pattern does not bind all fields. The following names have not been mentioned:", ); @@ -688,7 +688,7 @@ impl ErrorDetail { printable_stream.push_text("`"); } } - ErrorDetail::NonExhausiveTupleBinding { expected_count, actual_count } => { + ErrorDetail::NonExhaustiveTupleBinding { expected_count, actual_count } => { printable_stream .push_text("The pattern does not bind all fields. Expected number of elements: "); printable_stream.push_size(*expected_count); @@ -696,9 +696,9 @@ impl ErrorDetail { printable_stream.push_size(*actual_count); printable_stream.push_text("."); } - ErrorDetail::NonExhausiveMatch { counter_example } => { + ErrorDetail::NonExhaustiveMatch { counter_example } => { printable_stream.push_text( - "This pattern-matching is not exhausive.\nHere is an example of a non-matching value: `", + "This pattern-matching is not exhaustive.\nHere is an example of a non-matching value: `", ); printable_stream.push_description(counter_example); printable_stream.push_text("`."); @@ -1014,25 +1014,25 @@ impl ErrorSet { self.report_error(new_loc, ErrorDetail::NameAlreadyBound { name, old_loc }) } - pub fn report_non_exhausive_struct_binding_error( + pub fn report_non_exhaustive_struct_binding_error( &mut self, loc: Location, missing_bindings: Vec, ) { - self.report_error(loc, ErrorDetail::NonExhausiveStructBinding { missing_bindings }) + self.report_error(loc, ErrorDetail::NonExhaustiveStructBinding { missing_bindings }) } - pub fn report_non_exhausive_tuple_binding_error( + pub fn report_non_exhaustive_tuple_binding_error( &mut self, loc: Location, expected_count: usize, actual_count: usize, ) { - self.report_error(loc, ErrorDetail::NonExhausiveTupleBinding { expected_count, actual_count }) + self.report_error(loc, ErrorDetail::NonExhaustiveTupleBinding { expected_count, actual_count }) } - pub fn report_non_exhausive_match_error(&mut self, loc: Location, counter_example: Description) { - self.report_error(loc, ErrorDetail::NonExhausiveMatch { counter_example }) + pub fn report_non_exhaustive_match_error(&mut self, loc: Location, counter_example: Description) { + self.report_error(loc, ErrorDetail::NonExhaustiveMatch { counter_example }) } pub fn report_not_an_enum_error(&mut self, loc: Location, description: Description) { @@ -1207,12 +1207,12 @@ Found 2 errors."# heap.alloc_str_for_test("bar"), ); error_set.report_name_already_bound_error(Location::dummy(), PStr::LOWER_A, Location::dummy()); - error_set.report_non_exhausive_struct_binding_error( + error_set.report_non_exhaustive_struct_binding_error( Location::dummy(), vec![PStr::UPPER_A, PStr::UPPER_B], ); - error_set.report_non_exhausive_tuple_binding_error(Location::dummy(), 7, 4); - error_set.report_non_exhausive_match_error(Location::dummy(), Description::IntType); + error_set.report_non_exhaustive_tuple_binding_error(Location::dummy(), 7, 4); + error_set.report_non_exhaustive_match_error(Location::dummy(), Description::IntType); error_set.report_not_an_enum_error(Location::dummy(), Description::IntType); error_set.report_not_a_struct_error(Location::dummy(), Description::IntType); error_set.report_stackable_error(Location::dummy(), { @@ -1321,7 +1321,7 @@ The pattern does not bind all fields. Expected number of elements: 7, actual num Error ------------------------------------ DUMMY.sam:0:0-0:0 -This pattern-matching is not exhausive. +This pattern-matching is not exhaustive. Here is an example of a non-matching value: `int`. diff --git a/packages/samlang-website/src/components/samlang_wasm_bg.wasm b/packages/samlang-website/src/components/samlang_wasm_bg.wasm index fdc67b34b75861de992ad6dba30a0bf09a2cfe22..8bd2e95b113d8316b47da0e20a3cb7b244731985 100644 GIT binary patch delta 38215 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 X^XXj?6EnS)pdb82d?GzJjZgRwNnBhr delta 38162 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 UclPb+ZUpV%Pw~E@WD-yPFSp~z2><{9