Build log
nerves_system_rpi4
sitesx 0.11.0 · fail · run sitesx-0.11.0-1791103582716
1645 of 1645 lines
1Resolving Hex dependencies...2Resolution completed in 0.184s3Unchanged:4 certifi 2.3.15 chexes 0.1.56 circular_buffer 1.1.07 combine 0.10.08 con_cache 0.14.09 decimal 1.9.0 VULNERABLE!10 EEF-CVE-2026-32686 (MEDIUM)11 aka: CVE-2026-32686, GHSA-rhv4-8758-jx7v12 Unbounded exponent in decimal enables unauthenticated DoS13 https://osv.dev/vulnerability/EEF-CVE-2026-3268614 ecto 2.2.1215 elixir_make 0.10.016 expo 1.1.117 gettext 0.26.218 hackney 1.13.0 VULNERABLE!19 GHSA-vq52-99r9-h5pw (LOW)20 aka: CVE-2025-121121 Server-side Request Forgery (SSRF) in hackney22 https://osv.dev/vulnerability/GHSA-vq52-99r9-h5pw2324 EEF-CVE-2026-47075 (MEDIUM)25 aka: CVE-2026-47075, GHSA-j9wq-vxxc-94wf26 CR/LF injection in query parameter in hackney27 https://osv.dev/vulnerability/EEF-CVE-2026-470752829 EEF-CVE-2026-47071 (HIGH)30 aka: CVE-2026-47071, GHSA-gp9c-pm5m-5cxr31 SOCKS5 TLS upgrade ignores caller timeout in hackney32 https://osv.dev/vulnerability/EEF-CVE-2026-470713334 EEF-CVE-2026-47076 (MEDIUM)35 aka: CVE-2026-47076, GHSA-pj7v-xfvx-wmjq36 SSRF allowlist bypass via percent-encoded host in hackney37 https://osv.dev/vulnerability/EEF-CVE-2026-470763839 EEF-CVE-2026-47069 (LOW)40 aka: CVE-2026-47069, GHSA-mp55-p8c9-rfw241 CRLF injection in cookie domain/path options in hackney42 https://osv.dev/vulnerability/EEF-CVE-2026-470694344 GHSA-9fm9-hp7p-53mf (LOW)45 aka: CVE-2025-386446 Hackney fails to properly release HTTP connections to the pool47 https://osv.dev/vulnerability/GHSA-9fm9-hp7p-53mf48 httpoison 0.13.049 idna 5.1.250 interactive_cmd 0.1.451 metrics 1.0.152 mime 2.0.753 mimerl 1.0.254 nerves 2.0.0-pre.255 nerves_discovery 0.1.556 nerves_logging 0.2.457 nerves_runtime 0.13.1358 nerves_system_bbb 2.30.259 nerves_system_br 1.34.460 nerves_system_mangopi_mq_pro 0.17.261 nerves_system_qemu_aarch64 0.4.262 nerves_system_rpi0 2.1.263 nerves_system_rpi4 2.1.264 nerves_system_rpi5 2.1.265 nerves_system_trellis 0.5.066 nerves_system_x86_64 1.34.267 nerves_toolchain_aarch64_nerves_linux_gnu 15.3.168 nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.169 nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.170 nerves_toolchain_riscv64_nerves_linux_gnu 15.3.171 nerves_toolchain_x86_64_nerves_linux_musl 15.3.172 nerves_uevent 0.1.773 parse_trans 3.2.074 phoenix_html_simplified_helpers 1.3.275 plug 1.20.376 plug_crypto 2.2.077 poison 3.1.078 poolboy 1.5.279 property_table 0.3.480 public_suffix 0.6.081 ring_logger 0.11.782 sitesx 0.11.083 ssl_verify_fun 1.1.184 tablet 0.3.385 telemetry 1.4.286 timex 3.7.787 toolshed 0.5.088 tzdata 1.0.589 uboot_env 1.0.290 unicode_util_compat 0.3.191* Getting sitesx (Hex package)92* Getting nerves (Hex package)93* Getting ring_logger (Hex package)94* Getting toolshed (Hex package)95* Getting nerves_runtime (Hex package)96* Getting nerves_system_bbb (Hex package)97* Getting nerves_system_mangopi_mq_pro (Hex package)98* Getting nerves_system_qemu_aarch64 (Hex package)99* Getting nerves_system_rpi0 (Hex package)100* Getting nerves_system_rpi4 (Hex package)101* Getting nerves_system_rpi5 (Hex package)102* Getting nerves_system_trellis (Hex package)103* Getting nerves_system_x86_64 (Hex package)104* Getting nerves_system_br (Hex package)105* Getting nerves_toolchain_x86_64_nerves_linux_musl (Hex package)106* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)107* Getting nerves_toolchain_aarch64_nerves_linux_gnu (Hex package)108* Getting nerves_toolchain_armv6_nerves_linux_gnueabihf (Hex package)109* Getting nerves_toolchain_riscv64_nerves_linux_gnu (Hex package)110* Getting nerves_logging (Hex package)111* Getting nerves_uevent (Hex package)112* Getting uboot_env (Hex package)113* Getting elixir_make (Hex package)114* Getting property_table (Hex package)115* Getting circular_buffer (Hex package)116* Getting interactive_cmd (Hex package)117* Getting nerves_discovery (Hex package)118* Getting tablet (Hex package)119* Getting chexes (Hex package)120* Getting con_cache (Hex package)121* Getting ecto (Hex package)122* Getting httpoison (Hex package)123* Getting phoenix_html_simplified_helpers (Hex package)124* Getting plug (Hex package)125* Getting poison (Hex package)126* Getting public_suffix (Hex package)127* Getting idna (Hex package)128* Getting unicode_util_compat (Hex package)129* Getting mime (Hex package)130* Getting plug_crypto (Hex package)131* Getting telemetry (Hex package)132* Getting gettext (Hex package)133* Getting timex (Hex package)134* Getting combine (Hex package)135* Getting tzdata (Hex package)136* Getting hackney (Hex package)137* Getting certifi (Hex package)138* Getting metrics (Hex package)139* Getting mimerl (Hex package)140* Getting ssl_verify_fun (Hex package)141* Getting parse_trans (Hex package)142* Getting expo (Hex package)143* Getting decimal (Hex package)144* Getting poolboy (Hex package)145Found packages with security advisories, see above for details146 warning: String.strip/1 is deprecated. Use String.trim/1 instead147 │148 4 │ @version File.read!("VERSION") |> String.strip149 │ ~150 │151 └─ /work/proj/deps_rpi4/poison/mix.exs:4:44: Poison.Mixfile (module)152153 warning: found quoted keyword "test" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes154 │155 70 │ ["test": ["ecto.drop --quiet", "ecto.create", "ecto.migrate", "run priv/repo/seeds.exs", "test"]]156 │ ~157 │158 └─ /work/proj/deps_rpi4/sitesx/mix.exs:70:6159160==> nerves_system_br161Generated nerves_system_br app162==> combine163Compiling 6 files (.ex)164 warning: the variable "n" (context Combine.Parsers.Binary) is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator165 │166 26 │ <<bits::bitstring-size(n), rest::bitstring>> ->167 │ ~168 │169 └─ lib/combine/parsers/binary.ex:26:30: Combine.Parsers.Binary.bits_impl/2170171 warning: the variable "bits_size" (context Combine.Parsers.Binary) is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator172 │173 48 │ <<bits::bitstring-size(bits_size), rest::bitstring>> ->174 │ ~175 │176 └─ lib/combine/parsers/binary.ex:48:30: Combine.Parsers.Binary.bytes_impl/2177178 warning: the variable "size" (context Combine.Parsers.Binary) is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator179 │180 70 │ <<int::big-unsigned-size(size), rest::bitstring>> ->181 │ ~182 │183 └─ lib/combine/parsers/binary.ex:70:36: Combine.Parsers.Binary.uint_impl/3184185 warning: the variable "size" (context Combine.Parsers.Binary) is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator186 │187 77 │ <<int::little-unsigned-size(size), rest::bitstring>> ->188 │ ~189 │190 └─ lib/combine/parsers/binary.ex:77:39: Combine.Parsers.Binary.uint_impl/3191192 warning: the variable "size" (context Combine.Parsers.Binary) is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator193 │194 101 │ <<int::big-signed-size(size), rest::bitstring>> ->195 │ ~196 │197 └─ lib/combine/parsers/binary.ex:101:34: Combine.Parsers.Binary.int_impl/3198199 warning: the variable "size" (context Combine.Parsers.Binary) is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator200 │201 108 │ <<int::little-signed-size(size), rest::bitstring>> ->202 │ ~203 │204 └─ lib/combine/parsers/binary.ex:108:37: Combine.Parsers.Binary.int_impl/3205206 warning: the variable "size" (context Combine.Parsers.Binary) is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator207 │208 128 │ <<num::float-size(size), rest::bitstring>> ->209 │ ~210 │211 └─ lib/combine/parsers/binary.ex:128:25: Combine.Parsers.Binary.float_impl/2212213 warning: the variable "byte_size" (context Combine.Parsers.Text) is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator214 │215 432 │ <<^expected::binary-size(byte_size), rest::binary>> ->216 │ ~217 │218 └─ lib/combine/parsers/text.ex:432:34: Combine.Parsers.Text.string_impl/2219220 warning: the following clause is redundant:221222 defp word_of_impl(%Combine.ParserState{...} = state, _pattern)223224 it has type:225226 dynamic(%Combine.ParserState{status: :ok}), dynamic()227228 previous clauses have already matched on the following types:229230 %Combine.ParserState{status: :error}, term()231 %Combine.ParserState{status: :ok}, term()232233 │234 488 │ defp word_of_impl(%ParserState{status: :ok} = state, _pattern) do235 │ ~236 │237 └─ lib/combine/parsers/text.ex:488:8: Combine.Parsers.Text.word_of_impl/2238239Generated combine app240==> mime241Compiling 1 file (.ex)242Generated mime app243==> circular_buffer244Compiling 1 file (.ex)245Generated circular_buffer app246==> poison247Compiling 4 files (.ex)248 warning: using single-quoted strings to represent charlists is deprecated.249 Use ~c"" if you indeed want a charlist or use "" instead.250 You may run "mix format --migrate" to change all single-quoted251 strings to use the ~c sigil and fix this warning.252 │253 93 │ for {char, seq} <- Enum.zip('"\\\n\t\r\f\b', '"\\ntrfb') do254 │ ~255 │256 └─ lib/poison/encoder.ex:93:31257258 warning: using single-quoted strings to represent charlists is deprecated.259 Use ~c"" if you indeed want a charlist or use "" instead.260 You may run "mix format --migrate" to change all single-quoted261 strings to use the ~c sigil and fix this warning.262 │263 93 │ for {char, seq} <- Enum.zip('"\\\n\t\r\f\b', '"\\ntrfb') do264 │ ~265 │266 └─ lib/poison/encoder.ex:93:48267268 warning: using single-quoted strings to represent charlists is deprecated.269 Use ~c"" if you indeed want a charlist or use "" instead.270 You may run "mix format --migrate" to change all single-quoted271 strings to use the ~c sigil and fix this warning.272 │273 139 │ defp chunk_size(<<char>> <> _, _mode, acc) when char <= 0x1F or char in '"\\' do274 │ ~275 │276 └─ lib/poison/encoder.ex:139:75277278 warning: using single-quoted strings to represent charlists is deprecated.279 Use ~c"" if you indeed want a charlist or use "" instead.280 You may run "mix format --migrate" to change all single-quoted281 strings to use the ~c sigil and fix this warning.282 │283 77 │ defp value(<<char, _ :: binary>> = string, pos, _keys) when char in '-0123456789' do284 │ ~285 │286 └─ lib/poison/parser.ex:77:71287288 warning: using single-quoted strings to represent charlists is deprecated.289 Use ~c"" if you indeed want a charlist or use "" instead.290 You may run "mix format --migrate" to change all single-quoted291 strings to use the ~c sigil and fix this warning.292 │293 155 │ defp number_int(<<char, _ :: binary>> = string, pos, acc) when char in '123456789' do294 │ ~295 │296 └─ lib/poison/parser.ex:155:74297298 warning: using single-quoted strings to represent charlists is deprecated.299 Use ~c"" if you indeed want a charlist or use "" instead.300 You may run "mix format --migrate" to change all single-quoted301 strings to use the ~c sigil and fix this warning.302 │303 171 │ defp number_exp(<<e>> <> rest, frac, pos, acc) when e in 'eE' do304 │ ~305 │306 └─ lib/poison/parser.ex:171:60307308 warning: using single-quoted strings to represent charlists is deprecated.309 Use ~c"" if you indeed want a charlist or use "" instead.310 You may run "mix format --migrate" to change all single-quoted311 strings to use the ~c sigil and fix this warning.312 │313 197 │ defp number_digits(<<char>> <> rest = string, pos) when char in '0123456789' do314 │ ~315 │316 └─ lib/poison/parser.ex:197:67317318 warning: using single-quoted strings to represent charlists is deprecated.319 Use ~c"" if you indeed want a charlist or use "" instead.320 You may run "mix format --migrate" to change all single-quoted321 strings to use the ~c sigil and fix this warning.322 │323 205 │ defp number_digits_count(<<char>> <> rest, acc) when char in '0123456789' do324 │ ~325 │326 └─ lib/poison/parser.ex:205:64327328 warning: using single-quoted strings to represent charlists is deprecated.329 Use ~c"" if you indeed want a charlist or use "" instead.330 You may run "mix format --migrate" to change all single-quoted331 strings to use the ~c sigil and fix this warning.332 │333 229 │ for {seq, char} <- Enum.zip('"\\ntr/fb', '"\\\n\t\r/\f\b') do334 │ ~335 │336 └─ lib/poison/parser.ex:229:31337338 warning: using single-quoted strings to represent charlists is deprecated.339 Use ~c"" if you indeed want a charlist or use "" instead.340 You may run "mix format --migrate" to change all single-quoted341 strings to use the ~c sigil and fix this warning.342 │343 229 │ for {seq, char} <- Enum.zip('"\\ntr/fb', '"\\\n\t\r/\f\b') do344 │ ~345 │346 └─ lib/poison/parser.ex:229:44347348 warning: using single-quoted strings to represent charlists is deprecated.349 Use ~c"" if you indeed want a charlist or use "" instead.350 You may run "mix format --migrate" to change all single-quoted351 strings to use the ~c sigil and fix this warning.352 │353 239 │ when a1 in 'dD' and a2 in 'dD'354 │ ~355 │356 └─ lib/poison/parser.ex:239:16357358 warning: using single-quoted strings to represent charlists is deprecated.359 Use ~c"" if you indeed want a charlist or use "" instead.360 You may run "mix format --migrate" to change all single-quoted361 strings to use the ~c sigil and fix this warning.362 │363 239 │ when a1 in 'dD' and a2 in 'dD'364 │ ~365 │366 └─ lib/poison/parser.ex:239:31367368 warning: using single-quoted strings to represent charlists is deprecated.369 Use ~c"" if you indeed want a charlist or use "" instead.370 You may run "mix format --migrate" to change all single-quoted371 strings to use the ~c sigil and fix this warning.372 │373 240 │ and (b1 in '89abAB')374 │ ~375 │376 └─ lib/poison/parser.ex:240:16377378 warning: using single-quoted strings to represent charlists is deprecated.379 Use ~c"" if you indeed want a charlist or use "" instead.380 You may run "mix format --migrate" to change all single-quoted381 strings to use the ~c sigil and fix this warning.382 │383 274 │ defp skip_whitespace(<<char>> <> rest, pos) when char in '\s\n\t\r' do384 │ ~385 │386 └─ lib/poison/parser.ex:274:60387388 warning: Application.get_env/2 is discouraged in the module body, use Application.compile_env/3 instead389 │390 22 │ if Application.get_env(:poison, :native) do391 │ ~392 │393 └─ lib/poison/parser.ex:22:18: Poison.Parser (module)394395 warning: use Bitwise is deprecated. import Bitwise instead396 │397 26 │ use Bitwise398 │ ~~~~~~~~~~~399 │400 └─ lib/poison/parser.ex:26: Poison.Parser (module)401402 warning: the variable "count" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator403 │404 199 │ <<digits :: binary-size(count), rest :: binary>> = string405 │ ~406 │407 └─ lib/poison/parser.ex:199:29: Poison.Parser.number_digits/2408409 warning: the variable "count" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator410 │411 225 │ <<chunk :: binary-size(count), rest :: binary>> = string412 │ ~413 │414 └─ lib/poison/parser.ex:225:28: Poison.Parser.string_continue/3415416 warning: use Bitwise is deprecated. import Bitwise instead417 │418 83 │ use Bitwise419 │ ~~~~~~~~~~~420 │421 └─ lib/poison/encoder.ex:83: Poison.Encoder.BitString (module)422423 warning: the variable "size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator424 │425 135 │ <<chunk :: binary-size(size), rest :: binary>> = string426 │ ~427 │428 └─ lib/poison/encoder.ex:135:28: Poison.Encoder.BitString.escape/2429430 warning: Integer.to_char_list/2 is deprecated. Use Integer.to_charlist/2 instead431 │432 173 │ case Integer.to_char_list(char, 16) do433 │ ~434 │435 └─ lib/poison/encoder.ex:173:18: Poison.Encoder.BitString.seq/1436437Generated poison app438==> plug_crypto439Compiling 5 files (.ex)440Generated plug_crypto app441==> nerves_compatibility_test442===> Analyzing applications...443===> Compiling mimerl444===> Analyzing applications...445===> Compiling ssl_verify_fun446===> "/work/proj/_build/rpi4/lib/ssl_verify_fun/ebin/ssl_verify_fun.app" is missing description entry447==> chexes448Compiling 2 files (.ex)449 warning: using single-quoted strings to represent charlists is deprecated.450 Use ~c"" if you indeed want a charlist or use "" instead.451 You may run "mix format --migrate" to change all single-quoted452 strings to use the ~c sigil and fix this warning.453 │454 16 │ def blank?(''), do: true455 │ ~456 │457 └─ lib/chexes.ex:16:14458459 warning: using single-quoted strings to represent charlists is deprecated.460 Use ~c"" if you indeed want a charlist or use "" instead.461 You may run "mix format --migrate" to change all single-quoted462 strings to use the ~c sigil and fix this warning.463 │464 17 │ def blank?(' '), do: true465 │ ~466 │467 └─ lib/chexes.ex:17:14468469 warning: the 1st pattern in clause will never match:470471 []472473 because it is expected to receive type:474475 dynamic(%{..., __struct__: String})476477 hint: defimpl for String requires its callbacks to match exclusively on %{..., __struct__: String}478479 type warning found at:480 │481 16 │ def blank?(''), do: true482 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~483 │484 └─ lib/chexes.ex:16: Chexes.String.blank?/1485486 warning: the 1st pattern in clause will never match:487488 ~c" "489490 because it is expected to receive type:491492 dynamic(%{..., __struct__: String})493494 hint: defimpl for String requires its callbacks to match exclusively on %{..., __struct__: String}495496 type warning found at:497 │498 17 │ def blank?(' '), do: true499 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~500 │501 └─ lib/chexes.ex:17: Chexes.String.blank?/1502503Generated chexes app504==> tablet505Compiling 2 files (.ex)506Generated tablet app507==> elixir_make508Compiling 8 files (.ex)509Generated elixir_make app510==> nerves_logging511 CC kmsg_tailer.o512 LD kmsg_tailer513Compiling 5 files (.ex)514Generated nerves_logging app515==> nerves_discovery516Compiling 5 files (.ex)517Generated nerves_discovery app518==> ring_logger519Compiling 7 files (.ex)520Generated ring_logger app521==> nerves_compatibility_test522===> Analyzing applications...523===> Compiling poolboy524==> decimal525Compiling 4 files (.ex)526 warning: using single-quoted strings to represent charlists is deprecated.527 Use ~c"" if you indeed want a charlist or use "" instead.528 You may run "mix format --migrate" to change all single-quoted529 strings to use the ~c sigil and fix this warning.530 │531 1320 │ '0.' ++ :lists.duplicate(-diff, ?0) ++ list532 │ ~533 │534 └─ lib/decimal.ex:1320:11535536 warning: using single-quoted strings to represent charlists is deprecated.537 Use ~c"" if you indeed want a charlist or use "" instead.538 You may run "mix format --migrate" to change all single-quoted539 strings to use the ~c sigil and fix this warning.540 │541 1351 │ list = list ++ 'E'542 │ ~543 │544 └─ lib/decimal.ex:1351:26545546 warning: using single-quoted strings to represent charlists is deprecated.547 Use ~c"" if you indeed want a charlist or use "" instead.548 You may run "mix format --migrate" to change all single-quoted549 strings to use the ~c sigil and fix this warning.550 │551 1352 │ list = if exp >= 0, do: list ++ '+', else: list552 │ ~553 │554 └─ lib/decimal.ex:1352:43555556 warning: using single-quoted strings to represent charlists is deprecated.557 Use ~c"" if you indeed want a charlist or use "" instead.558 You may run "mix format --migrate" to change all single-quoted559 strings to use the ~c sigil and fix this warning.560 │561 1775 │ int = if int == [], do: '0', else: int562 │ ~563 │564 └─ lib/decimal.ex:1775:31565566 warning: using single-quoted strings to represent charlists is deprecated.567 Use ~c"" if you indeed want a charlist or use "" instead.568 You may run "mix format --migrate" to change all single-quoted569 strings to use the ~c sigil and fix this warning.570 │571 1776 │ exp = if exp == [], do: '0', else: exp572 │ ~573 │574 └─ lib/decimal.ex:1776:31575576Generated decimal app577warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"578 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2579 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1580 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5581 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2582 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4583 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2584585==> ecto586Compiling 70 files (.ex)587 warning: using single-quoted strings to represent charlists is deprecated.588 Use ~c"" if you indeed want a charlist or use "" instead.589 You may run "mix format --migrate" to change all single-quoted590 strings to use the ~c sigil and fix this warning.591 │592 166 │ defp insert_all_value(_), do: '?'593 │ ~594 │595 └─ lib/ecto/adapters/mysql/connection.ex:166:37596597 warning: using single-quoted strings to represent charlists is deprecated.598 Use ~c"" if you indeed want a charlist or use "" instead.599 You may run "mix format --migrate" to change all single-quoted600 strings to use the ~c sigil and fix this warning.601 │602 354 │ '?'603 │ ~604 │605 └─ lib/ecto/adapters/mysql/connection.ex:354:7606607 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.608609 This error happens when you have function calls without parentheses inside keywords. For example:610611 function(arg, one: nested_call a, b, c)612 function(arg, one: if expr, do: :this, else: :that)613614 In the examples above, we don't know if the arguments "b" and "c" apply to the function "function" or "nested_call". Or if the keywords "do" and "else" apply to the function "function" or "if". You can solve this by explicitly adding parentheses:615616 function(arg, one: if(expr, do: :this, else: :that))617 function(arg, one: nested_call(a, b, c))618619 Ambiguity found at:620 │621 2286 │ raise ArgumentError, "cannot add constraint to changeset because it does not have a source, got: #{inspect data}"622 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~623 │624 └─ lib/ecto/changeset.ex:2286625626 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.627628 This error happens when you have function calls without parentheses inside keywords. For example:629630 function(arg, one: nested_call a, b, c)631 function(arg, one: if expr, do: :this, else: :that)632633 In the examples above, we don't know if the arguments "b" and "c" apply to the function "function" or "nested_call". Or if the keywords "do" and "else" apply to the function "function" or "if". You can solve this by explicitly adding parentheses:634635 function(arg, one: if(expr, do: :this, else: :that))636 function(arg, one: nested_call(a, b, c))637638 Ambiguity found at:639 │640 265 │ do: raise ArgumentError, "a constraint must have either a check or exclude option"641 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~642 │643 └─ lib/ecto/migration/runner.ex:265644645 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.646647 This error happens when you have function calls without parentheses inside keywords. For example:648649 function(arg, one: nested_call a, b, c)650 function(arg, one: if expr, do: :this, else: :that)651652 In the examples above, we don't know if the arguments "b" and "c" apply to the function "function" or "nested_call". Or if the keywords "do" and "else" apply to the function "function" or "if". You can solve this by explicitly adding parentheses:653654 function(arg, one: if(expr, do: :this, else: :that))655 function(arg, one: nested_call(a, b, c))656657 Ambiguity found at:658 │659 267 │ do: raise ArgumentError, "a constraint must not have both check and exclude options"660 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~661 │662 └─ lib/ecto/migration/runner.ex:267663664 warning: atom ::: must be written between quotes, as in :"::", to avoid ambiguity665 │666 136 │ {:::, _, [left, _]} -> is_integer(left) or is_binary(left)667 │ ~668 │669 └─ lib/ecto/query/builder.ex:136:8670671 warning: unknown compiler variable "__" (expected one of __MODULE__, __ENV__, __DIR__, __CALLER__, __STACKTRACE__)672 │673 643 │ def quoted_type({:datetime_add, _, [_, _, __]}, _vars), do: :naive_datetime674 │ ~~675 │676 └─ lib/ecto/query/builder.ex:643:45: Ecto.Query.Builder.quoted_type/2677678 warning: unknown compiler variable "__" (expected one of __MODULE__, __ENV__, __DIR__, __CALLER__, __STACKTRACE__)679 │680 644 │ def quoted_type({:date_add, _, [_, _, __]}, _vars), do: :date681 │ ~~682 │683 └─ lib/ecto/query/builder.ex:644:41: Ecto.Query.Builder.quoted_type/2684685 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.686687 This error happens when you have function calls without parentheses inside keywords. For example:688689 function(arg, one: nested_call a, b, c)690 function(arg, one: if expr, do: :this, else: :that)691692 In the examples above, we don't know if the arguments "b" and "c" apply to the function "function" or "nested_call". Or if the keywords "do" and "else" apply to the function "function" or "if". You can solve this by explicitly adding parentheses:693694 function(arg, one: if(expr, do: :this, else: :that))695 function(arg, one: nested_call(a, b, c))696697 Ambiguity found at:698 │699 454 │ do: raise ArgumentError, "a changeset with action #{inspect given} was given to #{inspect repo}.#{action}/2"700 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~701 │702 └─ lib/ecto/repo/schema.ex:454703704 warning: unused require Ecto.Query705 │706 6 │ require Ecto.Query707 │ ~708 │709 └─ lib/ecto/repo/preloader.ex:6:3710711 warning: Module.eval_quoted/2 is deprecated. Use Code.eval_quoted/3 instead712 │713 9 │ schema "schema_migrations" do714 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~715 │716 └─ lib/ecto/migration/schema_migration.ex:9: Ecto.Migration.SchemaMigration (module)717718 warning: incompatible types given to Mix.Ecto.ensure_started/2:719720 Mix.Ecto.ensure_started(repo, opts)721722 given types:723724 -dynamic(atom())-, dynamic(empty_list() or non_empty_list(term(), term()))725726 but expected one of:727728 %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())729730 where "opts" was given the type:731732 # type: dynamic(733 %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or734 non_struct_map()735 )736 # from: lib/mix/tasks/ecto.rollback.ex:64:10737 opts =738 if opts[:quiet] do739 Keyword.merge(opts, log: false, log_sql: false)740 else741 opts742 end743744 where "repo" was given the type:745746 # type: dynamic(atom())747 # from: lib/mix/tasks/ecto.rollback.ex:70:7748 Mix.Ecto.ensure_repo(repo, args)749750 type warning found at:751 │752 72 │ {:ok, pid, apps} = ensure_started(repo, opts)753 │ ~754 │755 └─ lib/mix/tasks/ecto.rollback.ex:72:26: Mix.Tasks.Ecto.Rollback.run/2756757 warning: struct DBConnection.OwnershipError is undefined (module DBConnection.OwnershipError is not available or is yet to be defined)758 │759 258 │ err in DBConnection.OwnershipError ->760 │ ~761 │762 └─ lib/ecto/adapters/sql.ex:258:11: Ecto.Adapters.SQL.sql_call/6763764 warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead765 │766 2400 │ surround_many("#Ecto.Changeset<", list, ">", opts, fn767 │ ~768 │769 └─ lib/ecto/changeset.ex:2400:5: Inspect.Ecto.Changeset.inspect/2770771 warning: incompatible types given to Mix.Ecto.ensure_started/2:772773 Mix.Ecto.ensure_started(repo, all: true)774775 given types:776777 -dynamic(atom())-, non_empty_list({:all, true})778779 but expected one of:780781 %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())782783 where "repo" was given the type:784785 # type: dynamic(atom())786 # from: lib/mix/tasks/ecto.migrations.ex:37:7787 Mix.Ecto.ensure_repo(repo, args)788789 type warning found at:790 │791 39 │ {:ok, pid, _} = ensure_started(repo, all: true)792 │ ~793 │794 └─ lib/mix/tasks/ecto.migrations.ex:39:23: Mix.Tasks.Ecto.Migrations.run/3795796 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead797 │798 260 │ reraise %{err | message: message}, System.stacktrace799 │ ~800 │801 └─ lib/ecto/adapters/sql.ex:260:51: Ecto.Adapters.SQL.sql_call/6802803 warning: incompatible types given to Mix.Ecto.ensure_started/2:804805 Mix.Ecto.ensure_started(repo, opts)806807 given types:808809 -dynamic(atom())-, dynamic(empty_list() or non_empty_list(term(), term()))810811 but expected one of:812813 %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())814815 where "opts" was given the type:816817 # type: dynamic(818 %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or819 non_struct_map()820 )821 # from: lib/mix/tasks/ecto.migrate.ex:68:10822 opts =823 if opts[:quiet] do824 Keyword.merge(opts, log: false, log_sql: false)825 else826 opts827 end828829 where "repo" was given the type:830831 # type: dynamic(atom())832 # from: lib/mix/tasks/ecto.migrate.ex:74:7833 Mix.Ecto.ensure_repo(repo, args)834835 type warning found at:836 │837 76 │ {:ok, pid, apps} = ensure_started(repo, opts)838 │ ~839 │840 └─ lib/mix/tasks/ecto.migrate.ex:76:26: Mix.Tasks.Ecto.Migrate.run/2841842 warning: incompatible types given to Mix.Ecto.source_repo_priv/1:843844 Mix.Ecto.source_repo_priv(repo)845846 given types:847848 -dynamic(%{..., __adapter__: atom(), config: empty_list() or non_empty_list(term(), term())})-849850 but expected one of:851852 atom()853854 where "repo" was given the types:855856 # type: dynamic(%{..., config: empty_list() or non_empty_list(term(), term())})857 # from: lib/mix/tasks/ecto.load.ex:70:22858 Keyword.merge(repo.config, opts)859860 # type: dynamic(%{..., __adapter__: atom(), config: empty_list() or non_empty_list(term(), term())})861 # from: lib/mix/tasks/ecto.load.ex:72:27862 repo.__adapter__.structure_load(Mix.Ecto.source_repo_priv(repo), config)863864 type warning found at:865 │866 72 │ case repo.__adapter__.structure_load(source_repo_priv(repo), config) do867 │ ~868 │869 └─ lib/mix/tasks/ecto.load.ex:72:42: Mix.Tasks.Ecto.Load.load_structure/2870871 warning: expected a map or struct when accessing .__adapter__ in expression:872873 repo.__adapter__874875 where "repo" was given the type:876877 # type: dynamic(atom())878 # from: lib/mix/tasks/ecto.load.ex:53:7879 Mix.Ecto.ensure_repo(repo, args)880881 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()882883 type warning found at:884 │885 54 │ ensure_implements(repo.__adapter__, Ecto.Adapter.Structure,886 │ ~887 │888 └─ lib/mix/tasks/ecto.load.ex:54:30: Mix.Tasks.Ecto.Load.run/1889890 warning: expected a map or struct when accessing .__adapter__ in expression:891892 repo.__adapter__893894 where "repo" was given the type:895896 # type: dynamic(atom())897 # from: lib/mix/tasks/ecto.dump.ex:50:7898 Mix.Ecto.ensure_repo(repo, args)899900 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()901902 type warning found at:903 │904 51 │ ensure_implements(repo.__adapter__, Ecto.Adapter.Structure,905 │ ~906 │907 └─ lib/mix/tasks/ecto.dump.ex:51:30: Mix.Tasks.Ecto.Dump.run/1908909 warning: expected a map or struct when accessing .__adapter__ in expression:910911 repo.__adapter__912913 where "repo" was given the type:914915 # type: dynamic(atom())916 # from: lib/mix/tasks/ecto.drop.ex:39:7917 Mix.Ecto.ensure_repo(repo, args)918919 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()920921 type warning found at:922 │923 40 │ ensure_implements(repo.__adapter__, Ecto.Adapter.Storage,924 │ ~925 │926 └─ lib/mix/tasks/ecto.drop.ex:40:30: Mix.Tasks.Ecto.Drop.run/1927928 warning: expected a map or struct when accessing .__adapter__ in expression:929930 repo.__adapter__931932 where "repo" was given the type:933934 # type: dynamic(atom())935 # from: lib/mix/tasks/ecto.create.ex:37:7936 Mix.Ecto.ensure_repo(repo, args)937938 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()939940 type warning found at:941 │942 38 │ ensure_implements(repo.__adapter__, Ecto.Adapter.Storage,943 │ ~944 │945 └─ lib/mix/tasks/ecto.create.ex:38:30: Mix.Tasks.Ecto.Create.run/1946947 warning: Mix.Project.compile/1 is deprecated. Use Mix.Task.run("compile", args) instead948 │949 62 │ Mix.Project.compile(args)950 │ ~951 │952 └─ lib/mix/ecto.ex:62:19: Mix.Ecto.ensure_repo/2953954 warning: expected a module (an atom) when invoking start_link/1 in expression:955956 repo.start_link(pool_size: pool_size)957958 where "pool_size" was given the type:959960 # type: dynamic()961 # from: lib/mix/ecto.ex:101:15962 pool_size = Keyword.get(opts, :pool_size, 1)963964 where "repo" was given the type:965966 # type: dynamic(%{..., __adapter__: atom()})967 # from: lib/mix/ecto.ex:99:36968 repo.__adapter__.ensure_all_started(repo, :temporary)969970 type warning found at:971 │972 102 │ case repo.start_link(pool_size: pool_size) do973 │ ~974 │975 └─ lib/mix/ecto.ex:102:15: Mix.Ecto.ensure_started/2976977 warning: Logger.remove_backend/1 is deprecated. Use LoggerBackends.remove/2 from :logger_backends dependency978 │979 146 │ Logger.remove_backend(:console)980 │ ~981 │982 └─ lib/mix/ecto.ex:146:12: Mix.Ecto.restart_apps_if_migrated/2983984 warning: Logger.add_backend/2 is deprecated. Use LoggerBackends.add/2 from :logger_backends dependency985 │986 155 │ Logger.add_backend(:console, flush: true)987 │ ~988 │989 └─ lib/mix/ecto.ex:155:12: Mix.Ecto.restart_apps_if_migrated/2990991 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)992 │993 856 │ not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->994 │ ~995 │996 └─ lib/ecto/association.ex:856:78: Ecto.Association.ManyToMany.after_compile_validation/2997 └─ lib/ecto/association.ex:860:45: Ecto.Association.ManyToMany.after_compile_validation/2998999 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1000 │1001 715 │ not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->1002 │ ~1003 │1004 └─ lib/ecto/association.ex:715:78: Ecto.Association.BelongsTo.after_compile_validation/210051006 warning: the following clause will never match:10071008 [{^module, :changeset, args_or_arity, _}] when args_or_arity == 2 when length(args_or_arity) == 2 ->10091010 because it attempts to match on the result of:10111012 System.stacktrace()10131014 which has type:10151016 empty_list()10171018 where "args_or_arity" was given the type:10191020 # type: float() or integer() or non_empty_list(term())1021 # from: lib/ecto/changeset.ex1022 (_() when args_or_arity == 2) when length(args_or_arity) == 210231024 where "module" was given the type:10251026 # type: dynamic()1027 # from: lib/ecto/changeset.ex:733:301028 module10291030 type warning found at:1031 │1032 741 │ ... when length(args_or_arity) == 2 ->1033 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1034 │1035 └─ lib/ecto/changeset.ex:741: Ecto.Changeset.on_cast_default/210361037 warning: the following conditional expression:10381039 is_atom(related)10401041 will always evaluate to:10421043 dynamic(true)10441045 where "related" was given the type:10461047 # type: dynamic(atom())1048 # from: lib/ecto/association.ex:730:151049 related = Ecto.Association.related_from_query(queryable)10501051 type warning found at:1052 │1053 732 │ unless is_atom(related) do1054 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~1055 │1056 └─ lib/ecto/association.ex:732: Ecto.Association.BelongsTo.struct/310571058 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1059 │1060 739 │ case System.stacktrace do1061 │ ~1062 │1063 └─ lib/ecto/changeset.ex:739:23: Ecto.Changeset.on_cast_default/210641065 warning: incompatible types given to get_source/1:10661067 get_source(repo)10681069 given types:10701071 -dynamic(atom())-10721073 but expected one of:10741075 %{..., config: empty_list() or non_empty_list(term(), term())}10761077 where "repo" was given the type:10781079 # type: dynamic(atom())1080 # from: lib/ecto/migration/schema_migration.ex:24:131081 repo.all(1082 Map.put(1083 (1084 query =1085 (1086 query = {get_source(repo), Ecto.Migration.SchemaMigration}1087 Ecto.Query.Builder.From.apply(query, 1)1088 )1089 1090 Ecto.Query.Builder.Select.apply(query, %Ecto.Query.SelectExpr{1091 ...,1092 expr: {{:., [], [{:&, [], [0]}, :version]}, [], []},1093 file: "/work/proj/deps_rpi4/ecto/lib/ecto/migration/schema_migration.ex",1094 line: 22,1095 take: %{}1096 })1097 ),1098 :prefix,1099 prefix1100 ), timeout: :infinity, log: false)11011102 type warning found at:1103 │1104 22 │ from(p in {get_source(repo), __MODULE__}, select: p.version)1105 │ ~1106 │1107 └─ lib/ecto/migration/schema_migration.ex:22:16: Ecto.Migration.SchemaMigration.migrated_versions/211081109 warning: this clause of defp type_to_module/1 is never used (or it will always fail/warn when invoked)1110 │1111 1422 │ defp type_to_module(:naive_datetime), do: NaiveDateTime1112 │ ~1113 │1114 └─ lib/ecto/schema.ex:1422:8: Ecto.Schema.type_to_module/111151116 warning: incompatible types given to get_source/1:11171118 get_source(repo)11191120 given types:11211122 -dynamic(atom())-11231124 but expected one of:11251126 %{..., config: empty_list() or non_empty_list(term(), term())}11271128 where "repo" was given the type:11291130 # type: dynamic(atom())1131 # from: lib/ecto/migration/schema_migration.ex:30:131132 repo.insert!(1133 Ecto.put_meta(%Ecto.Migration.SchemaMigration{..., version: version},1134 prefix: prefix,1135 source: get_source(repo)1136 ), timeout: :infinity, log: false)11371138 type warning found at:1139 │1140 29 │ |> Ecto.put_meta(prefix: prefix, source: get_source(repo))1141 │ ~1142 │1143 └─ lib/ecto/migration/schema_migration.ex:29:46: Ecto.Migration.SchemaMigration.up/311441145 warning: incompatible types given to get_source/1:11461147 get_source(repo)11481149 given types:11501151 -dynamic(atom())-11521153 but expected one of:11541155 %{..., config: empty_list() or non_empty_list(term(), term())}11561157 where "repo" was given the type:11581159 # type: dynamic(atom())1160 # from: lib/ecto/migration/schema_migration.ex:36:131161 repo.delete_all(1162 Map.put(1163 (1164 query =1165 (1166 query = {get_source(repo), Ecto.Migration.SchemaMigration}1167 Ecto.Query.Builder.From.apply(query, 1)1168 )1169 1170 Ecto.Query.Builder.Filter.apply(query, :where, %Ecto.Query.BooleanExpr{1171 expr: {:==, [], [{{:., [], [{:&, [], [0]}, :version]}, [], []}, {:^, [], [0]}]},1172 op: :and,1173 params: [{Ecto.Query.Builder.not_nil!(version), {0, :version}}],1174 file: "/work/proj/deps_rpi4/ecto/lib/ecto/migration/schema_migration.ex",1175 line: 341176 })1177 ),1178 :prefix,1179 prefix1180 ), timeout: :infinity, log: false)11811182 type warning found at:1183 │1184 34 │ from(p in {get_source(repo), __MODULE__}, where: p.version == ^version)1185 │ ~1186 │1187 └─ lib/ecto/migration/schema_migration.ex:34:16: Ecto.Migration.SchemaMigration.down/311881189 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1190 │1191 1885 │ if Code.ensure_compiled?(type) and function_exported?(type, :type, 0) do1192 │ ~1193 │1194 └─ lib/ecto/schema.ex:1885:17: Ecto.Schema.check_type!/311951196 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1197 │1198 430 │ not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->1199 │ ~1200 │1201 └─ lib/ecto/association.ex:430:78: Ecto.Association.Has.after_compile_validation/212021203 warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead1204 │1205 29 │ surround_many("#Ecto.Query<", list, ">", opts, fn str, _ -> str end)1206 │ ~1207 │1208 └─ lib/ecto/query/inspect.ex:29:5: Inspect.Ecto.Query.inspect/212091210 warning: the following clause will never match:12111212 {:error, _} = error ->12131214 because it attempts to match on the result of:12151216 apply(changeset, adapter, :insert, args)12171218 which has type:12191220 dynamic({:invalid or :ok, term()})12211222 type warning found at:1223 │1224 219 │ {:error, _} = error ->1225 │ ~1226 │1227 └─ lib/ecto/repo/schema.ex:219:23: Ecto.Repo.Schema.do_insert/412281229 warning: Macro.to_string/2 is deprecated. Use Macro.to_string/1 instead1230 │1231 144 │ Macro.to_string(expr, &expr_to_string(&1, &2, names, part))1232 │ ~1233 │1234 └─ lib/ecto/query/inspect.ex:144:11: Inspect.Ecto.Query.expr/312351236 warning: the following clause will never match:12371238 {:error, _} = error ->12391240 because it attempts to match on the result of:12411242 apply(changeset, adapter, action, args)12431244 which has type:12451246 dynamic({:invalid or :ok, term()})12471248 type warning found at:1249 │1250 297 │ {:error, _} = error ->1251 │ ~1252 │1253 └─ lib/ecto/repo/schema.ex:297:25: Ecto.Repo.Schema.do_update/412541255 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1256 │1257 54 │ filter_and_reraise e, System.stacktrace1258 │ ~1259 │1260 └─ lib/ecto/repo/preloader.ex:54:36: Ecto.Repo.Preloader.normalize_and_preload_each/512611262 warning: Map.size/1 is deprecated. Use Kernel.map_size/1 instead1263 │1264 44 │ index = Map.size(params)1265 │ ~1266 │1267 └─ lib/ecto/query/builder.ex:44:18: Ecto.Query.Builder.escape/51268 └─ lib/ecto/query/builder.ex:53:17: Ecto.Query.Builder.escape/512691270 warning: Decimal.minus/1 is deprecated. Use Decimal.negate/1 instead1271 │1272 614 │ Decimal.minus(decimal)1273 │ ~1274 │1275 └─ lib/ecto/query/builder.ex:614:13: Ecto.Query.Builder.negate!/112761277 warning: BadStructError.exception/1 is undefined (module BadStructError is not available or is yet to be defined). Make sure the module name is correct and has been specified in full (or that an alias has been defined)1278 │1279 228 │ raise BadStructError, struct: struct, term: data1280 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1281 │1282 └─ lib/ecto/repo/queryable.ex:228: Ecto.Repo.Queryable.process/512831284 warning: the following clause will never match:12851286 {:error, _} ->12871288 because it attempts to match on the result of:12891290 NaiveDateTime.new(date, time)12911292 which has type:12931294 dynamic({:ok, %NaiveDateTime{}})12951296 type warning found at:1297 │1298 803 │ {:error, _} -> :error1299 │ ~~~~~~~~~~~~~~~~~~~~~1300 │1301 └─ lib/ecto/type.ex:803: Ecto.Type.cast_naive_datetime/113021303 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1304 │1305 214 │ filter_and_reraise e, System.stacktrace1306 │ ~1307 │1308 └─ lib/ecto/query/planner.ex:214:36: Ecto.Query.Planner.prepare/41309 └─ lib/ecto/query/planner.ex:709:36: Ecto.Query.Planner.normalize/413101311 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1312 │1313 159 │ supervise(children, strategy: :one_for_one)1314 │ ~1315 │1316 └─ lib/ecto/repo/supervisor.ex:159:9: Ecto.Repo.Supervisor.init/113171318 warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead1319 │1320 15 │ surround_many("dynamic(", [Macro.to_string(binding), inspected], ")", opts, fn str, _ -> str end)1321 │ ~1322 │1323 └─ lib/ecto/query/inspect.ex:15:5: Inspect.Ecto.Query.DynamicExpr.inspect/213241325 warning: expected a map or struct when accessing .__struct__ in expression:13261327 schema.__struct__13281329 where "schema" was given the types:13301331 # type: dynamic(atom() and not nil)1332 # from: lib/ecto/query/planner.ex:1186:411333 schema13341335 # type: atom()1336 # from: lib/ecto/query/planner.ex:1186:611337 is_atom(schema)13381339 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()13401341 type warning found at:1342 │1343 1190 │ Map.has_key?(schema.__struct__, field) ->1344 │ ~1345 │1346 └─ lib/ecto/query/planner.ex:1190:27: Ecto.Query.Planner.type!/613471348 warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead1349 │1350 12 │ worker(Ecto.Migration.Runner, [], restart: :temporary)1351 │ ~1352 │1353 └─ lib/ecto/migration/supervisor.ex:12:7: Ecto.Migration.Supervisor.init/113541355 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1356 │1357 15 │ supervise(children, strategy: :simple_one_for_one)1358 │ ~1359 │1360 └─ lib/ecto/migration/supervisor.ex:15:5: Ecto.Migration.Supervisor.init/113611362 warning: incompatible types given to Ecto.Migration.SchemaMigration.migrated_versions/2:13631364 Ecto.Migration.SchemaMigration.migrated_versions(repo, opts[:prefix])13651366 given types:13671368 (1369 -dynamic(%{..., __adapter__: term(), config: empty_list() or non_empty_list(term(), term())})-,1370 dynamic()1371 )13721373 but expected one of:13741375 atom(), term()13761377 where "opts" was given the type:13781379 # type: dynamic(1380 %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or1381 non_struct_map()1382 )1383 # from: lib/ecto/migrator.ex:44:651384 opts[:prefix]13851386 where "repo" was given the type:13871388 # type: dynamic(%{..., __adapter__: term(), config: empty_list() or non_empty_list(term(), term())})1389 # from: lib/ecto/migrator.ex:44:231390 Ecto.Migration.SchemaMigration.ensure_schema_migrations_table!(repo, opts[:prefix])13911392 type warning found at:1393 │1394 45 │ SchemaMigration.migrated_versions(repo, opts[:prefix])1395 │ ~1396 │1397 └─ lib/ecto/migrator.ex:45:23: Ecto.Migrator.migrated_versions/213981399 warning: expected a module (an atom) when invoking transaction/2 in expression:14001401 repo.transaction(fun, log: false, timeout: :infinity)14021403 where "fun" was given the type:14041405 # type: dynamic()1406 # from: lib/ecto/migrator.ex:114:471407 fun14081409 where "repo" was given the types:14101411 # type: dynamic(%{..., __adapter__: %{..., supports_ddl_transaction?: term()}})1412 # from: lib/ecto/migrator.ex:118:241413 repo.__adapter__.supports_ddl_transaction?14141415 # type: dynamic(%{..., __adapter__: %{..., supports_ddl_transaction?: not false and not nil}})1416 # from: lib/ecto/migrator.ex:118:241417 repo.__adapter__.supports_ddl_transaction?14181419 type warning found at:1420 │1421 119 │ repo.transaction(fun, [log: false, timeout: :infinity])1422 │ ~1423 │1424 └─ lib/ecto/migrator.ex:119:14: Ecto.Migrator.run_maybe_in_transaction/314251426 warning: Code.load_file/1 is deprecated. Use Code.require_file/2 or Code.compile_file/2 instead1427 │1428 291 │ modules = Code.load_file(file)1429 │ ~1430 │1431 └─ lib/ecto/migrator.ex:291:20: Ecto.Migrator.extract_module/214321433 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1434 │1435 321 │ reraise error, System.stacktrace1436 │ ~1437 │1438 └─ lib/ecto/migrator.ex:321:31: Ecto.Migrator.verbose_schema_migration/314391440 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1441 │1442 10 │ worker(Ecto.Registry, []),1443 │ ~1444 │1445 └─ lib/ecto/application.ex:10:7: Ecto.Application.start/214461447 warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1448 │1449 11 │ supervisor(Ecto.Migration.Supervisor, [])1450 │ ~1451 │1452 └─ lib/ecto/application.ex:11:7: Ecto.Application.start/214531454Generated ecto app1455==> interactive_cmd1456Compiling 1 file (.ex)1457Generated interactive_cmd app1458==> nerves1459Compiling 65 files (.ex)1460 warning: redefining module Mix.Tasks.Nerves.Init (current version loaded from /work/proj/_build/rpi4/lib/nerves/ebin/Elixir.Mix.Tasks.Nerves.Init.beam)1461 │1462 6 │ defmodule Mix.Tasks.Nerves.Init do1463 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1464 │1465 └─ lib/mix/tasks/nerves.init.ex:6: Mix.Tasks.Nerves.Init (module)14661467 warning: redefining module Nerves (current version loaded from /work/proj/_build/rpi4/lib/nerves/ebin/Elixir.Nerves.beam)1468 │1469 6 │ defmodule Nerves do1470 │ ~~~~~~~~~~~~~~~~~~~1471 │1472 └─ lib/nerves.ex:6: Nerves (module)14731474 warning: redefining module Nerves.ArtifactResolver (current version loaded from /work/proj/_build/rpi4/lib/nerves/ebin/Elixir.Nerves.ArtifactResolver.beam)1475 │1476 5 │ defmodule Nerves.ArtifactResolver do1477 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1478 │1479 └─ lib/nerves/artifact_resolver.ex:5: Nerves.ArtifactResolver (module)14801481 warning: redefining module Nerves.BuildAction.AppModes (current version loaded from /work/proj/_build/rpi4/lib/nerves/ebin/Elixir.Nerves.BuildAction.AppModes.beam)1482 │1483 6 │ defmodule Nerves.BuildAction.AppModes do1484 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1485 │1486 └─ lib/nerves/build_action/app_modes.ex:6: Nerves.BuildAction.AppModes (module)14871488 warning: redefining module Nerves.BuildAction.CheckExecutables (current version loaded from /work/proj/_build/rpi4/lib/nerves/ebin/Elixir.Nerves.BuildAction.CheckExecutables.beam)1489 │1490 5 │ defmodule Nerves.BuildAction.CheckExecutables do1491 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1492 │1493 └─ lib/nerves/build_action/check_executables.ex:5: Nerves.BuildAction.CheckExecutables (module)14941495 warning: redefining module Nerves.BuildAction.Erlinit (current version loaded from /work/proj/_build/rpi4/lib/nerves/ebin/Elixir.Nerves.BuildAction.Erlinit.beam)1496 │1497 8 │ defmodule Nerves.BuildAction.Erlinit do1498 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1499 │1500 └─ lib/nerves/build_action/erlinit.ex:8: Nerves.BuildAction.Erlinit (module)15011502 warning: redefining module Nerves.BuildAction.Firmware (current version loaded from /work/proj/_build/rpi4/lib/nerves/ebin/Elixir.Nerves.BuildAction.Firmware.beam)1503 │1504 5 │ defmodule Nerves.BuildAction.Firmware do1505 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1506 │1507 └─ lib/nerves/build_action/firmware.ex:5: Nerves.BuildAction.Firmware (module)15081509 warning: redefining module Nerves.BuildAction.IExStartupCheck (current version loaded from /work/proj/_build/rpi4/lib/nerves/ebin/Elixir.Nerves.BuildAction.IExStartupCheck.beam)1510 │1511 7 │ defmodule Nerves.BuildAction.IExStartupCheck do1512 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1513 │1514 └─ lib/nerves/build_action/iex_startup_check.ex:7: Nerves.BuildAction.IExStartupCheck (module)15151516 warning: redefining module Nerves.BuildAction.NervesV1System (current version loaded from /work/proj/_build/rpi4/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1System.beam)1517 │1518 5 │ defmodule Nerves.BuildAction.NervesV1System do1519 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1520 │1521 └─ lib/nerves/build_action/nerves_v1_system.ex:5: Nerves.BuildAction.NervesV1System (module)15221523 warning: redefining module Nerves.BuildAction.NervesV1Toolchain (current version loaded from /work/proj/_build/rpi4/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1Toolchain.beam)1524 │1525 5 │ defmodule Nerves.BuildAction.NervesV1Toolchain do1526 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1527 │1528 └─ lib/nerves/build_action/nerves_v1_toolchain.ex:5: Nerves.BuildAction.NervesV1Toolchain (module)15291530 warning: redefining module Nerves.BuildAction.Rootfs (current version loaded from /work/proj/_build/rpi4/lib/nerves/ebin/Elixir.Nerves.BuildAction.Rootfs.beam)1531 │1532 5 │ defmodule Nerves.BuildAction.Rootfs do1533 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1534 │1535 └─ lib/nerves/build_action/rootfs.ex:5: Nerves.BuildAction.Rootfs (module)15361537 warning: redefining module Nerves.BuildAction.SortApps (current version loaded from /work/proj/_build/rpi4/lib/nerves/ebin/Elixir.Nerves.BuildAction.SortApps.beam)1538 │1539 6 │ defmodule Nerves.BuildAction.SortApps do1540 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1541 │1542 └─ lib/nerves/build_action/sort_apps.ex:6: Nerves.BuildAction.SortApps (module)15431544 warning: redefining module Nerves.BuildAction.StripAll (current version loaded from /work/proj/_build/rpi4/lib/nerves/ebin/Elixir.Nerves.BuildAction.StripAll.beam)1545 │1546 5 │ defmodule Nerves.BuildAction.StripAll do1547 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1548 │1549 └─ lib/nerves/build_action/strip_all.ex:5: Nerves.BuildAction.StripAll (module)15501551 warning: redefining module Nerves.BuildAction.Trimmer (current version loaded from /work/proj/_build/rpi4/lib/nerves/ebin/Elixir.Nerves.BuildAction.Trimmer.beam)1552 │1553 5 │ defmodule Nerves.BuildAction.Trimmer do1554 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1555 │1556 └─ lib/nerves/build_action/trimmer.ex:5: Nerves.BuildAction.Trimmer (module)15571558 warning: redefining module Nerves.BuildPlan (current version loaded from /work/proj/_build/rpi4/lib/nerves/ebin/Elixir.Nerves.BuildPlan.beam)1559 │1560 5 │ defmodule Nerves.BuildPlan do1561 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1562 │1563 └─ lib/nerves/build_plan.ex:5: Nerves.BuildPlan (module)15641565 warning: redefining module Nerves.BuildPlan.Checks (current version loaded from /work/proj/_build/rpi4/lib/nerves/ebin/Elixir.Nerves.BuildPlan.Checks.beam)1566 │1567 5 │ defmodule Nerves.BuildPlan.Checks do1568 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1569 │1570 └─ lib/nerves/build_plan/checks.ex:5: Nerves.BuildPlan.Checks (module)15711572 warning: redefining module Nerves.Container (current version loaded from /work/proj/_build/rpi4/lib/nerves/ebin/Elixir.Nerves.Container.beam)1573 │1574 6 │ defmodule Nerves.Container do1575 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1576 │1577 └─ lib/nerves/container.ex:6: Nerves.Container (module)15781579 warning: redefining module Nerves.Fingerprint (current version loaded from /work/proj/_build/rpi4/lib/nerves/ebin/Elixir.Nerves.Fingerprint.beam)1580 │1581 5 │ defmodule Nerves.Fingerprint do1582 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1583 │1584 └─ lib/nerves/fingerprint.ex:5: Nerves.Fingerprint (module)15851586 warning: redefining module Nerves.MixPackage (current version loaded from /work/proj/_build/rpi4/lib/nerves/ebin/Elixir.Nerves.MixPackage.beam)1587 │1588 5 │ defmodule Nerves.MixPackage do1589 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1590 │1591 └─ lib/nerves/mix_package.ex:5: Nerves.MixPackage (module)15921593 warning: redefining module Nerves.Paths (current version loaded from /work/proj/_build/rpi4/lib/nerves/ebin/Elixir.Nerves.Paths.beam)1594 │1595 5 │ defmodule Nerves.Paths do1596 │ ~~~~~~~~~~~~~~~~~~~~~~~~~1597 │1598 └─ lib/nerves/paths.ex:5: Nerves.Paths (module)15991600 warning: redefining module Nerves.TargetTuple (current version loaded from /work/proj/_build/rpi4/lib/nerves/ebin/Elixir.Nerves.TargetTuple.beam)1601 │1602 5 │ defmodule Nerves.TargetTuple do1603 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1604 │1605 └─ lib/nerves/target_tuple.ex:5: Nerves.TargetTuple (module)16061607Generated nerves app1608==> nerves_toolchain_aarch64_nerves_linux_gnu1609Compiling 1 file (.ex)1610Generated nerves_toolchain_aarch64_nerves_linux_gnu app1611==> nerves_system_rpi41612Generated nerves_system_rpi4 app1613==> nerves_compatibility_test1614===> Analyzing applications...1615===> Compiling unicode_util_compat1616===> Analyzing applications...1617===> Compiling idna1618==> public_suffix1619Compiling 3 files (.ex)1620warning: cannot infer signatures from :idna because it is not loaded16211622warning: cannot infer signatures from :unicode_util_compat because it is not loaded16231624warning: Kernel.to_char_list/1 is deprecated, use Kernel.to_charlist/1 instead1625 lib/public_suffix/remote_file_fetcher.ex:13: PublicSuffix.RemoteFileFetcher.fetch_remote_file/116261627 warning: Application.get_env/3 is discouraged in the module body, use Application.compile_env/3 instead1628 │1629 173 │ raw_data = if Application.get_env(:public_suffix, :download_data_on_compile, false) do1630 │ ~1631 │1632 └─ lib/public_suffix.ex:173:29: PublicSuffix (module)163316341635== Compilation error in file lib/public_suffix.ex ==1636** (UndefinedFunctionError) function :idna.to_ascii/1 is undefined (module :idna is not available)1637 :idna.to_ascii(~c"ac")1638 lib/public_suffix/rules_parser.ex:62: PublicSuffix.RulesParser.punycode_domain/11639 lib/public_suffix/rules_parser.ex:35: anonymous fn/1 in PublicSuffix.RulesParser.parse_rules_section/21640 (elixir 1.20.3) lib/stream.ex:524: anonymous fn/3 in Stream.flat_map/21641 (elixir 1.20.3) lib/stream.ex:1009: Stream.do_transform_user/61642 (elixir 1.20.3) lib/enum.ex:4667: Enum.split_with/21643 lib/public_suffix/rules_parser.ex:38: PublicSuffix.RulesParser.parse_rules_section/21644 lib/public_suffix/rules_parser.ex:18: PublicSuffix.RulesParser.parse_rules/11645could not compile dependency :public_suffix, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile public_suffix --force", update it with "mix deps.update public_suffix" or clean it with "mix deps.clean public_suffix"