From af2f5dbe196d09e4ddbcfead51077c9aba84a01b Mon Sep 17 00:00:00 2001 From: Louis Gesbert Date: Thu, 24 Nov 2022 18:00:45 +0100 Subject: [PATCH] Tweak error message location printing --- compiler/catala_utils/pos.ml | 10 ++++---- compiler/catala_utils/string.ml | 6 ++--- compiler/catala_utils/uid.ml | 5 +--- compiler/catala_web_interpreter.ml | 1 - compiler/driver.mli | 1 - compiler/lcalc/to_ocaml.ml | 10 +++++--- compiler/literate/literate_common.mli | 6 ++--- compiler/scalc/to_python.ml | 9 ++++--- compiler/shared_ast/print.ml | 3 ++- compiler/verification/z3backend.dummy.ml | 3 +-- .../tests/test_nsw_social_housie.catala_en | 24 +++++++------------ .../catala_legifrance/catala_legifrance.ml | 4 ++-- .../bad/division_by_zero.catala_en | 18 +++++--------- tests/test_array/bad/fold_error.catala_en | 9 +++---- tests/test_bool/bad/bad_assert.catala_en | 9 +++---- .../test_bool/bad/test_xor_with_int.catala_en | 9 +++---- .../bad/uncomparable_duration.catala_en | 24 +++++++------------ tests/test_default/bad/conflict.catala_en | 6 ++--- tests/test_default/bad/empty.catala_en | 3 +-- .../bad/empty_with_rules.catala_en | 3 +-- tests/test_enum/bad/ambiguous_cases.catala_en | 3 +-- .../bad/ambiguous_wildcard.catala_en | 3 +-- tests/test_enum/bad/duplicate_case.catala_en | 6 ++--- tests/test_enum/bad/empty.catala_en | 3 +-- tests/test_enum/bad/missing_case.catala_en | 3 +-- .../bad/not_ending_wildcard.catala_en | 12 ++++------ tests/test_enum/bad/quick_pattern_2.catala_en | 9 +++---- tests/test_enum/bad/quick_pattern_3.catala_en | 9 +++---- tests/test_enum/bad/quick_pattern_4.catala_en | 9 +++---- .../bad/quick_pattern_fail.catala_en | 3 +-- tests/test_enum/bad/too_many_cases.catala_en | 3 +-- .../test_enum/bad/useless_wildcard.catala_en | 3 +-- .../ambiguous_unlabeled_exception.catala_en | 9 +++---- .../bad/dangling_exception.catala_en | 3 +-- .../bad/exceptions_cycle.catala_en | 18 +++++--------- .../missing_unlabeled_definition.catala_en | 3 +-- .../bad/one_ambiguous_exception.catala_en | 9 +++---- .../bad/self_exception.catala_en | 3 +-- .../bad/two_exceptions.catala_en | 6 ++--- tests/test_func/bad/bad_func.catala_en | 6 ++--- tests/test_func/bad/recursive.catala_en | 3 +-- tests/test_io/bad/forgot_input.catala_en | 6 ++--- .../bad/inputing_to_not_input.catala_en | 9 +++---- tests/test_io/bad/redefining_input.catala_en | 6 ++--- tests/test_io/bad/using_non_output.catala_en | 9 +++---- tests/test_money/bad/no_mingle.catala_en | 9 +++---- .../bad/array_length-empty.catala_en | 3 +-- .../bad/array_length-overlap.catala_en | 3 +-- .../bad/dates_get_year-empty.catala_en | 3 +-- .../bad/dates_get_year-overlap.catala_en | 3 +-- .../bad/dates_simple-empty.catala_en | 3 +-- .../bad/dates_simple-overlap.catala_en | 3 +-- tests/test_proof/bad/duration-empty.catala_en | 3 +-- .../test_proof/bad/duration-overlap.catala_en | 3 +-- tests/test_proof/bad/enums-empty.catala_en | 3 +-- .../bad/enums-nonbool-empty.catala_en | 3 +-- .../bad/enums-nonbool-overlap.catala_en | 3 +-- tests/test_proof/bad/enums-overlap.catala_en | 3 +-- .../test_proof/bad/enums_inj-empty.catala_en | 3 +-- .../bad/enums_inj-overlap.catala_en | 3 +-- .../test_proof/bad/enums_unit-empty.catala_en | 3 +-- .../bad/enums_unit-overlap.catala_en | 3 +-- tests/test_proof/bad/money-empty.catala_en | 3 +-- tests/test_proof/bad/money-overlap.catala_en | 3 +-- .../test_proof/bad/no_vars-conflict.catala_en | 3 +-- tests/test_proof/bad/no_vars-empty.catala_en | 3 +-- .../bad/prolala_motivating_example.catala_en | 9 +++---- .../test_proof/bad/rationals-empty.catala_en | 3 +-- .../bad/rationals-overlap.catala_en | 3 +-- tests/test_proof/bad/sat_solving.catala_en | 3 +-- tests/test_proof/bad/structs-empty.catala_en | 3 +-- .../test_proof/bad/structs-overlap.catala_en | 3 +-- tests/test_scope/bad/cycle_in_scope.catala_en | 18 +++++--------- tests/test_scope/bad/cyclic_scopes.catala_en | 12 ++++------ tests/test_scope/bad/scope.catala_en | 6 ++--- .../bad/scope_call_duplicate.catala_en | 3 +-- .../test_scope/bad/scope_call_extra.catala_en | 6 ++--- .../bad/scope_call_missing.catala_en | 6 ++--- .../bad/sub_vars_in_sub_var.catala_en | 3 +-- .../bad/ambiguous_fields.catala_en | 3 +-- tests/test_struct/bad/bug_107.catala_en | 6 ++--- tests/test_struct/bad/empty_struct.catala_en | 3 +-- tests/test_struct/bad/nested.catala_en | 3 +-- tests/test_struct/bad/nested2.catala_en | 12 ++++------ .../bad/nonexisting_struct.catala_en | 3 +-- .../bad/wrong_qualified_field.catala_en | 3 +-- tests/test_typing/bad/err1.catala_en | 9 +++---- tests/test_typing/bad/err2.catala_en | 9 +++---- tests/test_typing/bad/err3.catala_en | 18 +++++--------- tests/test_typing/bad/err4.catala_en | 9 +++---- tests/test_typing/bad/err5.catala_en | 9 +++---- tests/test_typing/bad/err6.catala_en | 9 +++---- .../bad/def_no_state.catala_en | 6 ++--- .../bad/no_cross_exceptions.catala_en | 3 +-- .../bad/self_reference_first_state.catala_en | 3 +-- .../bad/state_cycle.catala_en | 24 +++++++------------ .../bad/unknown_state.catala_en | 6 ++--- 97 files changed, 209 insertions(+), 395 deletions(-) diff --git a/compiler/catala_utils/pos.ml b/compiler/catala_utils/pos.ml index 5c235a31..c515a1bb 100644 --- a/compiler/catala_utils/pos.ml +++ b/compiler/catala_utils/pos.ml @@ -79,11 +79,11 @@ let to_string (pos : t) : string = let to_string_short (pos : t) : string = let s, e = pos.code_pos in if e.Lexing.pos_lnum = s.Lexing.pos_lnum then - Printf.sprintf "%s:%d.%d-%d" s.Lexing.pos_fname s.Lexing.pos_lnum + Printf.sprintf "%s:%d.%d-%d:" s.Lexing.pos_fname s.Lexing.pos_lnum (s.Lexing.pos_cnum - s.Lexing.pos_bol) (e.Lexing.pos_cnum - e.Lexing.pos_bol) else - Printf.sprintf "%s:%d.%d-%d.%d" s.Lexing.pos_fname s.Lexing.pos_lnum + Printf.sprintf "%s:%d.%d-%d.%d:" s.Lexing.pos_fname s.Lexing.pos_lnum (s.Lexing.pos_cnum - s.Lexing.pos_bol) e.Lexing.pos_lnum (e.Lexing.pos_cnum - e.Lexing.pos_bol) @@ -193,10 +193,8 @@ let retrieve_loc_text (pos : t) : string = (Cli.with_style blue_style "└%s┐" (string_repeat spaces "─")); Buffer.add_char buf '\n'; Buffer.add_string buf - (Cli.add_prefix_to_each_line - (String.concat "\n" ("" :: pos_lines)) - (fun i -> - let cur_line = sline - include_extra_count + i - 1 in + (Cli.add_prefix_to_each_line (String.concat "\n" pos_lines) (fun i -> + let cur_line = sline - include_extra_count + i in if cur_line >= sline && cur_line <= sline + (2 * (eline - sline)) diff --git a/compiler/catala_utils/string.ml b/compiler/catala_utils/string.ml index 0a0ce075..0628c7ca 100644 --- a/compiler/catala_utils/string.ml +++ b/compiler/catala_utils/string.ml @@ -17,8 +17,7 @@ include Stdlib.String let to_ascii : string -> string = Ubase.from_utf8 - -let is_uppercase_ascii = function 'A'..'Z' -> true | _ -> false +let is_uppercase_ascii = function 'A' .. 'Z' -> true | _ -> false let begins_with_uppercase (s : string) : bool = "" <> s && is_uppercase_ascii (get (to_ascii s) 0) @@ -44,8 +43,7 @@ let to_camel_case (s : string) : string = !out ^ if is_underscore then "" - else if !last_was_underscore || 0 = i then - uppercase_ascii c_string + else if !last_was_underscore || 0 = i then uppercase_ascii c_string else c_string; last_was_underscore := is_underscore); !out diff --git a/compiler/catala_utils/uid.ml b/compiler/catala_utils/uid.ml index a159f4a2..82404208 100644 --- a/compiler/catala_utils/uid.ml +++ b/compiler/catala_utils/uid.ml @@ -57,10 +57,7 @@ module Make (X : Info) () : Id with type info = X.info = struct { id = !counter; info } let get_info (uid : t) : X.info = uid.info - - let format_t (fmt : Format.formatter) (x : t) : unit = - X.format fmt x.info - + let format_t (fmt : Format.formatter) (x : t) : unit = X.format fmt x.info let hash (x : t) : int = x.id module Set = Set.Make (Ordering) diff --git a/compiler/catala_web_interpreter.ml b/compiler/catala_web_interpreter.ml index fd0db195..9b2caa40 100644 --- a/compiler/catala_web_interpreter.ml +++ b/compiler/catala_web_interpreter.ml @@ -1,5 +1,4 @@ open Catala_utils - open Driver open Js_of_ocaml diff --git a/compiler/driver.mli b/compiler/driver.mli index 14608721..503d9522 100644 --- a/compiler/driver.mli +++ b/compiler/driver.mli @@ -16,7 +16,6 @@ the License. *) open Catala_utils - module Plugin = Plugin.PluginAPI val driver : Pos.input_file -> Cli.options -> int diff --git a/compiler/lcalc/to_ocaml.ml b/compiler/lcalc/to_ocaml.ml index b351828c..274b483d 100644 --- a/compiler/lcalc/to_ocaml.ml +++ b/compiler/lcalc/to_ocaml.ml @@ -166,12 +166,14 @@ let format_struct_field_name | Some sname -> Format.fprintf fmt "%a.%s" format_to_module_name (`Sname sname) | None -> Format.fprintf fmt "%s") - (avoid_keywords (String.to_ascii (Format.asprintf "%a" StructField.format_t v))) + (avoid_keywords + (String.to_ascii (Format.asprintf "%a" StructField.format_t v))) let format_enum_name (fmt : Format.formatter) (v : EnumName.t) : unit = Format.fprintf fmt "%s" (avoid_keywords - (String.to_snake_case (String.to_ascii (Format.asprintf "%a" EnumName.format_t v)))) + (String.to_snake_case + (String.to_ascii (Format.asprintf "%a" EnumName.format_t v)))) let format_enum_cons_name (fmt : Format.formatter) (v : EnumConstructor.t) : unit = @@ -221,7 +223,9 @@ let rec format_typ (fmt : Format.formatter) (typ : typ) : unit = | TAny -> Format.fprintf fmt "_" let format_var (fmt : Format.formatter) (v : 'm Var.t) : unit = - let lowercase_name = String.to_snake_case (String.to_ascii (Bindlib.name_of v)) in + let lowercase_name = + String.to_snake_case (String.to_ascii (Bindlib.name_of v)) + in let lowercase_name = Re.Pcre.substitute ~rex:(Re.Pcre.regexp "\\.") ~subst:(fun _ -> "_dot_") diff --git a/compiler/literate/literate_common.mli b/compiler/literate/literate_common.mli index d3bcf7a6..d9240a9d 100644 --- a/compiler/literate/literate_common.mli +++ b/compiler/literate/literate_common.mli @@ -17,8 +17,7 @@ open Catala_utils val literal_title : Cli.backend_lang -> string -(** Return the title traduction according the given - {!type:Cli.backend_lang}. *) +(** Return the title traduction according the given {!type:Cli.backend_lang}. *) val literal_generated_by : Cli.backend_lang -> string (** Return the 'generated by' traduction according the given @@ -30,8 +29,7 @@ val literal_source_files : Cli.backend_lang -> string val literal_disclaimer_and_link : Cli.backend_lang -> string (** Return the traduction of a paragraph giving a basic disclaimer about Catala - and a link to the website according the given {!type: - Cli.backend_lang}. *) + and a link to the website according the given {!type: Cli.backend_lang}. *) val literal_last_modification : Cli.backend_lang -> string (** Return the 'last modification' traduction according the given diff --git a/compiler/scalc/to_python.ml b/compiler/scalc/to_python.ml index 1467071d..7b212e5a 100644 --- a/compiler/scalc/to_python.ml +++ b/compiler/scalc/to_python.ml @@ -124,17 +124,20 @@ let avoid_keywords (s : string) : string = let format_struct_name (fmt : Format.formatter) (v : StructName.t) : unit = Format.fprintf fmt "%s" (avoid_keywords - (String.to_camel_case (String.to_ascii (Format.asprintf "%a" StructName.format_t v)))) + (String.to_camel_case + (String.to_ascii (Format.asprintf "%a" StructName.format_t v)))) let format_struct_field_name (fmt : Format.formatter) (v : StructField.t) : unit = Format.fprintf fmt "%s" - (avoid_keywords (String.to_ascii (Format.asprintf "%a" StructField.format_t v))) + (avoid_keywords + (String.to_ascii (Format.asprintf "%a" StructField.format_t v))) let format_enum_name (fmt : Format.formatter) (v : EnumName.t) : unit = Format.fprintf fmt "%s" (avoid_keywords - (String.to_camel_case (String.to_ascii (Format.asprintf "%a" EnumName.format_t v)))) + (String.to_camel_case + (String.to_ascii (Format.asprintf "%a" EnumName.format_t v)))) let format_enum_cons_name (fmt : Format.formatter) (v : EnumConstructor.t) : unit = diff --git a/compiler/shared_ast/print.ml b/compiler/shared_ast/print.ml index 7385f0c8..ed70aa24 100644 --- a/compiler/shared_ast/print.ml +++ b/compiler/shared_ast/print.ml @@ -26,7 +26,8 @@ let uid_list (fmt : Format.formatter) (infos : Uid.MarkedString.info list) : ~pp_sep:(fun fmt () -> Format.pp_print_char fmt '.') (fun fmt info -> Cli.format_with_style - (if String.begins_with_uppercase (Marked.unmark info) then [ANSITerminal.red] + (if String.begins_with_uppercase (Marked.unmark info) then + [ANSITerminal.red] else []) fmt (Uid.MarkedString.to_string info)) diff --git a/compiler/verification/z3backend.dummy.ml b/compiler/verification/z3backend.dummy.ml index 060e63ba..ec8a3c4b 100644 --- a/compiler/verification/z3backend.dummy.ml +++ b/compiler/verification/z3backend.dummy.ml @@ -18,8 +18,7 @@ without the expected backend. All functions print an error message and exit *) let dummy () = - Cli.error_print - "This instance of Catala was compiled without Z3 support."; + Cli.error_print "This instance of Catala was compiled without Z3 support."; exit 124 module Io = struct diff --git a/examples/NSW_community_gaming/tests/test_nsw_social_housie.catala_en b/examples/NSW_community_gaming/tests/test_nsw_social_housie.catala_en index bae59cde..384b551e 100644 --- a/examples/NSW_community_gaming/tests/test_nsw_social_housie.catala_en +++ b/examples/NSW_community_gaming/tests/test_nsw_social_housie.catala_en @@ -33,17 +33,15 @@ Message: unexpected token Autosuggestion: did you mean "content", or maybe "condition"? Error token: -┌─⯈ examples/NSW_community_gaming/tests/test_nsw_social_housie.catala_en:11.20-25 +┌─⯈ examples/NSW_community_gaming/tests/test_nsw_social_housie.catala_en:11.20-25: └──┐ - │ 11 │ context my_gaming scope GamingAuthorized │ ‾‾‾‾‾ Last good token: -┌─⯈ examples/NSW_community_gaming/tests/test_nsw_social_housie.catala_en:11.10-19 +┌─⯈ examples/NSW_community_gaming/tests/test_nsw_social_housie.catala_en:11.10-19: └──┐ - │ 11 │ context my_gaming scope GamingAuthorized │ ‾‾‾‾‾‾‾‾‾ @@ -79,17 +77,15 @@ Message: unexpected token Autosuggestion: did you mean "content", or maybe "condition"? Error token: -┌─⯈ examples/NSW_community_gaming/tests/test_nsw_social_housie.catala_en:11.20-25 +┌─⯈ examples/NSW_community_gaming/tests/test_nsw_social_housie.catala_en:11.20-25: └──┐ - │ 11 │ context my_gaming scope GamingAuthorized │ ‾‾‾‾‾ Last good token: -┌─⯈ examples/NSW_community_gaming/tests/test_nsw_social_housie.catala_en:11.10-19 +┌─⯈ examples/NSW_community_gaming/tests/test_nsw_social_housie.catala_en:11.10-19: └──┐ - │ 11 │ context my_gaming scope GamingAuthorized │ ‾‾‾‾‾‾‾‾‾ @@ -125,17 +121,15 @@ Message: unexpected token Autosuggestion: did you mean "content", or maybe "condition"? Error token: -┌─⯈ examples/NSW_community_gaming/tests/test_nsw_social_housie.catala_en:11.20-25 +┌─⯈ examples/NSW_community_gaming/tests/test_nsw_social_housie.catala_en:11.20-25: └──┐ - │ 11 │ context my_gaming scope GamingAuthorized │ ‾‾‾‾‾ Last good token: -┌─⯈ examples/NSW_community_gaming/tests/test_nsw_social_housie.catala_en:11.10-19 +┌─⯈ examples/NSW_community_gaming/tests/test_nsw_social_housie.catala_en:11.10-19: └──┐ - │ 11 │ context my_gaming scope GamingAuthorized │ ‾‾‾‾‾‾‾‾‾ @@ -173,17 +167,15 @@ Message: unexpected token Autosuggestion: did you mean "content", or maybe "condition"? Error token: -┌─⯈ examples/NSW_community_gaming/tests/test_nsw_social_housie.catala_en:11.20-25 +┌─⯈ examples/NSW_community_gaming/tests/test_nsw_social_housie.catala_en:11.20-25: └──┐ - │ 11 │ context my_gaming scope GamingAuthorized │ ‾‾‾‾‾ Last good token: -┌─⯈ examples/NSW_community_gaming/tests/test_nsw_social_housie.catala_en:11.10-19 +┌─⯈ examples/NSW_community_gaming/tests/test_nsw_social_housie.catala_en:11.10-19: └──┐ - │ 11 │ context my_gaming scope GamingAuthorized │ ‾‾‾‾‾‾‾‾‾ diff --git a/french_law/catala_legifrance/catala_legifrance.ml b/french_law/catala_legifrance/catala_legifrance.ml index 9e7e5771..7c746d17 100644 --- a/french_law/catala_legifrance/catala_legifrance.ml +++ b/french_law/catala_legifrance/catala_legifrance.ml @@ -186,8 +186,8 @@ let include_legislative_text let include_line = Pos.get_end_line pos in let ic = open_in file in let new_file = file ^ ".new" in - Cli.warning_print - "LégiFrance inclusion detected, writing new contents to %s" new_file; + Cli.warning_print "LégiFrance inclusion detected, writing new contents to %s" + new_file; let oc = open_out new_file in (* Pos.t lines start at 1 *) let counter = ref 1 in diff --git a/tests/test_arithmetic/bad/division_by_zero.catala_en b/tests/test_arithmetic/bad/division_by_zero.catala_en index a73905d8..95b1a2e7 100644 --- a/tests/test_arithmetic/bad/division_by_zero.catala_en +++ b/tests/test_arithmetic/bad/division_by_zero.catala_en @@ -36,18 +36,16 @@ $ catala Interpret -s Dec [ERROR] division by zero at runtime The division operator: -┌─⯈ tests/test_arithmetic/bad/division_by_zero.catala_en:20.22-30 +┌─⯈ tests/test_arithmetic/bad/division_by_zero.catala_en:20.22-30: └──┐ - │ 20 │ definition i equals 1. /. 0. │ ‾‾‾‾‾‾‾‾ └┬ `Division_by_zero` exception management └─ with decimals The null denominator: -┌─⯈ tests/test_arithmetic/bad/division_by_zero.catala_en:20.28-30 +┌─⯈ tests/test_arithmetic/bad/division_by_zero.catala_en:20.28-30: └──┐ - │ 20 │ definition i equals 1. /. 0. │ ‾‾ └┬ `Division_by_zero` exception management @@ -60,18 +58,16 @@ $ catala Interpret -s Int [ERROR] division by zero at runtime The division operator: -┌─⯈ tests/test_arithmetic/bad/division_by_zero.catala_en:10.22-27 +┌─⯈ tests/test_arithmetic/bad/division_by_zero.catala_en:10.22-27: └──┐ - │ 10 │ definition i equals 1 / 0 │ ‾‾‾‾‾ └┬ `Division_by_zero` exception management └─ with integers The null denominator: -┌─⯈ tests/test_arithmetic/bad/division_by_zero.catala_en:10.26-27 +┌─⯈ tests/test_arithmetic/bad/division_by_zero.catala_en:10.26-27: └──┐ - │ 10 │ definition i equals 1 / 0 │ ‾ └┬ `Division_by_zero` exception management @@ -84,18 +80,16 @@ $ catala Interpret -s Money [ERROR] division by zero at runtime The division operator: -┌─⯈ tests/test_arithmetic/bad/division_by_zero.catala_en:30.22-35 +┌─⯈ tests/test_arithmetic/bad/division_by_zero.catala_en:30.22-35: └──┐ - │ 30 │ definition i equals $10.0 /$ $0.0 │ ‾‾‾‾‾‾‾‾‾‾‾‾‾ └┬ `Division_by_zero` exception management └─ with money The null denominator: -┌─⯈ tests/test_arithmetic/bad/division_by_zero.catala_en:30.31-35 +┌─⯈ tests/test_arithmetic/bad/division_by_zero.catala_en:30.31-35: └──┐ - │ 30 │ definition i equals $10.0 /$ $0.0 │ ‾‾‾‾ └┬ `Division_by_zero` exception management diff --git a/tests/test_array/bad/fold_error.catala_en b/tests/test_array/bad/fold_error.catala_en index aeaeb365..091e3804 100644 --- a/tests/test_array/bad/fold_error.catala_en +++ b/tests/test_array/bad/fold_error.catala_en @@ -17,25 +17,22 @@ $ catala Interpret -s A --> money Error coming from typechecking the following expression: -┌─⯈ tests/test_array/bad/fold_error.catala_en:10.52-56 +┌─⯈ tests/test_array/bad/fold_error.catala_en:10.52-56: └──┐ - │ 10 │ definition list_high_count equals number for m in list of (m >=$ $7) │ ‾‾‾‾ └─ Article Type integer coming from expression: -┌─⯈ tests/test_array/bad/fold_error.catala_en:5.34-41 +┌─⯈ tests/test_array/bad/fold_error.catala_en:5.34-41: └─┐ - │ 5 │ context list content collection integer │ ‾‾‾‾‾‾‾ └─ Article Type money coming from expression: -┌─⯈ tests/test_array/bad/fold_error.catala_en:10.63-66 +┌─⯈ tests/test_array/bad/fold_error.catala_en:10.63-66: └──┐ - │ 10 │ definition list_high_count equals number for m in list of (m >=$ $7) │ ‾‾‾ └─ Article diff --git a/tests/test_bool/bad/bad_assert.catala_en b/tests/test_bool/bad/bad_assert.catala_en index 9c63c6fc..aa628081 100644 --- a/tests/test_bool/bad/bad_assert.catala_en +++ b/tests/test_bool/bad/bad_assert.catala_en @@ -17,25 +17,22 @@ $ catala Interpret -s Foo --> bool Error coming from typechecking the following expression: -┌─⯈ tests/test_bool/bad/bad_assert.catala_en:9.12-13 +┌─⯈ tests/test_bool/bad/bad_assert.catala_en:9.12-13: └─┐ - │ 9 │ assertion x │ ‾ └─ Test Type integer coming from expression: -┌─⯈ tests/test_bool/bad/bad_assert.catala_en:5.21-28 +┌─⯈ tests/test_bool/bad/bad_assert.catala_en:5.21-28: └─┐ - │ 5 │ internal x content integer │ ‾‾‾‾‾‾‾ └─ Test Type bool coming from expression: -┌─⯈ tests/test_bool/bad/bad_assert.catala_en:9.12-13 +┌─⯈ tests/test_bool/bad/bad_assert.catala_en:9.12-13: └─┐ - │ 9 │ assertion x │ ‾ └─ Test diff --git a/tests/test_bool/bad/test_xor_with_int.catala_en b/tests/test_bool/bad/test_xor_with_int.catala_en index 787f122c..3ebd73e6 100644 --- a/tests/test_bool/bad/test_xor_with_int.catala_en +++ b/tests/test_bool/bad/test_xor_with_int.catala_en @@ -15,25 +15,22 @@ $ catala Typecheck --> integer Error coming from typechecking the following expression: -┌─⯈ tests/test_bool/bad/test_xor_with_int.catala_en:8.32-35 +┌─⯈ tests/test_bool/bad/test_xor_with_int.catala_en:8.32-35: └─┐ - │ 8 │ definition test_var equals 10 xor 20 │ ‾‾‾ └─ 'xor' should be a boolean operator Type bool coming from expression: -┌─⯈ tests/test_bool/bad/test_xor_with_int.catala_en:8.32-35 +┌─⯈ tests/test_bool/bad/test_xor_with_int.catala_en:8.32-35: └─┐ - │ 8 │ definition test_var equals 10 xor 20 │ ‾‾‾ └─ 'xor' should be a boolean operator Type integer coming from expression: -┌─⯈ tests/test_bool/bad/test_xor_with_int.catala_en:5.27-34 +┌─⯈ tests/test_bool/bad/test_xor_with_int.catala_en:5.27-34: └─┐ - │ 5 │ context test_var content integer │ ‾‾‾‾‾‾‾ └─ 'xor' should be a boolean operator diff --git a/tests/test_date/bad/uncomparable_duration.catala_en b/tests/test_date/bad/uncomparable_duration.catala_en index 3112bf0f..18099d41 100644 --- a/tests/test_date/bad/uncomparable_duration.catala_en +++ b/tests/test_date/bad/uncomparable_duration.catala_en @@ -44,17 +44,15 @@ scope Ge: $ catala Interpret -s Ge [ERROR] Cannot compare together durations that cannot be converted to a precise number of days -┌─⯈ tests/test_date/bad/uncomparable_duration.catala_en:40.22-29 +┌─⯈ tests/test_date/bad/uncomparable_duration.catala_en:40.22-29: └──┐ - │ 40 │ definition d equals 1 month >=^ 2 day │ ‾‾‾‾‾‾‾ └┬ `UncomparableDurations` exception management └─ `>=^` operator -┌─⯈ tests/test_date/bad/uncomparable_duration.catala_en:40.34-39 +┌─⯈ tests/test_date/bad/uncomparable_duration.catala_en:40.34-39: └──┐ - │ 40 │ definition d equals 1 month >=^ 2 day │ ‾‾‾‾‾ └┬ `UncomparableDurations` exception management @@ -66,17 +64,15 @@ $ catala Interpret -s Ge $ catala Interpret -s Gt [ERROR] Cannot compare together durations that cannot be converted to a precise number of days -┌─⯈ tests/test_date/bad/uncomparable_duration.catala_en:30.22-29 +┌─⯈ tests/test_date/bad/uncomparable_duration.catala_en:30.22-29: └──┐ - │ 30 │ definition d equals 1 month >^ 2 day │ ‾‾‾‾‾‾‾ └┬ `UncomparableDurations` exception management └─ `<=^` operator -┌─⯈ tests/test_date/bad/uncomparable_duration.catala_en:30.33-38 +┌─⯈ tests/test_date/bad/uncomparable_duration.catala_en:30.33-38: └──┐ - │ 30 │ definition d equals 1 month >^ 2 day │ ‾‾‾‾‾ └┬ `UncomparableDurations` exception management @@ -88,17 +84,15 @@ $ catala Interpret -s Gt $ catala Interpret -s Le [ERROR] Cannot compare together durations that cannot be converted to a precise number of days -┌─⯈ tests/test_date/bad/uncomparable_duration.catala_en:20.22-29 +┌─⯈ tests/test_date/bad/uncomparable_duration.catala_en:20.22-29: └──┐ - │ 20 │ definition d equals 1 month <=^ 2 day │ ‾‾‾‾‾‾‾ └┬ `UncomparableDurations` exception management └─ `<=^` operator -┌─⯈ tests/test_date/bad/uncomparable_duration.catala_en:20.34-39 +┌─⯈ tests/test_date/bad/uncomparable_duration.catala_en:20.34-39: └──┐ - │ 20 │ definition d equals 1 month <=^ 2 day │ ‾‾‾‾‾ └┬ `UncomparableDurations` exception management @@ -110,17 +104,15 @@ $ catala Interpret -s Le $ catala Interpret -s Lt [ERROR] Cannot compare together durations that cannot be converted to a precise number of days -┌─⯈ tests/test_date/bad/uncomparable_duration.catala_en:10.22-29 +┌─⯈ tests/test_date/bad/uncomparable_duration.catala_en:10.22-29: └──┐ - │ 10 │ definition d equals 1 month <^ 2 day │ ‾‾‾‾‾‾‾ └┬ `UncomparableDurations` exception management └─ `<^` operator -┌─⯈ tests/test_date/bad/uncomparable_duration.catala_en:10.33-38 +┌─⯈ tests/test_date/bad/uncomparable_duration.catala_en:10.33-38: └──┐ - │ 10 │ definition d equals 1 month <^ 2 day │ ‾‾‾‾‾ └┬ `UncomparableDurations` exception management diff --git a/tests/test_default/bad/conflict.catala_en b/tests/test_default/bad/conflict.catala_en index 7371fe56..34b58e05 100644 --- a/tests/test_default/bad/conflict.catala_en +++ b/tests/test_default/bad/conflict.catala_en @@ -14,17 +14,15 @@ $ catala Interpret -s A [ERROR] There is a conflict between multiple valid consequences for assigning the same variable. This consequence has a valid justification: -┌─⯈ tests/test_default/bad/conflict.catala_en:8.55-56 +┌─⯈ tests/test_default/bad/conflict.catala_en:8.55-56: └─┐ - │ 8 │ definition x under condition true consequence equals 1 │ ‾ └─ Article This consequence has a valid justification: -┌─⯈ tests/test_default/bad/conflict.catala_en:9.55-56 +┌─⯈ tests/test_default/bad/conflict.catala_en:9.55-56: └─┐ - │ 9 │ definition x under condition true consequence equals 0 │ ‾ └─ Article diff --git a/tests/test_default/bad/empty.catala_en b/tests/test_default/bad/empty.catala_en index 88ef4b40..a28b68cb 100644 --- a/tests/test_default/bad/empty.catala_en +++ b/tests/test_default/bad/empty.catala_en @@ -13,9 +13,8 @@ scope A: $ catala Interpret -s A [ERROR] This variable evaluated to an empty term (no rule that defined it applied in this situation) -┌─⯈ tests/test_default/bad/empty.catala_en:6.10-11 +┌─⯈ tests/test_default/bad/empty.catala_en:6.10-11: └─┐ - │ 6 │ context y content boolean │ ‾ └─ Article diff --git a/tests/test_default/bad/empty_with_rules.catala_en b/tests/test_default/bad/empty_with_rules.catala_en index 08dcf287..be602163 100644 --- a/tests/test_default/bad/empty_with_rules.catala_en +++ b/tests/test_default/bad/empty_with_rules.catala_en @@ -16,9 +16,8 @@ scope A: $ catala Interpret -s A [ERROR] This variable evaluated to an empty term (no rule that defined it applied in this situation) -┌─⯈ tests/test_default/bad/empty_with_rules.catala_en:5.10-11 +┌─⯈ tests/test_default/bad/empty_with_rules.catala_en:5.10-11: └─┐ - │ 5 │ context x content integer │ ‾ └─ Article diff --git a/tests/test_enum/bad/ambiguous_cases.catala_en b/tests/test_enum/bad/ambiguous_cases.catala_en index 2f8233cb..10a8b096 100644 --- a/tests/test_enum/bad/ambiguous_cases.catala_en +++ b/tests/test_enum/bad/ambiguous_cases.catala_en @@ -18,9 +18,8 @@ scope A: $ catala Interpret -s A [ERROR] This constructor name is ambiguous, it can belong to E or F. Desambiguate it by prefixing it with the enum name. -┌─⯈ tests/test_enum/bad/ambiguous_cases.catala_en:14.22-27 +┌─⯈ tests/test_enum/bad/ambiguous_cases.catala_en:14.22-27: └──┐ - │ 14 │ definition e equals Case1 │ ‾‾‾‾‾ └─ Article diff --git a/tests/test_enum/bad/ambiguous_wildcard.catala_en b/tests/test_enum/bad/ambiguous_wildcard.catala_en index addfbc9e..cdc4a1d7 100644 --- a/tests/test_enum/bad/ambiguous_wildcard.catala_en +++ b/tests/test_enum/bad/ambiguous_wildcard.catala_en @@ -19,9 +19,8 @@ scope A: $ catala Interpret -s A [ERROR] Couldn't infer the enumeration name from lonely wildcard (wildcard cannot be used as single match case) -┌─⯈ tests/test_enum/bad/ambiguous_wildcard.catala_en:15.7-20 +┌─⯈ tests/test_enum/bad/ambiguous_wildcard.catala_en:15.7-20: └──┐ - │ 15 │ -- anything : 31 │ ‾‾‾‾‾‾‾‾‾‾‾‾‾ └─ Wildcard cannot be used as single match case diff --git a/tests/test_enum/bad/duplicate_case.catala_en b/tests/test_enum/bad/duplicate_case.catala_en index aa924645..01ee3bdb 100644 --- a/tests/test_enum/bad/duplicate_case.catala_en +++ b/tests/test_enum/bad/duplicate_case.catala_en @@ -22,16 +22,14 @@ scope A: $ catala Interpret -s A [ERROR] The constructor Case3 has been matched twice: -┌─⯈ tests/test_enum/bad/duplicate_case.catala_en:18.15-19 +┌─⯈ tests/test_enum/bad/duplicate_case.catala_en:18.15-19: └──┐ - │ 18 │ -- Case3 : true │ ‾‾‾‾ └─ Article -┌─⯈ tests/test_enum/bad/duplicate_case.catala_en:17.15-20 +┌─⯈ tests/test_enum/bad/duplicate_case.catala_en:17.15-20: └──┐ - │ 17 │ -- Case3 : false │ ‾‾‾‾‾ └─ Article diff --git a/tests/test_enum/bad/empty.catala_en b/tests/test_enum/bad/empty.catala_en index b196681d..785d46d3 100644 --- a/tests/test_enum/bad/empty.catala_en +++ b/tests/test_enum/bad/empty.catala_en @@ -11,9 +11,8 @@ declaration scope Bar: $ catala Typecheck [ERROR] The enum Foo does not have any cases; give it some for Catala to be able to accept it. -┌─⯈ tests/test_enum/bad/empty.catala_en:4.24-27 +┌─⯈ tests/test_enum/bad/empty.catala_en:4.24-27: └─┐ - │ 4 │ declaration enumeration Foo: │ ‾‾‾ └─ Test diff --git a/tests/test_enum/bad/missing_case.catala_en b/tests/test_enum/bad/missing_case.catala_en index 0829c987..0c4ee6c1 100644 --- a/tests/test_enum/bad/missing_case.catala_en +++ b/tests/test_enum/bad/missing_case.catala_en @@ -20,9 +20,8 @@ scope A: $ catala Interpret -s A [ERROR] The constructor Case3 of enum E is missing from this pattern matching -┌─⯈ tests/test_enum/bad/missing_case.catala_en:14.24-16.21 +┌─⯈ tests/test_enum/bad/missing_case.catala_en:14.24-16.21: └──┐ - │ 14 │ definition out equals match e with pattern │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ 15 │ -- Case1 of i : i = 0 diff --git a/tests/test_enum/bad/not_ending_wildcard.catala_en b/tests/test_enum/bad/not_ending_wildcard.catala_en index 2f17a464..c9be99c3 100644 --- a/tests/test_enum/bad/not_ending_wildcard.catala_en +++ b/tests/test_enum/bad/not_ending_wildcard.catala_en @@ -41,18 +41,16 @@ $ catala Interpret -s First_case [ERROR] Wildcard must be the last match case Not ending wildcard: -┌─⯈ tests/test_enum/bad/not_ending_wildcard.catala_en:19.7-20 +┌─⯈ tests/test_enum/bad/not_ending_wildcard.catala_en:19.7-20: └──┐ - │ 19 │ -- anything : 31 │ ‾‾‾‾‾‾‾‾‾‾‾‾‾ └┬ Wildcard must be the last case └─ Wildcard can't be the first case Next reachable case: -┌─⯈ tests/test_enum/bad/not_ending_wildcard.catala_en:20.7-17 +┌─⯈ tests/test_enum/bad/not_ending_wildcard.catala_en:20.7-17: └──┐ - │ 20 │ -- Case2 : 42 │ ‾‾‾‾‾‾‾‾‾‾ └┬ Wildcard must be the last case @@ -65,18 +63,16 @@ $ catala Interpret -s Middle_case [ERROR] Wildcard must be the last match case Not ending wildcard: -┌─⯈ tests/test_enum/bad/not_ending_wildcard.catala_en:19.7-20 +┌─⯈ tests/test_enum/bad/not_ending_wildcard.catala_en:19.7-20: └──┐ - │ 19 │ -- anything : 31 │ ‾‾‾‾‾‾‾‾‾‾‾‾‾ └┬ Wildcard must be the last case └─ Wildcard can't be the first case Next reachable case: -┌─⯈ tests/test_enum/bad/not_ending_wildcard.catala_en:20.7-17 +┌─⯈ tests/test_enum/bad/not_ending_wildcard.catala_en:20.7-17: └──┐ - │ 20 │ -- Case2 : 42 │ ‾‾‾‾‾‾‾‾‾‾ └┬ Wildcard must be the last case diff --git a/tests/test_enum/bad/quick_pattern_2.catala_en b/tests/test_enum/bad/quick_pattern_2.catala_en index 4aa68008..8620c02c 100644 --- a/tests/test_enum/bad/quick_pattern_2.catala_en +++ b/tests/test_enum/bad/quick_pattern_2.catala_en @@ -35,25 +35,22 @@ $ catala Interpret -s A --> F Error coming from typechecking the following expression: -┌─⯈ tests/test_enum/bad/quick_pattern_2.catala_en:28.22-23 +┌─⯈ tests/test_enum/bad/quick_pattern_2.catala_en:28.22-23: └──┐ - │ 28 │ definition y equals x with pattern Case3 │ ‾ └─ Article Type E coming from expression: -┌─⯈ tests/test_enum/bad/quick_pattern_2.catala_en:17.20-21 +┌─⯈ tests/test_enum/bad/quick_pattern_2.catala_en:17.20-21: └──┐ - │ 17 │ context x content E │ ‾ └─ Article Type F coming from expression: -┌─⯈ tests/test_enum/bad/quick_pattern_2.catala_en:28.22-42 +┌─⯈ tests/test_enum/bad/quick_pattern_2.catala_en:28.22-42: └──┐ - │ 28 │ definition y equals x with pattern Case3 │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ └─ Article diff --git a/tests/test_enum/bad/quick_pattern_3.catala_en b/tests/test_enum/bad/quick_pattern_3.catala_en index 593d99f1..6bc655e1 100644 --- a/tests/test_enum/bad/quick_pattern_3.catala_en +++ b/tests/test_enum/bad/quick_pattern_3.catala_en @@ -25,25 +25,22 @@ $ catala Interpret -s A --> F Error coming from typechecking the following expression: -┌─⯈ tests/test_enum/bad/quick_pattern_3.catala_en:18.20-21 +┌─⯈ tests/test_enum/bad/quick_pattern_3.catala_en:18.20-21: └──┐ - │ 18 │ definition y equals x with pattern Case3 │ ‾ └─ Article Type E coming from expression: -┌─⯈ tests/test_enum/bad/quick_pattern_3.catala_en:13.18-19 +┌─⯈ tests/test_enum/bad/quick_pattern_3.catala_en:13.18-19: └──┐ - │ 13 │ context x content E │ ‾ └─ Article Type F coming from expression: -┌─⯈ tests/test_enum/bad/quick_pattern_3.catala_en:18.20-40 +┌─⯈ tests/test_enum/bad/quick_pattern_3.catala_en:18.20-40: └──┐ - │ 18 │ definition y equals x with pattern Case3 │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ └─ Article diff --git a/tests/test_enum/bad/quick_pattern_4.catala_en b/tests/test_enum/bad/quick_pattern_4.catala_en index 04d3a169..a56402e6 100644 --- a/tests/test_enum/bad/quick_pattern_4.catala_en +++ b/tests/test_enum/bad/quick_pattern_4.catala_en @@ -24,25 +24,22 @@ $ catala Interpret -s A --> F Error coming from typechecking the following expression: -┌─⯈ tests/test_enum/bad/quick_pattern_4.catala_en:17.20-21 +┌─⯈ tests/test_enum/bad/quick_pattern_4.catala_en:17.20-21: └──┐ - │ 17 │ definition y equals x with pattern Case3 │ ‾ └─ Test Type E coming from expression: -┌─⯈ tests/test_enum/bad/quick_pattern_4.catala_en:12.18-19 +┌─⯈ tests/test_enum/bad/quick_pattern_4.catala_en:12.18-19: └──┐ - │ 12 │ context x content E │ ‾ └─ Test Type F coming from expression: -┌─⯈ tests/test_enum/bad/quick_pattern_4.catala_en:17.20-40 +┌─⯈ tests/test_enum/bad/quick_pattern_4.catala_en:17.20-40: └──┐ - │ 17 │ definition y equals x with pattern Case3 │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ └─ Test diff --git a/tests/test_enum/bad/quick_pattern_fail.catala_en b/tests/test_enum/bad/quick_pattern_fail.catala_en index 1f339762..1ae27234 100644 --- a/tests/test_enum/bad/quick_pattern_fail.catala_en +++ b/tests/test_enum/bad/quick_pattern_fail.catala_en @@ -19,9 +19,8 @@ scope A: $ catala Interpret -s A [ERROR] The name of this constructor has not been defined before, maybe it is a typo? -┌─⯈ tests/test_enum/bad/quick_pattern_fail.catala_en:15.37-42 +┌─⯈ tests/test_enum/bad/quick_pattern_fail.catala_en:15.37-42: └──┐ - │ 15 │ definition y equals x with pattern Case3 │ ‾‾‾‾‾ └─ Article diff --git a/tests/test_enum/bad/too_many_cases.catala_en b/tests/test_enum/bad/too_many_cases.catala_en index 8418b321..57d287f4 100644 --- a/tests/test_enum/bad/too_many_cases.catala_en +++ b/tests/test_enum/bad/too_many_cases.catala_en @@ -25,9 +25,8 @@ scope A: $ catala Interpret -s A [ERROR] This case matches a constructor of enumeration E but previous case were matching constructors of enumeration F -┌─⯈ tests/test_enum/bad/too_many_cases.catala_en:21.7-19 +┌─⯈ tests/test_enum/bad/too_many_cases.catala_en:21.7-19: └──┐ - │ 21 │ -- Case4 : true │ ‾‾‾‾‾‾‾‾‾‾‾‾ └─ Article diff --git a/tests/test_enum/bad/useless_wildcard.catala_en b/tests/test_enum/bad/useless_wildcard.catala_en index 8cc67019..0f9b7b36 100644 --- a/tests/test_enum/bad/useless_wildcard.catala_en +++ b/tests/test_enum/bad/useless_wildcard.catala_en @@ -21,9 +21,8 @@ scope A: $ catala Interpret -s A [WARNING] Unreachable match case, all constructors of the enumeration E are already specified -┌─⯈ tests/test_enum/bad/useless_wildcard.catala_en:17.7-20 +┌─⯈ tests/test_enum/bad/useless_wildcard.catala_en:17.7-20: └──┐ - │ 17 │ -- anything : 31 │ ‾‾‾‾‾‾‾‾‾‾‾‾‾ └─ Useless wildcard diff --git a/tests/test_exception/bad/ambiguous_unlabeled_exception.catala_en b/tests/test_exception/bad/ambiguous_unlabeled_exception.catala_en index b0904105..4d47f868 100644 --- a/tests/test_exception/bad/ambiguous_unlabeled_exception.catala_en +++ b/tests/test_exception/bad/ambiguous_unlabeled_exception.catala_en @@ -18,9 +18,8 @@ $ catala Interpret -s A [ERROR] This exception can refer to several definitions. Try using labels to disambiguate Ambiguous exception -┌─⯈ tests/test_exception/bad/ambiguous_unlabeled_exception.catala_en:10.23-13.23 +┌─⯈ tests/test_exception/bad/ambiguous_unlabeled_exception.catala_en:10.23-13.23: └──┐ - │ 10 │ definition x equals 1 │ 11 │ @@ -32,17 +31,15 @@ Ambiguous exception └─ Test Candidate definition -┌─⯈ tests/test_exception/bad/ambiguous_unlabeled_exception.catala_en:10.13-14 +┌─⯈ tests/test_exception/bad/ambiguous_unlabeled_exception.catala_en:10.13-14: └──┐ - │ 10 │ definition x equals 1 │ ‾ └─ Test Candidate definition -┌─⯈ tests/test_exception/bad/ambiguous_unlabeled_exception.catala_en:8.13-14 +┌─⯈ tests/test_exception/bad/ambiguous_unlabeled_exception.catala_en:8.13-14: └─┐ - │ 8 │ definition x equals 0 │ ‾ └─ Test diff --git a/tests/test_exception/bad/dangling_exception.catala_en b/tests/test_exception/bad/dangling_exception.catala_en index 043bd2b2..8ec7a131 100644 --- a/tests/test_exception/bad/dangling_exception.catala_en +++ b/tests/test_exception/bad/dangling_exception.catala_en @@ -17,9 +17,8 @@ scope A: $ catala Interpret -s A [ERROR] Unknown label for the scope variable x: "base_y" -┌─⯈ tests/test_exception/bad/dangling_exception.catala_en:12.12-18 +┌─⯈ tests/test_exception/bad/dangling_exception.catala_en:12.12-18: └──┐ - │ 12 │ exception base_y │ ‾‾‾‾‾‾ └─ Test diff --git a/tests/test_exception/bad/exceptions_cycle.catala_en b/tests/test_exception/bad/exceptions_cycle.catala_en index c64f2159..dc41da81 100644 --- a/tests/test_exception/bad/exceptions_cycle.catala_en +++ b/tests/test_exception/bad/exceptions_cycle.catala_en @@ -23,9 +23,8 @@ $ catala Interpret -s A [ERROR] Cyclic dependency detected between exceptions! Cyclic exception for definition of variable "x", declared here: -┌─⯈ tests/test_exception/bad/exceptions_cycle.catala_en:16.2-18.23 +┌─⯈ tests/test_exception/bad/exceptions_cycle.catala_en:16.2-18.23: └──┐ - │ 16 │ label exception_exception_x │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ 17 │ exception exception_x @@ -35,17 +34,15 @@ Cyclic exception for definition of variable "x", declared here: Used here in the definition of another cyclic exception for defining "x": -┌─⯈ tests/test_exception/bad/exceptions_cycle.catala_en:17.12-23 +┌─⯈ tests/test_exception/bad/exceptions_cycle.catala_en:17.12-23: └──┐ - │ 17 │ exception exception_x │ ‾‾‾‾‾‾‾‾‾‾‾ └─ Test Cyclic exception for definition of variable "x", declared here: -┌─⯈ tests/test_exception/bad/exceptions_cycle.catala_en:12.2-14.23 +┌─⯈ tests/test_exception/bad/exceptions_cycle.catala_en:12.2-14.23: └──┐ - │ 12 │ label exception_x │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ 13 │ exception base_x @@ -55,17 +52,15 @@ Cyclic exception for definition of variable "x", declared here: Used here in the definition of another cyclic exception for defining "x": -┌─⯈ tests/test_exception/bad/exceptions_cycle.catala_en:13.12-18 +┌─⯈ tests/test_exception/bad/exceptions_cycle.catala_en:13.12-18: └──┐ - │ 13 │ exception base_x │ ‾‾‾‾‾‾ └─ Test Cyclic exception for definition of variable "x", declared here: -┌─⯈ tests/test_exception/bad/exceptions_cycle.catala_en:8.2-10.23 +┌─⯈ tests/test_exception/bad/exceptions_cycle.catala_en:8.2-10.23: └──┐ - │ 8 │ label base_x │ ‾‾‾‾‾‾‾‾‾‾‾ 9 │ exception exception_exception_x @@ -75,9 +70,8 @@ Cyclic exception for definition of variable "x", declared here: Used here in the definition of another cyclic exception for defining "x": -┌─⯈ tests/test_exception/bad/exceptions_cycle.catala_en:9.12-33 +┌─⯈ tests/test_exception/bad/exceptions_cycle.catala_en:9.12-33: └─┐ - │ 9 │ exception exception_exception_x │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ └─ Test diff --git a/tests/test_exception/bad/missing_unlabeled_definition.catala_en b/tests/test_exception/bad/missing_unlabeled_definition.catala_en index 9f95e0e2..fd99a694 100644 --- a/tests/test_exception/bad/missing_unlabeled_definition.catala_en +++ b/tests/test_exception/bad/missing_unlabeled_definition.catala_en @@ -13,9 +13,8 @@ scope A: $ catala Interpret -s A [ERROR] This exception does not have a corresponding definition -┌─⯈ tests/test_exception/bad/missing_unlabeled_definition.catala_en:7.8-9.23 +┌─⯈ tests/test_exception/bad/missing_unlabeled_definition.catala_en:7.8-9.23: └─┐ - │ 7 │ scope A: │ 8 │ exception diff --git a/tests/test_exception/bad/one_ambiguous_exception.catala_en b/tests/test_exception/bad/one_ambiguous_exception.catala_en index d5428012..27586231 100644 --- a/tests/test_exception/bad/one_ambiguous_exception.catala_en +++ b/tests/test_exception/bad/one_ambiguous_exception.catala_en @@ -24,9 +24,8 @@ $ catala Interpret -s A [ERROR] This exception can refer to several definitions. Try using labels to disambiguate Ambiguous exception -┌─⯈ tests/test_exception/bad/one_ambiguous_exception.catala_en:16.23-19.23 +┌─⯈ tests/test_exception/bad/one_ambiguous_exception.catala_en:16.23-19.23: └──┐ - │ 16 │ definition y equals 4 │ 17 │ @@ -38,17 +37,15 @@ Ambiguous exception └─ Test Candidate definition -┌─⯈ tests/test_exception/bad/one_ambiguous_exception.catala_en:16.13-14 +┌─⯈ tests/test_exception/bad/one_ambiguous_exception.catala_en:16.13-14: └──┐ - │ 16 │ definition y equals 4 │ ‾ └─ Test Candidate definition -┌─⯈ tests/test_exception/bad/one_ambiguous_exception.catala_en:14.13-14 +┌─⯈ tests/test_exception/bad/one_ambiguous_exception.catala_en:14.13-14: └──┐ - │ 14 │ definition y equals 2 │ ‾ └─ Test diff --git a/tests/test_exception/bad/self_exception.catala_en b/tests/test_exception/bad/self_exception.catala_en index c1ca4283..2455e9d3 100644 --- a/tests/test_exception/bad/self_exception.catala_en +++ b/tests/test_exception/bad/self_exception.catala_en @@ -14,9 +14,8 @@ scope A: $ catala Interpret -s A [ERROR] Cannot define rule as an exception to itself -┌─⯈ tests/test_exception/bad/self_exception.catala_en:9.12-18 +┌─⯈ tests/test_exception/bad/self_exception.catala_en:9.12-18: └─┐ - │ 9 │ exception base_y │ ‾‾‾‾‾‾ └─ Test diff --git a/tests/test_exception/bad/two_exceptions.catala_en b/tests/test_exception/bad/two_exceptions.catala_en index 5e228b4a..49f0fe30 100644 --- a/tests/test_exception/bad/two_exceptions.catala_en +++ b/tests/test_exception/bad/two_exceptions.catala_en @@ -20,17 +20,15 @@ $ catala Interpret -s A [ERROR] There is a conflict between multiple valid consequences for assigning the same variable. This consequence has a valid justification: -┌─⯈ tests/test_exception/bad/two_exceptions.catala_en:12.22-23 +┌─⯈ tests/test_exception/bad/two_exceptions.catala_en:12.22-23: └──┐ - │ 12 │ definition x equals 1 │ ‾ └─ Test This consequence has a valid justification: -┌─⯈ tests/test_exception/bad/two_exceptions.catala_en:15.22-23 +┌─⯈ tests/test_exception/bad/two_exceptions.catala_en:15.22-23: └──┐ - │ 15 │ definition x equals 2 │ ‾ └─ Test diff --git a/tests/test_func/bad/bad_func.catala_en b/tests/test_func/bad/bad_func.catala_en index 066eb855..3b4bc62b 100644 --- a/tests/test_func/bad/bad_func.catala_en +++ b/tests/test_func/bad/bad_func.catala_en @@ -32,17 +32,15 @@ $ catala Interpret -s S [ERROR] There is a conflict between multiple valid consequences for assigning the same variable. This consequence has a valid justification: -┌─⯈ tests/test_func/bad/bad_func.catala_en:14.64-69 +┌─⯈ tests/test_func/bad/bad_func.catala_en:14.64-69: └──┐ - │ 14 │ definition f of x under condition (x >= x) consequence equals x + x │ ‾‾‾‾‾ └─ Article This consequence has a valid justification: -┌─⯈ tests/test_func/bad/bad_func.catala_en:15.61-66 +┌─⯈ tests/test_func/bad/bad_func.catala_en:15.61-66: └──┐ - │ 15 │ definition f of x under condition not b consequence equals x * x │ ‾‾‾‾‾ └─ Article diff --git a/tests/test_func/bad/recursive.catala_en b/tests/test_func/bad/recursive.catala_en index 457386f0..0c9da8cb 100644 --- a/tests/test_func/bad/recursive.catala_en +++ b/tests/test_func/bad/recursive.catala_en @@ -12,9 +12,8 @@ scope RecursiveFunc: $ catala Interpret -s RecursiveFunc [ERROR] The variable f is used in one of its definitions, but recursion is forbidden in Catala -┌─⯈ tests/test_func/bad/recursive.catala_en:8.27-28 +┌─⯈ tests/test_func/bad/recursive.catala_en:8.27-28: └─┐ - │ 8 │ definition f of x equals f of x + 1 │ ‾ └─ Article diff --git a/tests/test_io/bad/forgot_input.catala_en b/tests/test_io/bad/forgot_input.catala_en index 7cc99925..3da56fa0 100644 --- a/tests/test_io/bad/forgot_input.catala_en +++ b/tests/test_io/bad/forgot_input.catala_en @@ -19,17 +19,15 @@ $ catala Typecheck [ERROR] This subscope variable is a mandatory input but no definition was provided. Incriminated subscope: -┌─⯈ tests/test_io/bad/forgot_input.catala_en:9.2-3 +┌─⯈ tests/test_io/bad/forgot_input.catala_en:9.2-3: └─┐ - │ 9 │ a scope A │ ‾ └─ Test Incriminated variable: -┌─⯈ tests/test_io/bad/forgot_input.catala_en:6.8-9 +┌─⯈ tests/test_io/bad/forgot_input.catala_en:6.8-9: └─┐ - │ 6 │ input x content integer │ ‾ └─ Test diff --git a/tests/test_io/bad/inputing_to_not_input.catala_en b/tests/test_io/bad/inputing_to_not_input.catala_en index 70d08dbb..d18b8aa8 100644 --- a/tests/test_io/bad/inputing_to_not_input.catala_en +++ b/tests/test_io/bad/inputing_to_not_input.catala_en @@ -19,25 +19,22 @@ $ catala Typecheck [ERROR] It is impossible to give a definition to a subscope variable not tagged as input or context. Incriminated subscope: -┌─⯈ tests/test_io/bad/inputing_to_not_input.catala_en:8.2-3 +┌─⯈ tests/test_io/bad/inputing_to_not_input.catala_en:8.2-3: └─┐ - │ 8 │ a scope A │ ‾ └─ Test Incriminated variable: -┌─⯈ tests/test_io/bad/inputing_to_not_input.catala_en:5.9-10 +┌─⯈ tests/test_io/bad/inputing_to_not_input.catala_en:5.9-10: └─┐ - │ 5 │ output a content integer │ ‾ └─ Test Incriminated subscope variable definition: -┌─⯈ tests/test_io/bad/inputing_to_not_input.catala_en:14.2-25 +┌─⯈ tests/test_io/bad/inputing_to_not_input.catala_en:14.2-25: └──┐ - │ 14 │ definition a.a equals 0 │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ diff --git a/tests/test_io/bad/redefining_input.catala_en b/tests/test_io/bad/redefining_input.catala_en index 493c1913..9205bf35 100644 --- a/tests/test_io/bad/redefining_input.catala_en +++ b/tests/test_io/bad/redefining_input.catala_en @@ -12,17 +12,15 @@ $ catala Typecheck [ERROR] It is impossible to give a definition to a scope variable tagged as input. Incriminated variable: -┌─⯈ tests/test_io/bad/redefining_input.catala_en:5.8-9 +┌─⯈ tests/test_io/bad/redefining_input.catala_en:5.8-9: └─┐ - │ 5 │ input a content integer │ ‾ └─ Test Incriminated variable definition: -┌─⯈ tests/test_io/bad/redefining_input.catala_en:8.2-23 +┌─⯈ tests/test_io/bad/redefining_input.catala_en:8.2-23: └─┐ - │ 8 │ definition a equals 0 │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ diff --git a/tests/test_io/bad/using_non_output.catala_en b/tests/test_io/bad/using_non_output.catala_en index b89fcbcd..66d88046 100644 --- a/tests/test_io/bad/using_non_output.catala_en +++ b/tests/test_io/bad/using_non_output.catala_en @@ -18,25 +18,22 @@ $ catala Typecheck [ERROR] The variable a.a cannot be used here, as it is not part of subscope a's results. Maybe you forgot to qualify it as an output? Incriminated variable usage: -┌─⯈ tests/test_io/bad/using_non_output.catala_en:14.12-15 +┌─⯈ tests/test_io/bad/using_non_output.catala_en:14.12-15: └──┐ - │ 14 │ assertion a.a = 0 │ ‾‾‾ └─ Test Incriminated subscope variable declaration: -┌─⯈ tests/test_io/bad/using_non_output.catala_en:5.11-12 +┌─⯈ tests/test_io/bad/using_non_output.catala_en:5.11-12: └─┐ - │ 5 │ internal a content integer │ ‾ └─ Test Incriminated subscope declaration: -┌─⯈ tests/test_io/bad/using_non_output.catala_en:8.2-3 +┌─⯈ tests/test_io/bad/using_non_output.catala_en:8.2-3: └─┐ - │ 8 │ a scope A │ ‾ └─ Test diff --git a/tests/test_money/bad/no_mingle.catala_en b/tests/test_money/bad/no_mingle.catala_en index 1ed000a8..973155e3 100644 --- a/tests/test_money/bad/no_mingle.catala_en +++ b/tests/test_money/bad/no_mingle.catala_en @@ -19,25 +19,22 @@ $ catala Interpret -s A --> decimal Error coming from typechecking the following expression: -┌─⯈ tests/test_money/bad/no_mingle.catala_en:12.28-29 +┌─⯈ tests/test_money/bad/no_mingle.catala_en:12.28-29: └──┐ - │ 12 │ definition z equals (x *$ y) │ ‾ └─ Article Type money coming from expression: -┌─⯈ tests/test_money/bad/no_mingle.catala_en:6.20-25 +┌─⯈ tests/test_money/bad/no_mingle.catala_en:6.20-25: └─┐ - │ 6 │ context y content money │ ‾‾‾‾‾ └─ Article Type decimal coming from expression: -┌─⯈ tests/test_money/bad/no_mingle.catala_en:12.25-27 +┌─⯈ tests/test_money/bad/no_mingle.catala_en:12.25-27: └──┐ - │ 12 │ definition z equals (x *$ y) │ ‾‾ └─ Article diff --git a/tests/test_proof/bad/array_length-empty.catala_en b/tests/test_proof/bad/array_length-empty.catala_en index 4bd85c03..34f5fe28 100644 --- a/tests/test_proof/bad/array_length-empty.catala_en +++ b/tests/test_proof/bad/array_length-empty.catala_en @@ -13,9 +13,8 @@ scope A: ```catala-test-inline $ catala Proof --disable_counterexamples [ERROR] [A.y] This variable might return an empty error: -┌─⯈ tests/test_proof/bad/array_length-empty.catala_en:6.10-11 +┌─⯈ tests/test_proof/bad/array_length-empty.catala_en:6.10-11: └─┐ - │ 6 │ context y content boolean │ ‾ └─ Test diff --git a/tests/test_proof/bad/array_length-overlap.catala_en b/tests/test_proof/bad/array_length-overlap.catala_en index 54829af9..7a1b2df1 100644 --- a/tests/test_proof/bad/array_length-overlap.catala_en +++ b/tests/test_proof/bad/array_length-overlap.catala_en @@ -14,9 +14,8 @@ scope A: ```catala-test-inline $ catala Proof --disable_counterexamples [ERROR] [A.y] At least two exceptions overlap for this variable: -┌─⯈ tests/test_proof/bad/array_length-overlap.catala_en:6.10-11 +┌─⯈ tests/test_proof/bad/array_length-overlap.catala_en:6.10-11: └─┐ - │ 6 │ context y content boolean │ ‾ └─ Test diff --git a/tests/test_proof/bad/dates_get_year-empty.catala_en b/tests/test_proof/bad/dates_get_year-empty.catala_en index 650aed3d..4c112ba1 100644 --- a/tests/test_proof/bad/dates_get_year-empty.catala_en +++ b/tests/test_proof/bad/dates_get_year-empty.catala_en @@ -16,9 +16,8 @@ scope A: ```catala-test-inline $ catala Proof --disable_counterexamples [ERROR] [A.y] This variable might return an empty error: -┌─⯈ tests/test_proof/bad/dates_get_year-empty.catala_en:6.10-11 +┌─⯈ tests/test_proof/bad/dates_get_year-empty.catala_en:6.10-11: └─┐ - │ 6 │ context y content boolean │ ‾ └─ Test diff --git a/tests/test_proof/bad/dates_get_year-overlap.catala_en b/tests/test_proof/bad/dates_get_year-overlap.catala_en index f9c7971a..3495d748 100644 --- a/tests/test_proof/bad/dates_get_year-overlap.catala_en +++ b/tests/test_proof/bad/dates_get_year-overlap.catala_en @@ -16,9 +16,8 @@ scope A: ```catala-test-inline $ catala Proof --disable_counterexamples [ERROR] [A.y] At least two exceptions overlap for this variable: -┌─⯈ tests/test_proof/bad/dates_get_year-overlap.catala_en:6.10-11 +┌─⯈ tests/test_proof/bad/dates_get_year-overlap.catala_en:6.10-11: └─┐ - │ 6 │ context y content boolean │ ‾ └─ Test diff --git a/tests/test_proof/bad/dates_simple-empty.catala_en b/tests/test_proof/bad/dates_simple-empty.catala_en index 09cb1300..51167091 100644 --- a/tests/test_proof/bad/dates_simple-empty.catala_en +++ b/tests/test_proof/bad/dates_simple-empty.catala_en @@ -15,9 +15,8 @@ scope A: ```catala-test-inline $ catala Proof --disable_counterexamples [ERROR] [A.y] This variable might return an empty error: -┌─⯈ tests/test_proof/bad/dates_simple-empty.catala_en:6.10-11 +┌─⯈ tests/test_proof/bad/dates_simple-empty.catala_en:6.10-11: └─┐ - │ 6 │ context y content boolean │ ‾ └─ Test diff --git a/tests/test_proof/bad/dates_simple-overlap.catala_en b/tests/test_proof/bad/dates_simple-overlap.catala_en index 0f815b54..49e5700c 100644 --- a/tests/test_proof/bad/dates_simple-overlap.catala_en +++ b/tests/test_proof/bad/dates_simple-overlap.catala_en @@ -16,9 +16,8 @@ scope A: ```catala-test-inline $ catala Proof --disable_counterexamples [ERROR] [A.y] At least two exceptions overlap for this variable: -┌─⯈ tests/test_proof/bad/dates_simple-overlap.catala_en:6.10-11 +┌─⯈ tests/test_proof/bad/dates_simple-overlap.catala_en:6.10-11: └─┐ - │ 6 │ context y content boolean │ ‾ └─ Test diff --git a/tests/test_proof/bad/duration-empty.catala_en b/tests/test_proof/bad/duration-empty.catala_en index 9b36f0cf..97a4957d 100644 --- a/tests/test_proof/bad/duration-empty.catala_en +++ b/tests/test_proof/bad/duration-empty.catala_en @@ -13,9 +13,8 @@ scope A: ```catala-test-inline $ catala Proof --disable_counterexamples [ERROR] [A.y] This variable might return an empty error: -┌─⯈ tests/test_proof/bad/duration-empty.catala_en:6.10-11 +┌─⯈ tests/test_proof/bad/duration-empty.catala_en:6.10-11: └─┐ - │ 6 │ context y content boolean │ ‾ └─ Test diff --git a/tests/test_proof/bad/duration-overlap.catala_en b/tests/test_proof/bad/duration-overlap.catala_en index 39063074..0bfb10b6 100644 --- a/tests/test_proof/bad/duration-overlap.catala_en +++ b/tests/test_proof/bad/duration-overlap.catala_en @@ -14,9 +14,8 @@ scope A: ```catala-test-inline $ catala Proof --disable_counterexamples [ERROR] [A.y] At least two exceptions overlap for this variable: -┌─⯈ tests/test_proof/bad/duration-overlap.catala_en:6.10-11 +┌─⯈ tests/test_proof/bad/duration-overlap.catala_en:6.10-11: └─┐ - │ 6 │ context y content boolean │ ‾ └─ Test diff --git a/tests/test_proof/bad/enums-empty.catala_en b/tests/test_proof/bad/enums-empty.catala_en index 1bcd78fa..36b39796 100644 --- a/tests/test_proof/bad/enums-empty.catala_en +++ b/tests/test_proof/bad/enums-empty.catala_en @@ -24,9 +24,8 @@ scope A: ```catala-test-inline $ catala Proof --disable_counterexamples [ERROR] [A.x] This variable might return an empty error: -┌─⯈ tests/test_proof/bad/enums-empty.catala_en:15.10-11 +┌─⯈ tests/test_proof/bad/enums-empty.catala_en:15.10-11: └──┐ - │ 15 │ context x content integer │ ‾ └─ Test diff --git a/tests/test_proof/bad/enums-nonbool-empty.catala_en b/tests/test_proof/bad/enums-nonbool-empty.catala_en index 7317ee5c..6b8fd5ad 100644 --- a/tests/test_proof/bad/enums-nonbool-empty.catala_en +++ b/tests/test_proof/bad/enums-nonbool-empty.catala_en @@ -22,9 +22,8 @@ scope A: ```catala-test-inline $ catala Proof --disable_counterexamples [ERROR] [A.x] This variable might return an empty error: -┌─⯈ tests/test_proof/bad/enums-nonbool-empty.catala_en:13.10-11 +┌─⯈ tests/test_proof/bad/enums-nonbool-empty.catala_en:13.10-11: └──┐ - │ 13 │ context x content integer │ ‾ └─ Test diff --git a/tests/test_proof/bad/enums-nonbool-overlap.catala_en b/tests/test_proof/bad/enums-nonbool-overlap.catala_en index c679105b..bb19c9b9 100644 --- a/tests/test_proof/bad/enums-nonbool-overlap.catala_en +++ b/tests/test_proof/bad/enums-nonbool-overlap.catala_en @@ -22,9 +22,8 @@ scope A: ```catala-test-inline $ catala Proof --disable_counterexamples [ERROR] [A.x] At least two exceptions overlap for this variable: -┌─⯈ tests/test_proof/bad/enums-nonbool-overlap.catala_en:13.10-11 +┌─⯈ tests/test_proof/bad/enums-nonbool-overlap.catala_en:13.10-11: └──┐ - │ 13 │ context x content integer │ ‾ └─ Test diff --git a/tests/test_proof/bad/enums-overlap.catala_en b/tests/test_proof/bad/enums-overlap.catala_en index 8e5b1b64..e241f823 100644 --- a/tests/test_proof/bad/enums-overlap.catala_en +++ b/tests/test_proof/bad/enums-overlap.catala_en @@ -24,9 +24,8 @@ scope A: ```catala-test-inline $ catala Proof --disable_counterexamples [ERROR] [A.x] At least two exceptions overlap for this variable: -┌─⯈ tests/test_proof/bad/enums-overlap.catala_en:15.10-11 +┌─⯈ tests/test_proof/bad/enums-overlap.catala_en:15.10-11: └──┐ - │ 15 │ context x content integer │ ‾ └─ Test diff --git a/tests/test_proof/bad/enums_inj-empty.catala_en b/tests/test_proof/bad/enums_inj-empty.catala_en index 8799d551..57382389 100644 --- a/tests/test_proof/bad/enums_inj-empty.catala_en +++ b/tests/test_proof/bad/enums_inj-empty.catala_en @@ -17,9 +17,8 @@ scope A: ```catala-test-inline $ catala Proof --disable_counterexamples [ERROR] [A.y] This variable might return an empty error: -┌─⯈ tests/test_proof/bad/enums_inj-empty.catala_en:10.10-11 +┌─⯈ tests/test_proof/bad/enums_inj-empty.catala_en:10.10-11: └──┐ - │ 10 │ context y content integer │ ‾ └─ Article diff --git a/tests/test_proof/bad/enums_inj-overlap.catala_en b/tests/test_proof/bad/enums_inj-overlap.catala_en index 019ea162..334f6725 100644 --- a/tests/test_proof/bad/enums_inj-overlap.catala_en +++ b/tests/test_proof/bad/enums_inj-overlap.catala_en @@ -19,9 +19,8 @@ scope A: ```catala-test-inline $ catala Proof --disable_counterexamples [ERROR] [A.y] At least two exceptions overlap for this variable: -┌─⯈ tests/test_proof/bad/enums_inj-overlap.catala_en:10.10-11 +┌─⯈ tests/test_proof/bad/enums_inj-overlap.catala_en:10.10-11: └──┐ - │ 10 │ context y content integer │ ‾ └─ Article diff --git a/tests/test_proof/bad/enums_unit-empty.catala_en b/tests/test_proof/bad/enums_unit-empty.catala_en index 71340f10..91a2250b 100644 --- a/tests/test_proof/bad/enums_unit-empty.catala_en +++ b/tests/test_proof/bad/enums_unit-empty.catala_en @@ -22,9 +22,8 @@ scope A: ```catala-test-inline $ catala Proof --disable_counterexamples [ERROR] [A.y] This variable might return an empty error: -┌─⯈ tests/test_proof/bad/enums_unit-empty.catala_en:10.10-11 +┌─⯈ tests/test_proof/bad/enums_unit-empty.catala_en:10.10-11: └──┐ - │ 10 │ context y content integer │ ‾ └─ Article diff --git a/tests/test_proof/bad/enums_unit-overlap.catala_en b/tests/test_proof/bad/enums_unit-overlap.catala_en index 998097e4..9fe1baad 100644 --- a/tests/test_proof/bad/enums_unit-overlap.catala_en +++ b/tests/test_proof/bad/enums_unit-overlap.catala_en @@ -22,9 +22,8 @@ scope A: ```catala-test-inline $ catala Proof --disable_counterexamples [ERROR] [A.y] At least two exceptions overlap for this variable: -┌─⯈ tests/test_proof/bad/enums_unit-overlap.catala_en:10.10-11 +┌─⯈ tests/test_proof/bad/enums_unit-overlap.catala_en:10.10-11: └──┐ - │ 10 │ context y content integer │ ‾ └─ Article diff --git a/tests/test_proof/bad/money-empty.catala_en b/tests/test_proof/bad/money-empty.catala_en index 5139d7e2..a55ec032 100644 --- a/tests/test_proof/bad/money-empty.catala_en +++ b/tests/test_proof/bad/money-empty.catala_en @@ -17,9 +17,8 @@ scope A: ```catala-test-inline $ catala Proof --disable_counterexamples [ERROR] [A.y] This variable might return an empty error: -┌─⯈ tests/test_proof/bad/money-empty.catala_en:8.10-11 +┌─⯈ tests/test_proof/bad/money-empty.catala_en:8.10-11: └─┐ - │ 8 │ context y content boolean │ ‾ └─ Test diff --git a/tests/test_proof/bad/money-overlap.catala_en b/tests/test_proof/bad/money-overlap.catala_en index d4c64dda..6963cb37 100644 --- a/tests/test_proof/bad/money-overlap.catala_en +++ b/tests/test_proof/bad/money-overlap.catala_en @@ -18,9 +18,8 @@ scope A: ```catala-test-inline $ catala Proof --disable_counterexamples [ERROR] [A.y] At least two exceptions overlap for this variable: -┌─⯈ tests/test_proof/bad/money-overlap.catala_en:8.10-11 +┌─⯈ tests/test_proof/bad/money-overlap.catala_en:8.10-11: └─┐ - │ 8 │ context y content boolean │ ‾ └─ Test diff --git a/tests/test_proof/bad/no_vars-conflict.catala_en b/tests/test_proof/bad/no_vars-conflict.catala_en index ebb379b4..3db441b1 100644 --- a/tests/test_proof/bad/no_vars-conflict.catala_en +++ b/tests/test_proof/bad/no_vars-conflict.catala_en @@ -18,9 +18,8 @@ scope A: ```catala-test-inline $ catala Proof --disable_counterexamples [ERROR] [A.y] At least two exceptions overlap for this variable: -┌─⯈ tests/test_proof/bad/no_vars-conflict.catala_en:8.10-11 +┌─⯈ tests/test_proof/bad/no_vars-conflict.catala_en:8.10-11: └─┐ - │ 8 │ context y content integer │ ‾ └─ Test diff --git a/tests/test_proof/bad/no_vars-empty.catala_en b/tests/test_proof/bad/no_vars-empty.catala_en index 21d6d5c7..3b3bfdcb 100644 --- a/tests/test_proof/bad/no_vars-empty.catala_en +++ b/tests/test_proof/bad/no_vars-empty.catala_en @@ -17,9 +17,8 @@ scope A: ```catala-test-inline $ catala Proof --disable_counterexamples [ERROR] [A.y] This variable might return an empty error: -┌─⯈ tests/test_proof/bad/no_vars-empty.catala_en:7.10-11 +┌─⯈ tests/test_proof/bad/no_vars-empty.catala_en:7.10-11: └─┐ - │ 7 │ context y content integer │ ‾ └─ Test diff --git a/tests/test_proof/bad/prolala_motivating_example.catala_en b/tests/test_proof/bad/prolala_motivating_example.catala_en index c725631e..bd7b9244 100644 --- a/tests/test_proof/bad/prolala_motivating_example.catala_en +++ b/tests/test_proof/bad/prolala_motivating_example.catala_en @@ -124,27 +124,24 @@ scope Amount: ```catala-test-inline $ catala Proof --disable_counterexamples [ERROR] [Amount.amount] This variable might return an empty error: -┌─⯈ tests/test_proof/bad/prolala_motivating_example.catala_en:60.10-16 +┌─⯈ tests/test_proof/bad/prolala_motivating_example.catala_en:60.10-16: └──┐ - │ 60 │ context amount content integer │ ‾‾‾‾‾‾ └┬ ProLaLa 2022 Super Cash Bonus └─ Amount Counterexample generation is disabled so none was generated. [ERROR] [Eligibility.is_eligible] This variable might return an empty error: -┌─⯈ tests/test_proof/bad/prolala_motivating_example.catala_en:11.9-20 +┌─⯈ tests/test_proof/bad/prolala_motivating_example.catala_en:11.9-20: └──┐ - │ 11 │ output is_eligible content boolean │ ‾‾‾‾‾‾‾‾‾‾‾ └┬ ProLaLa 2022 Super Cash Bonus └─ Eligibility Counterexample generation is disabled so none was generated. [ERROR] [Eligibility.is_eligible] At least two exceptions overlap for this variable: -┌─⯈ tests/test_proof/bad/prolala_motivating_example.catala_en:11.9-20 +┌─⯈ tests/test_proof/bad/prolala_motivating_example.catala_en:11.9-20: └──┐ - │ 11 │ output is_eligible content boolean │ ‾‾‾‾‾‾‾‾‾‾‾ └┬ ProLaLa 2022 Super Cash Bonus diff --git a/tests/test_proof/bad/rationals-empty.catala_en b/tests/test_proof/bad/rationals-empty.catala_en index f9529776..31aa0170 100644 --- a/tests/test_proof/bad/rationals-empty.catala_en +++ b/tests/test_proof/bad/rationals-empty.catala_en @@ -13,9 +13,8 @@ scope A: ```catala-test-inline $ catala Proof --disable_counterexamples [ERROR] [A.y] This variable might return an empty error: -┌─⯈ tests/test_proof/bad/rationals-empty.catala_en:6.10-11 +┌─⯈ tests/test_proof/bad/rationals-empty.catala_en:6.10-11: └─┐ - │ 6 │ context y content boolean │ ‾ └─ Test diff --git a/tests/test_proof/bad/rationals-overlap.catala_en b/tests/test_proof/bad/rationals-overlap.catala_en index 6d966dd3..87e3d794 100644 --- a/tests/test_proof/bad/rationals-overlap.catala_en +++ b/tests/test_proof/bad/rationals-overlap.catala_en @@ -14,9 +14,8 @@ scope A: ```catala-test-inline $ catala Proof --disable_counterexamples [ERROR] [A.y] At least two exceptions overlap for this variable: -┌─⯈ tests/test_proof/bad/rationals-overlap.catala_en:6.10-11 +┌─⯈ tests/test_proof/bad/rationals-overlap.catala_en:6.10-11: └─┐ - │ 6 │ context y content boolean │ ‾ └─ Test diff --git a/tests/test_proof/bad/sat_solving.catala_en b/tests/test_proof/bad/sat_solving.catala_en index a362550a..4a345966 100644 --- a/tests/test_proof/bad/sat_solving.catala_en +++ b/tests/test_proof/bad/sat_solving.catala_en @@ -41,9 +41,8 @@ scope A: ```catala-test-inline $ catala Proof --disable_counterexamples [ERROR] [A.x10] This variable might return an empty error: -┌─⯈ tests/test_proof/bad/sat_solving.catala_en:15.10-13 +┌─⯈ tests/test_proof/bad/sat_solving.catala_en:15.10-13: └──┐ - │ 15 │ context x10 content boolean │ ‾‾‾ └─ Test diff --git a/tests/test_proof/bad/structs-empty.catala_en b/tests/test_proof/bad/structs-empty.catala_en index d50e9241..ae85a698 100644 --- a/tests/test_proof/bad/structs-empty.catala_en +++ b/tests/test_proof/bad/structs-empty.catala_en @@ -22,9 +22,8 @@ scope A: ```catala-test-inline $ catala Proof --disable_counterexamples [ERROR] [A.x] This variable might return an empty error: -┌─⯈ tests/test_proof/bad/structs-empty.catala_en:13.10-11 +┌─⯈ tests/test_proof/bad/structs-empty.catala_en:13.10-11: └──┐ - │ 13 │ context x content integer │ ‾ └─ Test diff --git a/tests/test_proof/bad/structs-overlap.catala_en b/tests/test_proof/bad/structs-overlap.catala_en index 6ac4c613..b535e1e0 100644 --- a/tests/test_proof/bad/structs-overlap.catala_en +++ b/tests/test_proof/bad/structs-overlap.catala_en @@ -22,9 +22,8 @@ scope A: ```catala-test-inline $ catala Proof --disable_counterexamples [ERROR] [A.x] At least two exceptions overlap for this variable: -┌─⯈ tests/test_proof/bad/structs-overlap.catala_en:13.10-11 +┌─⯈ tests/test_proof/bad/structs-overlap.catala_en:13.10-11: └──┐ - │ 13 │ context x content integer │ ‾ └─ Test diff --git a/tests/test_scope/bad/cycle_in_scope.catala_en b/tests/test_scope/bad/cycle_in_scope.catala_en index eaf292bc..ffc7ef66 100644 --- a/tests/test_scope/bad/cycle_in_scope.catala_en +++ b/tests/test_scope/bad/cycle_in_scope.catala_en @@ -19,49 +19,43 @@ $ catala Interpret -s A [ERROR] Cyclic dependency detected between variables of scope A! Cycle variable z, declared: -┌─⯈ tests/test_scope/bad/cycle_in_scope.catala_en:7.10-11 +┌─⯈ tests/test_scope/bad/cycle_in_scope.catala_en:7.10-11: └─┐ - │ 7 │ context z content integer │ ‾ └─ Article Used here in the definition of another cycle variable x: -┌─⯈ tests/test_scope/bad/cycle_in_scope.catala_en:14.22-23 +┌─⯈ tests/test_scope/bad/cycle_in_scope.catala_en:14.22-23: └──┐ - │ 14 │ definition x equals z │ ‾ └─ Article Cycle variable y, declared: -┌─⯈ tests/test_scope/bad/cycle_in_scope.catala_en:6.10-11 +┌─⯈ tests/test_scope/bad/cycle_in_scope.catala_en:6.10-11: └─┐ - │ 6 │ context y content integer │ ‾ └─ Article Used here in the definition of another cycle variable z: -┌─⯈ tests/test_scope/bad/cycle_in_scope.catala_en:13.31-32 +┌─⯈ tests/test_scope/bad/cycle_in_scope.catala_en:13.31-32: └──┐ - │ 13 │ definition z under condition y < 1 consequence equals y │ ‾ └─ Article Cycle variable x, declared: -┌─⯈ tests/test_scope/bad/cycle_in_scope.catala_en:5.10-11 +┌─⯈ tests/test_scope/bad/cycle_in_scope.catala_en:5.10-11: └─┐ - │ 5 │ context x content integer │ ‾ └─ Article Used here in the definition of another cycle variable y: -┌─⯈ tests/test_scope/bad/cycle_in_scope.catala_en:11.31-32 +┌─⯈ tests/test_scope/bad/cycle_in_scope.catala_en:11.31-32: └──┐ - │ 11 │ definition y under condition x >= 0 consequence equals x │ ‾ └─ Article diff --git a/tests/test_scope/bad/cyclic_scopes.catala_en b/tests/test_scope/bad/cyclic_scopes.catala_en index 4ab55814..e9d6664b 100644 --- a/tests/test_scope/bad/cyclic_scopes.catala_en +++ b/tests/test_scope/bad/cyclic_scopes.catala_en @@ -21,33 +21,29 @@ $ catala Interpret -s A [ERROR] Cyclic dependency detected between scopes! Cycle variable B, declared: -┌─⯈ tests/test_scope/bad/cyclic_scopes.catala_en:8.18-19 +┌─⯈ tests/test_scope/bad/cyclic_scopes.catala_en:8.18-19: └─┐ - │ 8 │ declaration scope B: │ ‾ └─ Article Used here in the definition of another cycle variable A: -┌─⯈ tests/test_scope/bad/cyclic_scopes.catala_en:5.2-3 +┌─⯈ tests/test_scope/bad/cyclic_scopes.catala_en:5.2-3: └─┐ - │ 5 │ b scope B │ ‾ └─ Article Cycle variable A, declared: -┌─⯈ tests/test_scope/bad/cyclic_scopes.catala_en:4.18-19 +┌─⯈ tests/test_scope/bad/cyclic_scopes.catala_en:4.18-19: └─┐ - │ 4 │ declaration scope A: │ ‾ └─ Article Used here in the definition of another cycle variable B: -┌─⯈ tests/test_scope/bad/cyclic_scopes.catala_en:9.2-3 +┌─⯈ tests/test_scope/bad/cyclic_scopes.catala_en:9.2-3: └─┐ - │ 9 │ a scope A │ ‾ └─ Article diff --git a/tests/test_scope/bad/scope.catala_en b/tests/test_scope/bad/scope.catala_en index 8f8efb86..fdce38b8 100644 --- a/tests/test_scope/bad/scope.catala_en +++ b/tests/test_scope/bad/scope.catala_en @@ -19,17 +19,15 @@ $ catala Interpret -s A [ERROR] There is a conflict between multiple valid consequences for assigning the same variable. This consequence has a valid justification: -┌─⯈ tests/test_scope/bad/scope.catala_en:13.56-60 +┌─⯈ tests/test_scope/bad/scope.catala_en:13.56-60: └──┐ - │ 13 │ definition b under condition not c consequence equals 1337 │ ‾‾‾‾ └─ Article This consequence has a valid justification: -┌─⯈ tests/test_scope/bad/scope.catala_en:14.56-57 +┌─⯈ tests/test_scope/bad/scope.catala_en:14.56-57: └──┐ - │ 14 │ definition b under condition not c consequence equals 0 │ ‾ └─ Article diff --git a/tests/test_scope/bad/scope_call_duplicate.catala_en b/tests/test_scope/bad/scope_call_duplicate.catala_en index b532fb28..012a7081 100644 --- a/tests/test_scope/bad/scope_call_duplicate.catala_en +++ b/tests/test_scope/bad/scope_call_duplicate.catala_en @@ -18,9 +18,8 @@ scope Titi: $ catala dcalc -s Titi [ERROR] Duplicate definition of scope input variable 'bar' -┌─⯈ tests/test_scope/bad/scope_call_duplicate.catala_en:14.57-60 +┌─⯈ tests/test_scope/bad/scope_call_duplicate.catala_en:14.57-60: └──┐ - │ 14 │ definition fizz equals Toto of {--bar: 1 --baz: 2.1 -- bar: 3} │ ‾‾‾ diff --git a/tests/test_scope/bad/scope_call_extra.catala_en b/tests/test_scope/bad/scope_call_extra.catala_en index 925034b5..d97b2a4e 100644 --- a/tests/test_scope/bad/scope_call_extra.catala_en +++ b/tests/test_scope/bad/scope_call_extra.catala_en @@ -18,17 +18,15 @@ scope Titi: $ catala dcalc -s Titi [ERROR] Scope Toto has no input variable biz -┌─⯈ tests/test_scope/bad/scope_call_extra.catala_en:14.36-39 +┌─⯈ tests/test_scope/bad/scope_call_extra.catala_en:14.36-39: └──┐ - │ 14 │ definition fizz equals Toto of {--biz: 1} │ ‾‾‾ Scope Toto declared here -┌─⯈ tests/test_scope/bad/scope_call_extra.catala_en:2.18-22 +┌─⯈ tests/test_scope/bad/scope_call_extra.catala_en:2.18-22: └─┐ - │ 2 │ declaration scope Toto: │ ‾‾‾‾ diff --git a/tests/test_scope/bad/scope_call_missing.catala_en b/tests/test_scope/bad/scope_call_missing.catala_en index 002c5d9c..d60a180a 100644 --- a/tests/test_scope/bad/scope_call_missing.catala_en +++ b/tests/test_scope/bad/scope_call_missing.catala_en @@ -18,17 +18,15 @@ scope Titi: $ catala dcalc -s Titi [ERROR] Definition of input variable 'baz' missing in this scope call -┌─⯈ tests/test_scope/bad/scope_call_missing.catala_en:14.25-43 +┌─⯈ tests/test_scope/bad/scope_call_missing.catala_en:14.25-43: └──┐ - │ 14 │ definition fizz equals Toto of {--bar: 1} │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ Declaration of the missing input variable -┌─⯈ tests/test_scope/bad/scope_call_missing.catala_en:4.8-11 +┌─⯈ tests/test_scope/bad/scope_call_missing.catala_en:4.8-11: └─┐ - │ 4 │ input baz content decimal │ ‾‾‾ diff --git a/tests/test_scope/bad/sub_vars_in_sub_var.catala_en b/tests/test_scope/bad/sub_vars_in_sub_var.catala_en index bbd52bbf..c5b3c29b 100644 --- a/tests/test_scope/bad/sub_vars_in_sub_var.catala_en +++ b/tests/test_scope/bad/sub_vars_in_sub_var.catala_en @@ -17,9 +17,8 @@ scope B: $ catala Interpret -s A [ERROR] The subscope a is used when defining one of its inputs, but recursion is forbidden in Catala -┌─⯈ tests/test_scope/bad/sub_vars_in_sub_var.catala_en:13.27-30 +┌─⯈ tests/test_scope/bad/sub_vars_in_sub_var.catala_en:13.27-30: └──┐ - │ 13 │ definition a.y equals if a.x then 0 else 1 │ ‾‾‾ └─ Article diff --git a/tests/test_struct/bad/ambiguous_fields.catala_en b/tests/test_struct/bad/ambiguous_fields.catala_en index b4dd8985..e3739872 100644 --- a/tests/test_struct/bad/ambiguous_fields.catala_en +++ b/tests/test_struct/bad/ambiguous_fields.catala_en @@ -20,9 +20,8 @@ scope A: $ catala Interpret -s A [ERROR] This struct field name is ambiguous, it can belong to Foo or Bar. Disambiguate it by prefixing it with the struct name. -┌─⯈ tests/test_struct/bad/ambiguous_fields.catala_en:16.24-25 +┌─⯈ tests/test_struct/bad/ambiguous_fields.catala_en:16.24-25: └──┐ - │ 16 │ definition y equals x.f │ ‾ └─ Article diff --git a/tests/test_struct/bad/bug_107.catala_en b/tests/test_struct/bad/bug_107.catala_en index 3fa4a236..88c43b37 100644 --- a/tests/test_struct/bad/bug_107.catala_en +++ b/tests/test_struct/bad/bug_107.catala_en @@ -21,17 +21,15 @@ $ catala Interpret -s A [ERROR] struct name "S" already defined First definition: -┌─⯈ tests/test_struct/bad/bug_107.catala_en:4.22-23 +┌─⯈ tests/test_struct/bad/bug_107.catala_en:4.22-23: └─┐ - │ 4 │ declaration structure S: │ ‾ └─ https://github.com/CatalaLang/catala/issues/107 Second definition: -┌─⯈ tests/test_struct/bad/bug_107.catala_en:8.22-23 +┌─⯈ tests/test_struct/bad/bug_107.catala_en:8.22-23: └─┐ - │ 8 │ declaration structure S: │ ‾ └─ https://github.com/CatalaLang/catala/issues/107 diff --git a/tests/test_struct/bad/empty_struct.catala_en b/tests/test_struct/bad/empty_struct.catala_en index 52fb8148..fe4d3e60 100644 --- a/tests/test_struct/bad/empty_struct.catala_en +++ b/tests/test_struct/bad/empty_struct.catala_en @@ -11,9 +11,8 @@ declaration scope Bar: $ catala Typecheck [ERROR] The struct Foo does not have any fields; give it some for Catala to be able to accept it. -┌─⯈ tests/test_struct/bad/empty_struct.catala_en:4.22-25 +┌─⯈ tests/test_struct/bad/empty_struct.catala_en:4.22-25: └─┐ - │ 4 │ declaration structure Foo: │ ‾‾‾ └─ Test diff --git a/tests/test_struct/bad/nested.catala_en b/tests/test_struct/bad/nested.catala_en index c6b2692a..d354d270 100644 --- a/tests/test_struct/bad/nested.catala_en +++ b/tests/test_struct/bad/nested.catala_en @@ -16,9 +16,8 @@ scope A: $ catala Interpret -s A [ERROR] The type E is defined using itself, which is forbidden since Catala does not provide recursive types -┌─⯈ tests/test_struct/bad/nested.catala_en:6.17-18 +┌─⯈ tests/test_struct/bad/nested.catala_en:6.17-18: └─┐ - │ 6 │ -- Rec content E │ ‾ └─ Article diff --git a/tests/test_struct/bad/nested2.catala_en b/tests/test_struct/bad/nested2.catala_en index c7acd2af..21d07694 100644 --- a/tests/test_struct/bad/nested2.catala_en +++ b/tests/test_struct/bad/nested2.catala_en @@ -18,33 +18,29 @@ $ catala Interpret -s A [ERROR] Cyclic dependency detected between types! Cycle type S, declared: -┌─⯈ tests/test_struct/bad/nested2.catala_en:4.22-23 +┌─⯈ tests/test_struct/bad/nested2.catala_en:4.22-23: └─┐ - │ 4 │ declaration structure S: │ ‾ └─ Article Used here in the definition of another cycle type E: -┌─⯈ tests/test_struct/bad/nested2.catala_en:10.19-20 +┌─⯈ tests/test_struct/bad/nested2.catala_en:10.19-20: └──┐ - │ 10 │ -- Case2 content S │ ‾ └─ Article Cycle type E, declared: -┌─⯈ tests/test_struct/bad/nested2.catala_en:8.24-25 +┌─⯈ tests/test_struct/bad/nested2.catala_en:8.24-25: └─┐ - │ 8 │ declaration enumeration E: │ ‾ └─ Article Used here in the definition of another cycle type S: -┌─⯈ tests/test_struct/bad/nested2.catala_en:5.17-18 +┌─⯈ tests/test_struct/bad/nested2.catala_en:5.17-18: └─┐ - │ 5 │ data x content E │ ‾ └─ Article diff --git a/tests/test_struct/bad/nonexisting_struct.catala_en b/tests/test_struct/bad/nonexisting_struct.catala_en index bfe51b4f..ceb159e4 100644 --- a/tests/test_struct/bad/nonexisting_struct.catala_en +++ b/tests/test_struct/bad/nonexisting_struct.catala_en @@ -17,9 +17,8 @@ scope A: $ catala Interpret -s A [ERROR] No struct named Fo found -┌─⯈ tests/test_struct/bad/nonexisting_struct.catala_en:13.24-26 +┌─⯈ tests/test_struct/bad/nonexisting_struct.catala_en:13.24-26: └──┐ - │ 13 │ definition y equals x.Fo.f │ ‾‾ └─ Article diff --git a/tests/test_struct/bad/wrong_qualified_field.catala_en b/tests/test_struct/bad/wrong_qualified_field.catala_en index 8725e202..22123f3f 100644 --- a/tests/test_struct/bad/wrong_qualified_field.catala_en +++ b/tests/test_struct/bad/wrong_qualified_field.catala_en @@ -21,9 +21,8 @@ scope A: $ catala Interpret -s A [ERROR] Struct Foo does not contain field g -┌─⯈ tests/test_struct/bad/wrong_qualified_field.catala_en:17.22-29 +┌─⯈ tests/test_struct/bad/wrong_qualified_field.catala_en:17.22-29: └──┐ - │ 17 │ definition y equals x.Foo.g │ ‾‾‾‾‾‾‾ └─ Article diff --git a/tests/test_typing/bad/err1.catala_en b/tests/test_typing/bad/err1.catala_en index d3b7234b..a7bf3a19 100644 --- a/tests/test_typing/bad/err1.catala_en +++ b/tests/test_typing/bad/err1.catala_en @@ -17,25 +17,22 @@ $ catala Typecheck --> integer Error coming from typechecking the following expression: -┌─⯈ tests/test_typing/bad/err1.catala_en:7.22-25 +┌─⯈ tests/test_typing/bad/err1.catala_en:7.22-25: └─┐ - │ 7 │ Structure { -- i: 4.1 -- e: y }; │ ‾‾‾ Type decimal coming from expression: -┌─⯈ tests/test_typing/bad/err1.catala_en:7.22-25 +┌─⯈ tests/test_typing/bad/err1.catala_en:7.22-25: └─┐ - │ 7 │ Structure { -- i: 4.1 -- e: y }; │ ‾‾‾ Type integer coming from expression: -┌─⯈ tests/test_typing/bad/common.catala_en:8.17-24 +┌─⯈ tests/test_typing/bad/common.catala_en:8.17-24: └─┐ - │ 8 │ data i content integer │ ‾‾‾‾‾‾‾ diff --git a/tests/test_typing/bad/err2.catala_en b/tests/test_typing/bad/err2.catala_en index 386dd5f6..fa2b0ad1 100644 --- a/tests/test_typing/bad/err2.catala_en +++ b/tests/test_typing/bad/err2.catala_en @@ -17,25 +17,22 @@ $ catala Typecheck --> decimal Error coming from typechecking the following expression: -┌─⯈ tests/test_typing/bad/err2.catala_en:10.43-44 +┌─⯈ tests/test_typing/bad/err2.catala_en:10.43-44: └──┐ - │ 10 │ definition a equals number of (z ++ 1.1) / 2 │ ‾ Type integer coming from expression: -┌─⯈ tests/test_typing/bad/err2.catala_en:10.43-44 +┌─⯈ tests/test_typing/bad/err2.catala_en:10.43-44: └──┐ - │ 10 │ definition a equals number of (z ++ 1.1) / 2 │ ‾ Type decimal coming from expression: -┌─⯈ tests/test_typing/bad/common.catala_en:15.19-26 +┌─⯈ tests/test_typing/bad/common.catala_en:15.19-26: └──┐ - │ 15 │ output a content decimal │ ‾‾‾‾‾‾‾ diff --git a/tests/test_typing/bad/err3.catala_en b/tests/test_typing/bad/err3.catala_en index 8679aec9..39f0239e 100644 --- a/tests/test_typing/bad/err3.catala_en +++ b/tests/test_typing/bad/err3.catala_en @@ -17,25 +17,22 @@ $ catala Typecheck --> decimal Error coming from typechecking the following expression: -┌─⯈ tests/test_typing/bad/err3.catala_en:10.41-42 +┌─⯈ tests/test_typing/bad/err3.catala_en:10.41-42: └──┐ - │ 10 │ definition a equals number of (z ++ z) / 2 │ ‾ Type integer coming from expression: -┌─⯈ tests/test_typing/bad/err3.catala_en:10.41-42 +┌─⯈ tests/test_typing/bad/err3.catala_en:10.41-42: └──┐ - │ 10 │ definition a equals number of (z ++ z) / 2 │ ‾ Type decimal coming from expression: -┌─⯈ tests/test_typing/bad/common.catala_en:15.19-26 +┌─⯈ tests/test_typing/bad/common.catala_en:15.19-26: └──┐ - │ 15 │ output a content decimal │ ‾‾‾‾‾‾‾ @@ -51,25 +48,22 @@ $ catala ocaml --> decimal Error coming from typechecking the following expression: -┌─⯈ tests/test_typing/bad/err3.catala_en:10.41-42 +┌─⯈ tests/test_typing/bad/err3.catala_en:10.41-42: └──┐ - │ 10 │ definition a equals number of (z ++ z) / 2 │ ‾ Type integer coming from expression: -┌─⯈ tests/test_typing/bad/err3.catala_en:10.41-42 +┌─⯈ tests/test_typing/bad/err3.catala_en:10.41-42: └──┐ - │ 10 │ definition a equals number of (z ++ z) / 2 │ ‾ Type decimal coming from expression: -┌─⯈ tests/test_typing/bad/common.catala_en:15.19-26 +┌─⯈ tests/test_typing/bad/common.catala_en:15.19-26: └──┐ - │ 15 │ output a content decimal │ ‾‾‾‾‾‾‾ diff --git a/tests/test_typing/bad/err4.catala_en b/tests/test_typing/bad/err4.catala_en index 4b7bdb5d..ec25f415 100644 --- a/tests/test_typing/bad/err4.catala_en +++ b/tests/test_typing/bad/err4.catala_en @@ -15,25 +15,22 @@ $ catala ocaml --> Structure Error coming from typechecking the following expression: -┌─⯈ tests/test_typing/bad/err4.catala_en:5.24-37 +┌─⯈ tests/test_typing/bad/err4.catala_en:5.24-37: └─┐ - │ 5 │ definition z equals [ Int content x ] │ ‾‾‾‾‾‾‾‾‾‾‾‾‾ Type Enum coming from expression: -┌─⯈ tests/test_typing/bad/err4.catala_en:5.24-37 +┌─⯈ tests/test_typing/bad/err4.catala_en:5.24-37: └─┐ - │ 5 │ definition z equals [ Int content x ] │ ‾‾‾‾‾‾‾‾‾‾‾‾‾ Type Structure coming from expression: -┌─⯈ tests/test_typing/bad/common.catala_en:14.30-39 +┌─⯈ tests/test_typing/bad/common.catala_en:14.30-39: └──┐ - │ 14 │ output z content collection Structure │ ‾‾‾‾‾‾‾‾‾ diff --git a/tests/test_typing/bad/err5.catala_en b/tests/test_typing/bad/err5.catala_en index 96418213..7195a1ec 100644 --- a/tests/test_typing/bad/err5.catala_en +++ b/tests/test_typing/bad/err5.catala_en @@ -17,25 +17,22 @@ $ catala Typecheck --> Structure Error coming from typechecking the following expression: -┌─⯈ tests/test_typing/bad/err5.catala_en:8.4-8 +┌─⯈ tests/test_typing/bad/err5.catala_en:8.4-8: └─┐ - │ 8 │ 1040 │ ‾‾‾‾ Type integer coming from expression: -┌─⯈ tests/test_typing/bad/err5.catala_en:8.4-8 +┌─⯈ tests/test_typing/bad/err5.catala_en:8.4-8: └─┐ - │ 8 │ 1040 │ ‾‾‾‾ Type Structure coming from expression: -┌─⯈ tests/test_typing/bad/common.catala_en:14.30-39 +┌─⯈ tests/test_typing/bad/common.catala_en:14.30-39: └──┐ - │ 14 │ output z content collection Structure │ ‾‾‾‾‾‾‾‾‾ diff --git a/tests/test_typing/bad/err6.catala_en b/tests/test_typing/bad/err6.catala_en index a53e2149..c8874cbf 100644 --- a/tests/test_typing/bad/err6.catala_en +++ b/tests/test_typing/bad/err6.catala_en @@ -33,25 +33,22 @@ $ catala ocaml --> integer Error coming from typechecking the following expression: -┌─⯈ tests/test_typing/bad/err6.catala_en:20.26-29 +┌─⯈ tests/test_typing/bad/err6.catala_en:20.26-29: └──┐ - │ 20 │ definition sub.x equals 44. │ ‾‾‾ Type decimal coming from expression: -┌─⯈ tests/test_typing/bad/err6.catala_en:20.26-29 +┌─⯈ tests/test_typing/bad/err6.catala_en:20.26-29: └──┐ - │ 20 │ definition sub.x equals 44. │ ‾‾‾ Type integer coming from expression: -┌─⯈ tests/test_typing/bad/common.catala_en:12.18-25 +┌─⯈ tests/test_typing/bad/common.catala_en:12.18-25: └──┐ - │ 12 │ input x content integer │ ‾‾‾‾‾‾‾ diff --git a/tests/test_variable_state/bad/def_no_state.catala_en b/tests/test_variable_state/bad/def_no_state.catala_en index 8d20b28e..9cff6608 100644 --- a/tests/test_variable_state/bad/def_no_state.catala_en +++ b/tests/test_variable_state/bad/def_no_state.catala_en @@ -14,17 +14,15 @@ scope A: $ catala Typecheck [ERROR] This definition does not indicate which state has to be considered for variable foo. -┌─⯈ tests/test_variable_state/bad/def_no_state.catala_en:10.13-16 +┌─⯈ tests/test_variable_state/bad/def_no_state.catala_en:10.13-16: └──┐ - │ 10 │ definition foo equals 2 │ ‾‾‾ └─ Test Variable declaration: -┌─⯈ tests/test_variable_state/bad/def_no_state.catala_en:5.9-12 +┌─⯈ tests/test_variable_state/bad/def_no_state.catala_en:5.9-12: └─┐ - │ 5 │ output foo content integer │ ‾‾‾ └─ Test diff --git a/tests/test_variable_state/bad/no_cross_exceptions.catala_en b/tests/test_variable_state/bad/no_cross_exceptions.catala_en index 41cd1ef5..0c9c3eea 100644 --- a/tests/test_variable_state/bad/no_cross_exceptions.catala_en +++ b/tests/test_variable_state/bad/no_cross_exceptions.catala_en @@ -18,9 +18,8 @@ scope A: $ catala Typecheck [ERROR] Unknown label for the scope variable foo.baz: "thing" -┌─⯈ tests/test_variable_state/bad/no_cross_exceptions.catala_en:14.12-17 +┌─⯈ tests/test_variable_state/bad/no_cross_exceptions.catala_en:14.12-17: └──┐ - │ 14 │ exception thing definition foo state baz under condition true consequence equals 3 │ ‾‾‾‾‾ └─ Test diff --git a/tests/test_variable_state/bad/self_reference_first_state.catala_en b/tests/test_variable_state/bad/self_reference_first_state.catala_en index 4f429196..1727413c 100644 --- a/tests/test_variable_state/bad/self_reference_first_state.catala_en +++ b/tests/test_variable_state/bad/self_reference_first_state.catala_en @@ -16,9 +16,8 @@ scope A: $ catala Typecheck [ERROR] It is impossible to refer to the variable you are defining when defining its first state. -┌─⯈ tests/test_variable_state/bad/self_reference_first_state.catala_en:10.34-37 +┌─⯈ tests/test_variable_state/bad/self_reference_first_state.catala_en:10.34-37: └──┐ - │ 10 │ definition foo state bar equals foo + 1 │ ‾‾‾ └─ Test diff --git a/tests/test_variable_state/bad/state_cycle.catala_en b/tests/test_variable_state/bad/state_cycle.catala_en index 67772797..9e4821f9 100644 --- a/tests/test_variable_state/bad/state_cycle.catala_en +++ b/tests/test_variable_state/bad/state_cycle.catala_en @@ -24,65 +24,57 @@ $ catala Typecheck [ERROR] Cyclic dependency detected between variables of scope A! Cycle variable foofoo.bar, declared: -┌─⯈ tests/test_variable_state/bad/state_cycle.catala_en:9.10-13 +┌─⯈ tests/test_variable_state/bad/state_cycle.catala_en:9.10-13: └─┐ - │ 9 │ state bar │ ‾‾‾ └─ Test Used here in the definition of another cycle variable foofoo.baz: -┌─⯈ tests/test_variable_state/bad/state_cycle.catala_en:19.37-43 +┌─⯈ tests/test_variable_state/bad/state_cycle.catala_en:19.37-43: └──┐ - │ 19 │ definition foofoo state baz equals foofoo + 1 │ ‾‾‾‾‾‾ └─ Test Cycle variable foofoo.baz, declared: -┌─⯈ tests/test_variable_state/bad/state_cycle.catala_en:10.10-13 +┌─⯈ tests/test_variable_state/bad/state_cycle.catala_en:10.10-13: └──┐ - │ 10 │ state baz │ ‾‾‾ └─ Test Used here in the definition of another cycle variable foo.bar: -┌─⯈ tests/test_variable_state/bad/state_cycle.catala_en:13.34-40 +┌─⯈ tests/test_variable_state/bad/state_cycle.catala_en:13.34-40: └──┐ - │ 13 │ definition foo state bar equals foofoo │ ‾‾‾‾‾‾ └─ Test Cycle variable foo.bar, declared: -┌─⯈ tests/test_variable_state/bad/state_cycle.catala_en:6.10-13 +┌─⯈ tests/test_variable_state/bad/state_cycle.catala_en:6.10-13: └─┐ - │ 6 │ state bar │ ‾‾‾ └─ Test Used here in the definition of another cycle variable foo.baz: -┌─⯈ tests/test_variable_state/bad/state_cycle.catala_en:15.34-37 +┌─⯈ tests/test_variable_state/bad/state_cycle.catala_en:15.34-37: └──┐ - │ 15 │ definition foo state baz equals foo + 1 │ ‾‾‾ └─ Test Cycle variable foo.baz, declared: -┌─⯈ tests/test_variable_state/bad/state_cycle.catala_en:7.10-13 +┌─⯈ tests/test_variable_state/bad/state_cycle.catala_en:7.10-13: └─┐ - │ 7 │ state baz │ ‾‾‾ └─ Test Used here in the definition of another cycle variable foofoo.bar: -┌─⯈ tests/test_variable_state/bad/state_cycle.catala_en:17.37-40 +┌─⯈ tests/test_variable_state/bad/state_cycle.catala_en:17.37-40: └──┐ - │ 17 │ definition foofoo state bar equals foo │ ‾‾‾ └─ Test diff --git a/tests/test_variable_state/bad/unknown_state.catala_en b/tests/test_variable_state/bad/unknown_state.catala_en index de88e288..e13494ae 100644 --- a/tests/test_variable_state/bad/unknown_state.catala_en +++ b/tests/test_variable_state/bad/unknown_state.catala_en @@ -16,17 +16,15 @@ scope A: $ catala Typecheck [ERROR] This identifier is not a state declared for variable foo. -┌─⯈ tests/test_variable_state/bad/unknown_state.catala_en:12.23-27 +┌─⯈ tests/test_variable_state/bad/unknown_state.catala_en:12.23-27: └──┐ - │ 12 │ definition foo state basz equals foo + 1 │ ‾‾‾‾ └─ Test Variable declaration: -┌─⯈ tests/test_variable_state/bad/unknown_state.catala_en:5.9-12 +┌─⯈ tests/test_variable_state/bad/unknown_state.catala_en:5.9-12: └─┐ - │ 5 │ output foo content integer │ ‾‾‾ └─ Test