elixir-cldr / cldr

Elixir implementation of CLDR/ICU
Other
451 stars 34 forks source link

compile failed with ex_cldr 1.8.2 #97

Closed nhutdinh closed 5 years ago

nhutdinh commented 5 years ago

I got this error when running mix compile: I'm using: ex_cldr 1.8.2, Elixir: 1.6.5, erlang 20.2

== Compilation error in file lib/cldr/language_tag/rfc5646_parser.ex ==
** (FunctionClauseError) no function clause matching in NimbleParsec.lookahead/2

    The following arguments were given to NimbleParsec.lookahead/2:

        # 1
        [choice: [[{:label, [{:traverse, [{:label, [choice: [[{:traverse, [{:traverse, [{:traverse, [{:bin_segment, [97..122, 65..90], [], [:integer]}, {:bin_segment, [97..122, 65..90], [], [:integer]}, {:bin_segment, [97..122, 65..90], [], [:integer]}, {:bin_segment, [97..122, 65..90], [], [:integer]}, {:bin_segment, [97..122, 65..90], [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [5, {:integer, [], NimbleParsec}]}]}, {:times, [{:bin_segment, [97..122, 65..90], [], [:integer]}], 0, 3}], :post, [{NimbleParsec, :__runtime_string__, [5, 8, {:integer, [], NimbleParsec}]}]}], :post, [{NimbleParsec, :__unwrap_and_tag__, [:language]}]}], [{:traverse, [{:traverse, [{:bin_segment, [97..122, 65..90], [], [:integer]}, {:bin_segment, [97..122, 65..90], [], [:integer]}, {:bin_segment, [97..122, 65..90], [], [:integer]}, {:bin_segment, [97..122, 65..90], [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [4, {:integer, [], NimbleParsec}]}]}], :post, [{NimbleParsec, :__unwrap_and_tag__, [:language]}]}], [{:label, [{:traverse, [{:traverse, [{:traverse, [{:bin_segment, [97..122, 65..90], [], [:integer]}, {:bin_segment, [97..122, 65..90], [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [2, {:integer, [], NimbleParsec}]}]}, {:times, [{:bin_segment, [97..122, 65..90], [], [:integer]}], 0, 1}], :post, [{NimbleParsec, :__runtime_string__, [2, 3, {:integer, [], NimbleParsec}]}]}], :post, [{NimbleParsec, :__unwrap_and_tag__, [:language]}]}, {:choice, [[{:traverse, [{:traverse, [{:bin_segment, '-', [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [1, {:integer, [], NimbleParsec}]}]}], :constant, [{NimbleParsec, :__constant__, [[]]}]}, {:label, [choice: [[{:label, [{:traverse, [{:traverse, [{:bin_segment, [97..122, 65..90], [], [:integer]}, {:bin_segment, [97..122, 65..90], [], [:integer]}, {:bin_segment, [97..122, 65..90], [], [:integer]}, {:bin_segment, [97..122, 65..90], [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [4, {:integer, [], NimbleParsec}]}]}], :post, [{NimbleParsec, :__unwrap_and_tag__, [:script]}]}], "a script id of four alphabetic character"}], [{:traverse, [{:traverse, [{:bin_segment, [97..122, 65..90], [], [:integer]}, {:bin_segment, [97..122, 65..90], [], [:integer]}, {:bin_segment, [97..122, 65..90], [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [3, {:integer, [], NimbleParsec}]}]}, {:traverse, [{:traverse, [{:bin_segment, '-', [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [1, {:integer, [], ...}]}]}], :constant, [{NimbleParsec, :__constant__, [[]]}]}, {:traverse, [{:bin_segment, [97..122, 65..90], [], [:integer]}, {:bin_segment, [97..122, 65..90], [], [:integer]}, {:bin_segment, [97..122, 65..90], [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [3, {:integer, [], NimbleParsec}]}]}, {:traverse, [{:traverse, [{:bin_segment, '-', [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [1, {...}]}]}], :constant, [{NimbleParsec, :__constant__, [[]]}]}, {:traverse, [{:bin_segment, [97..122, 65..90], [], [:integer]}, {:bin_segment, [97..122, 65..90], [], [:integer]}, {:bin_segment, [97..122, 65..90], [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [3, {:integer, [], ...}]}]}], :post, [{NimbleParsec, :__tag__, [:language_subtags]}]}, {:traverse, [{:traverse, [{:bin_segment, '-', [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [1, {:integer, [], NimbleParsec}]}]}], :constant, [{NimbleParsec, :__constant__, [[]]}]}, {:label, [{:traverse, [{:traverse, [{:bin_segment, [97..122, 65..90], [], [:integer]}, {:bin_segment, [97..122, 65..90], [], [:integer]}, {:bin_segment, [97..122, 65..90], [],[:integer]}, {:bin_segment, [97..122, 65..90], [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [4, {:integer, ...}]}]}], :post, [{NimbleParsec, :__unwrap_and_tag__, [:script]}]}], "a script id of four alphabetic character"}], [{:traverse, [{:traverse, [{:bin_segment, [97..122, 65..90], [], [:integer]}, {:bin_segment, [97..122, 65..90], [], [:integer]}, {:bin_segment, [97..122, 65..90], [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [3, {:integer, [], NimbleParsec}]}]}, {:traverse, [{:traverse, [{:bin_segment, '-', [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [1,{:integer, ...}]}]}], :constant, [{NimbleParsec, :__constant__, [[]]}]}, {:traverse, [{:bin_segment, [97..122, 65..90], [], [:integer]}, {:bin_segment, [97..122, 65..90], [], [:integer]}, {:bin_segment, [97..122, 65..90], [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [3, {:integer, [], NimbleParsec}]}]}], :post, [{NimbleParsec, :__tag__, [:language_subtags]}]}, {:traverse, [{:traverse, [{:bin_segment, '-', [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [1, {:integer, [], NimbleParsec}]}]}], :constant, [{NimbleParsec, :__constant__, [[]]}]}, {:label, [{:traverse, [{:traverse, [{:bin_segment, [97..122, 65..90], [], [:integer]}, {:bin_segment, [97..122, 65..90], [], [:integer]}, {:bin_segment, [97..122, 65..90], [], [:integer]}, {:bin_segment, [97..122, 65..90], [], [...]}], :post, [{NimbleParsec, :__compile_string__, [4, {...}]}]}], :post, [{NimbleParsec, :__unwrap_and_tag__, [:script]}]}], "a script id of four alphabetic character"}], [{:traverse, [{:traverse, [{:bin_segment, [97..122, 65..90], [], [:integer]}, {:bin_segment, [97..122, 65..90], [], [:integer]}, {:bin_segment, [97..122, 65..90], [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [3, {:integer, [], NimbleParsec}]}]}, {:traverse, [{:traverse, [{:bin_segment, '-', [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [1, {...}]}]}], :constant, [{NimbleParsec, :__constant__, [[]]}]}], :post, [{NimbleParsec, :__tag__, [:language_subtags]}]}, {:label, [{:traverse, [{:traverse, [{:bin_segment, [97..122, 65..90], [], [:integer]}, {:bin_segment, [97..122, 65..90], [], [:integer]}, {:bin_segment, [97..122, 65..90], [], [:integer]}, {:bin_segment, [97..122, 65..90], [], [...]}], :post, [{NimbleParsec, :__compile_string__, [4, {...}]}]}], :post, [{NimbleParsec, :__unwrap_and_tag__, [:script]}]}], "a script id of four alphabetic character"}], [{:traverse, [{:bin_segment, [97..122, 65..90], [], [:integer]}, {:bin_segment, [97..122, 65..90], [], [:integer]}, {:bin_segment, [97..122, 65..90], [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [3, {:integer, [], NimbleParsec}]}]}, {:traverse, [{:traverse, [{:bin_segment, '-', [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [1, {:integer, [], ...}]}]}], :constant, [{NimbleParsec, :__constant__, [[]]}]}, {:traverse, [{:bin_segment, [97..122, 65..90], [], [:integer]}, {:bin_segment, [97..122, 65..90], [], [:integer]}, {:bin_segment, [97..122, 65..90], [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [3, {:integer, [], NimbleParsec}]}]}, {:traverse, [{:traverse, [{:bin_segment, '-', [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [1, {...}]}]}], :constant, [{NimbleParsec, :__constant__, [[]]}]}, {:traverse, [{:bin_segment, [97..122, 65..90], [], [:integer]}, {:bin_segment, [97..122, 65..90], [], [:integer]}, {:bin_segment, [97..122, 65..90], [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [3, {:integer, [], ...}]}]}], [{:traverse, [{:bin_segment, [97..122, 65..90], [], [:integer]}, {:bin_segment, [97..122, 65..90], [], [:integer]}, {:bin_segment, [97..122, 65..90], [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [3, {:integer, [], NimbleParsec}]}]}, {:traverse, [{:traverse, [{:bin_segment, '-', [],[:integer]}], :post, [{NimbleParsec, :__compile_string__, [1, {:integer, ...}]}]}], :constant, [{NimbleParsec, :__constant__, [[]]}]}, {:traverse, [{:bin_segment, [97..122, 65..90], [], [:integer]}, {:bin_segment, [97..122, 65..90], [], [:integer]}, {:bin_segment, [97..122, 65..90], [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [3, {:integer, [], NimbleParsec}]}]}], [{:traverse, [{:traverse, [{:bin_segment, [97..122, 65..90], [], [:integer]}, {:bin_segment, [97..122, 65..90], [], [:integer]}, {:bin_segment, [97..122, 65..90], [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [3, {:integer, ...}]}]}], :post, [{NimbleParsec, :__tag__, [:language_subtags]}]}]]], "an ISO-639 language code of between one and three three alphabetic characters"}], []]}], "an ISO-639 language code of two or three alphabetic characters"}]]], "an ISO-639 country code or between 4 and 8 alphabetic characters"}, {:choice, [[{:traverse, [{:traverse, [{:bin_segment, '-', [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [1, {:integer, [], NimbleParsec}]}]}], :constant, [{NimbleParsec, :__constant__, [[]]}]}, {:label, [{:traverse, [{:traverse, [{:bin_segment, [97..122, 65..90], [], [:integer]}, {:bin_segment, [97..122, 65..90], [], [:integer]}, {:bin_segment, [97..122, 65..90], [], [:integer]}, {:bin_segment, [97..122, 65..90], [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [4, {:integer,[], NimbleParsec}]}]}], :post, [{NimbleParsec, :__unwrap_and_tag__, [:script]}]}], "a script id of four alphabetic character"}], []]}, {:repeat, [{:traverse, [{:traverse, [{:bin_segment, '-', [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [1, {:integer, [], NimbleParsec}]}]}], :constant, [{NimbleParsec, :__constant__, [[]]}]}, {:label, [{:traverse, [choice: [[{:traverse, [{:traverse, [{:bin_segment, [97..122, 65..90, 48..57], [], [:integer]}, {:bin_segment, [97..122, 65..90, 48..57], [], [:integer]}, {:bin_segment, [97..122, 65..90, 48..57], [], [:integer]}, {:bin_segment, [97..122, 65..90, 48..57], [], [:integer]}, {:bin_segment, [97..122, 65..90, 48..57], [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [5, {:integer, [], NimbleParsec}]}]}, {:times, [{:bin_segment, [97..122, 65..90, 48..57], [], [:integer]}], 0, 3}], :post, [{NimbleParsec, :__runtime_string__, [5, 8, {:integer, [], NimbleParsec}]}]}], [{:traverse, [{:traverse, [{:bin_segment, [48..57], [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [1, {:integer, [], NimbleParsec}]}]}, {:traverse, [{:bin_segment, [97..122, 65..90, 48..57], [], [:integer]}, {:bin_segment, [97..122, 65..90, 48..57], [], [:integer]}, {:bin_segment, [97..122, 65..90, 48..57], [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [3, {:integer, [], NimbleParsec}]}]}], :post, [{NimbleParsec, :__reduce__, [{Enum, :join, []}]}]}]]], :post, [{NimbleParsec, :__unwrap_and_tag__, [:language_variant]}]}], "a language variant code of five to eight alphabetic character or a single digit plus three alphanumeric characters"}], {NimbleParsec, :__cont_context__, []}}, {:choice, [[{:traverse, [{:traverse, [{:bin_segment, '-', [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [1, {:integer, [], NimbleParsec}]}]}], :constant, [{NimbleParsec, :__constant__, [[]]}]}, {:label, [{:traverse, [choice: [[{:traverse, [{:bin_segment, [97..122, 65..90], [], [:integer]}, {:bin_segment, [97..122, 65..90], [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [2, {:integer, [], NimbleParsec}]}]}], [{:traverse, [{:bin_segment, [48..57], [], [:integer]}, {:bin_segment, [48..57], [], [:integer]}, {:bin_segment, [48..57], [], [:integer]}], :post, [{NimbleParsec, :__compile_integer__, [3]}]}]]], :post, [{NimbleParsec, :__unwrap_and_tag__, [:territory]}]}], "a territory code of two alphabetic character ISO-3166-1 code or a three digit UN M.49 code"}],[]]}, {:repeat, [{:traverse, [{:traverse, [{:bin_segment, '-', [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [1, {:integer, [], NimbleParsec}]}]}], :constant, [{NimbleParsec, :__constant__, [[]]}]}, {:label, [{:traverse, [choice: [[{:traverse, [{:traverse, [{:bin_segment, [97..122, 65..90, 48..57], [], [:integer]}, {:bin_segment, [97..122, 65..90, 48..57], [], [:integer]}, {:bin_segment, [97..122, 65..90, 48..57], [], [:integer]}, {:bin_segment, [97..122, 65..90, 48..57], [], [:integer]}, {:bin_segment, [97..122, 65..90, 48..57], [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [5, {:integer, [], NimbleParsec}]}]}, {:times, [{:bin_segment, [97..122, 65..90, 48..57], [], [:integer]}], 0, 3}], :post, [{NimbleParsec, :__runtime_string__, [5, 8, {:integer, [], NimbleParsec}]}]}], [{:traverse, [{:traverse, [{:bin_segment, [48..57], [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [1, {:integer, [], NimbleParsec}]}]}, {:traverse, [{:bin_segment, [97..122, 65..90, 48..57], [], [:integer]}, {:bin_segment, [97..122, 65..90, 48..57], [], [:integer]}, {:bin_segment, [97..122, 65..90, 48..57], [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [3, {:integer, [], NimbleParsec}]}]}], :post, [{NimbleParsec, :__reduce__, [{Enum, :join, []}]}]}]]], :post, [{NimbleParsec, :__unwrap_and_tag__, [:language_variant]}]}], "a language variant code of five to eight alphabetic character or a single digit plus three alphanumeric characters"}], {NimbleParsec, :__cont_context__, []}}, {:repeat, [{:traverse, [{:traverse, [{:traverse, [{:bin_segment, '-', [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [1, {:integer, [], NimbleParsec}]}]}], :constant, [{NimbleParsec, :__constant__, [[]]}]}, {:choice, [[{:label, [{:traverse, [{:traverse, [{:traverse, [{:traverse, [{:bin_segment,'uU', [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [1, {:integer, [], NimbleParsec}]}]}], :constant, [{NimbleParsec, :__constant__, [[]]}]}, {:choice, [[{:traverse, [{:traverse, [{:traverse, [{:bin_segment, '-', ...}], :post, [{...}]}], :constant, [{NimbleParsec, :__constant__, [...]}]}, {:traverse, [{:traverse, [{:bin_segment, ...}, {...}, ...], :post, [...]}, {:times, [{...}], 0, ...}], :post, [{NimbleParsec, :__runtime_string__, ...}]}, {:repeat, [{:traverse, [{...}], :constant, ...}, {:traverse, [...], ...}], {NimbleParsec, :__cont_context__, []}}], :post, [{NimbleParsec, :__tag__, [:attributes]}]}, {:traverse, [{:repeat, [{:traverse, [{:traverse, ...}], :constant, [...]}, {:label, [{...}, ...], "a valid keyword or keyword-type pair"}], {NimbleParsec, :__cont_context__, []}}], :post, [{NimbleParsec, :__reduce__, [:collapse_keywords]}]}], [{:traverse, [{:repeat, [{:traverse, [{:traverse, ...}], :constant, [...]}, {:label, [{...}, ...], "a valid keyword or keyword-type pair"}], {NimbleParsec, :__cont_context__, []}}], :post, [{NimbleParsec, :__reduce__, [:collapse_keywords]}]}]]}], :post, [{NimbleParsec, :__reduce__, [:combine_attributes_and_keywords]}]}], :post, [{NimbleParsec, :__unwrap_and_tag__, [:locale]}]}], "a BCP-47 language tag locale extension"}], [{:label, [{:traverse, [{:traverse, [{:traverse, [{:traverse, [{:bin_segment, 'tT', [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [1, {:integer, [], ...}]}]}], :constant, [{NimbleParsec, :__constant__, [[]]}]}, {:traverse, [{:traverse, [{:bin_segment, '-', [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [1, {:integer, ...}]}]}], :constant, [{NimbleParsec, :__constant__, [[]]}]}, {:label, [{:label, [{:traverse, [{:traverse, [{:bin_segment, ...}, {...}], :post, [...]}], :post, [{NimbleParsec, :__unwrap_and_tag__, ...}]}], "a key of two alphanumeric characters"}, {:choice, [[{:traverse, [{:traverse, [...], ...}], :constant, [{...}]}, {:label, [{:traverse, ...}, {...}], "a type that is one or more three to eight alphanumeric characters separated by a dash"}], []]}], "a valid keyword or keyword-type pair"}], :post, [{NimbleParsec, :__reduce__, [:collapse_keywords]}]}, {:repeat, [{:traverse, [{:traverse, [{:traverse, [{:bin_segment, 'tT', [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [...]}]}], :constant, [{NimbleParsec, :__constant__, [[]]}]}, {:traverse, [{:traverse, [{:bin_segment, '-', [], [...]}], :post, [{NimbleParsec, :__compile_string__, ...}]}], :constant, [{NimbleParsec, :__constant__, [[]]}]}, {:label, [{:label, [{:traverse, [{...}], :post, ...}], "a key of two alphanumeric characters"}, {:choice, [[{:traverse, ...}, {...}], []]}], "a valid keyword or keyword-type pair"}], :post, [{NimbleParsec, :__reduce__, [:collapse_keywords]}]}], {NimbleParsec, :__cont_context__, []}}], :post, [{NimbleParsec,:__unwrap_and_tag__, [:transform]}]}], "a BCP-47 language tag transform extension"}], [{:label, [{:traverse, [{:traverse, [{:traverse, [{:label, [{:traverse, [{:bin_segment, [48..57, 97..115, 65..83, ...], [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [...]}]}], "a single alphanumeric character that is not 'x', 'u' or 't'"}], :post, [{NimbleParsec, :__unwrap_and_tag__, [:type]}]}, {:traverse, [{:traverse, [{:traverse, [{:bin_segment, '-', [], [...]}], :post, [{NimbleParsec, :__compile_string__, ...}]}], :constant, [{NimbleParsec, :__constant__, [[]]}]}, {:traverse, [{:traverse, [{:bin_segment, [97..122, ...], [], ...}, {:bin_segment, [...], ...}], :post, [{NimbleParsec, ...}]}, {:times, [{:bin_segment, [...], ...}], 0, 6}], :post, [{NimbleParsec, :__runtime_string__, [2, ...]}]}], :post, [{NimbleParsec, :__unwrap_and_tag__, [:attribute]}]}, {:repeat, [{:traverse, [{:traverse, [{:traverse, [{...}], :post, ...}], :constant, [{NimbleParsec, ...}]}, {:traverse, [{:traverse, [...], ...}, {:times, ...}], :post, [{...}]}], :post, [{NimbleParsec, :__unwrap_and_tag__, [:attribute]}]}], {NimbleParsec, :__cont_context__, []}}], :post, [{NimbleParsec, :__reduce__, [:collapse_extension]}]}], :post, [{NimbleParsec, :__unwrap_and_tag__, [:extension]}]}], "a valid BCP-47 language tag extension"}]]}], :post, [{NimbleParsec, :__reduce__, [:collapse_extensions]}]}], {NimbleParsec, :__cont_context__, []}}, {:choice, [[{:traverse, [{:traverse, [{:bin_segment, '-', [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [1, {:integer, [], NimbleParsec}]}]}], :constant, [{NimbleParsec, :__constant__, [[]]}]}, {:label, [{:traverse, [{:traverse, [{:traverse, [{:bin_segment, 'xX', [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [1, {:integer, [], NimbleParsec}]}]}], :constant, [{NimbleParsec, :__constant__, [[]]}]}, {:traverse, [{:traverse, [{:bin_segment, '-', [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [1, {:integer, [], NimbleParsec}]}]}], :constant, [{NimbleParsec, :__constant__, [[]]}]}, {:traverse, [{:traverse, [{:bin_segment, [97..122, 65..90, 48..57], [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [1, {:integer, [], NimbleParsec}]}]}, {:times, [{:bin_segment, [97..122, 65..90, 48..57], [], [:integer]}], 0, 7}], :post, [{NimbleParsec, :__runtime_string__, [1, 8, {:integer, [], NimbleParsec}]}]}, {:repeat, [{:traverse, [{:traverse, [{:bin_segment, '-', [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [1, {:integer, [], NimbleParsec}]}]}], :constant, [{NimbleParsec, :__constant__, [[]]}]}, {:traverse, [{:traverse, [{:bin_segment, [97..122, 65..90, 48..57], [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [1, {:integer, [], NimbleParsec}]}]}, {:times, [{:bin_segment, [97..122, 65..90, 48..57], [], [:integer]}], 0, 7}], :post, [{NimbleParsec, :__runtime_string__, [1, 8, {:integer, [], NimbleParsec}]}]}], {NimbleParsec, :__cont_context__, []}}], :post, [{NimbleParsec, :__tag__, [:private_use]}]}], "an 'x' representing a private use tag"}], []]}], :post, [{NimbleParsec, :__post_traverse__, [flatten: []]}]}], "a valid BCP-47 language tag"}], [{:label, [{:traverse, [{:traverse, [{:traverse, [{:bin_segment, 'xX', [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [1, {:integer, [], NimbleParsec}]}]}], :constant, [{NimbleParsec, :__constant__, [[]]}]}, {:traverse, [{:traverse, [{:bin_segment, '-', [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [1, {:integer, [], NimbleParsec}]}]}], :constant, [{NimbleParsec, :__constant__, [[]]}]}, {:traverse, [{:traverse, [{:bin_segment, [97..122, 65..90, 48..57], [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [1, {:integer, [], NimbleParsec}]}]}, {:times, [{:bin_segment, [97..122, 65..90, 48..57], [], [:integer]}], 0, 7}], :post, [{NimbleParsec, :__runtime_string__, [1, 8, {:integer, [], NimbleParsec}]}]}, {:repeat, [{:traverse, [{:traverse, [{:bin_segment, '-', [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [1, {:integer, [], NimbleParsec}]}]}], :constant, [{NimbleParsec, :__constant__, [[]]}]}, {:traverse, [{:traverse, [{:bin_segment, [97..122, 65..90, 48..57], [], [:integer]}], :post, [{NimbleParsec, :__compile_string__, [1, {:integer, [], NimbleParsec}]}]}, {:times,[{:bin_segment, [97..122, 65..90, 48..57], [], [:integer]}], 0, 7}], :post, [{NimbleParsec, :__runtime_string__, [1, 8, {:integer, [], NimbleParsec}]}]}], {NimbleParsec, :__cont_context__, []}}], :post, [{NimbleParsec, :__tag__, [:private_use]}]}], "an 'x' representing a private use tag"}], [{:label, [{:traverse, [choice: [[{:label, [{:traverse, [choice: [[string: "en-GB-oed"], [string: "i-ami"], [string: "i-bnn"], [string: "i-default"], [string: "i-enochian"], [string: "i-hak"], [string: "i-klingon"], [string: "i-lux"], [string: "i-mingo"], [string: "i-navajo"], [string: "i-pwn"], [string: "i-tao"], [string: "i-tay"], [string: "i-tsu"], [string: "sgn-BE-FR"], [string: "sgn-BE-NL"], [string: "sgn-CH-DE"]]], :post, [{NimbleParsec, :__unwrap_and_tag__, [:irregular]}]}], "one of the irregular language tags in BCP-47"}], [{:label, [{:traverse, [choice: [[string: "art-lojban"], [string: "cel-gaulish"], [string: "no-bok"], [string: "no-nyn"], [string: "zh-guoyu"], [string: "zh-hakka"], [string: "zh-min"], [string: "zh-min-nan"], [string: "zh-xiang"]]], :post, [{NimbleParsec, :__unwrap_and_tag__, [:regular]}]}], "one of the regular language tags in BCP-47"}]]], :post, [{NimbleParsec, :__tag__, [:grandfathered]}]}], "a grandfathered language tag"}]]]

        # 2
        :error_on_remaining

    Attempted function clauses (showing 1 out of 1):

        def lookahead(combinator, to_lookahead) when is_list(combinator) and is_list(to_lookahead)

    lib/nimble_parsec.ex:849: NimbleParsec.lookahead/2
    lib/cldr/language_tag/rfc5646_parser.ex:31: (module)
    (stdlib) erl_eval.erl:670: :erl_eval.do_apply/6
could not compile dependency :ex_cldr, "mix compile" failed. You can recompile this dependency with "mix deps.compile ex_cldr", update it with "mix deps.update ex_cldr" or clean it with "mix deps.clean ex_cldr"
nhutdinh commented 5 years ago

I found the reason. It's due to nimble_parsec 0.5. I downgrade nimble_parsec to 0.4.0 and it works again.

kipcole9 commented 5 years ago

Yes, you are right, nimble_parsec 0.5 has some incompatible changes. I have updated ex_cldr master to reflect these changes however makeup, a dependency used in ex_doc, also needs to be updated.

For now I regret pinning nimble_parsec to 0.4 is the best solution. As soon as makeup is updated (I know its in progress) I will be able to release a new version of ex_cldr.

kipcole9 commented 5 years ago

I have just pushed ex_cldr version 2.2.0 which now requires nimble_parsec 0.5.0.