Build log
nerves_system_rpi0
sitesx 0.11.0 · fail · run sitesx-0.11.0-1791103582716
1646 of 1646 lines
1Resolving Hex dependencies...2Resolution completed in 0.288s3Unchanged: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_rpi0/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_rpi0/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/rpi0/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)717718Compiling lib/ecto.ex (it's taking more than 10s)719 warning: incompatible types given to Mix.Ecto.ensure_started/2:720721 Mix.Ecto.ensure_started(repo, opts)722723 given types:724725 -dynamic(atom())-, dynamic(empty_list() or non_empty_list(term(), term()))726727 but expected one of:728729 %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())730731 where "opts" was given the type:732733 # type: dynamic(734 %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or735 non_struct_map()736 )737 # from: lib/mix/tasks/ecto.rollback.ex:64:10738 opts =739 if opts[:quiet] do740 Keyword.merge(opts, log: false, log_sql: false)741 else742 opts743 end744745 where "repo" was given the type:746747 # type: dynamic(atom())748 # from: lib/mix/tasks/ecto.rollback.ex:70:7749 Mix.Ecto.ensure_repo(repo, args)750751 type warning found at:752 │753 72 │ {:ok, pid, apps} = ensure_started(repo, opts)754 │ ~755 │756 └─ lib/mix/tasks/ecto.rollback.ex:72:26: Mix.Tasks.Ecto.Rollback.run/2757758 warning: incompatible types given to Mix.Ecto.ensure_started/2:759760 Mix.Ecto.ensure_started(repo, all: true)761762 given types:763764 -dynamic(atom())-, non_empty_list({:all, true})765766 but expected one of:767768 %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())769770 where "repo" was given the type:771772 # type: dynamic(atom())773 # from: lib/mix/tasks/ecto.migrations.ex:37:7774 Mix.Ecto.ensure_repo(repo, args)775776 type warning found at:777 │778 39 │ {:ok, pid, _} = ensure_started(repo, all: true)779 │ ~780 │781 └─ lib/mix/tasks/ecto.migrations.ex:39:23: Mix.Tasks.Ecto.Migrations.run/3782783 warning: struct DBConnection.OwnershipError is undefined (module DBConnection.OwnershipError is not available or is yet to be defined)784 │785 258 │ err in DBConnection.OwnershipError ->786 │ ~787 │788 └─ lib/ecto/adapters/sql.ex:258:11: Ecto.Adapters.SQL.sql_call/6789790 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead791 │792 260 │ reraise %{err | message: message}, System.stacktrace793 │ ~794 │795 └─ lib/ecto/adapters/sql.ex:260:51: Ecto.Adapters.SQL.sql_call/6796797 warning: incompatible types given to Mix.Ecto.ensure_started/2:798799 Mix.Ecto.ensure_started(repo, opts)800801 given types:802803 -dynamic(atom())-, dynamic(empty_list() or non_empty_list(term(), term()))804805 but expected one of:806807 %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())808809 where "opts" was given the type:810811 # type: dynamic(812 %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or813 non_struct_map()814 )815 # from: lib/mix/tasks/ecto.migrate.ex:68:10816 opts =817 if opts[:quiet] do818 Keyword.merge(opts, log: false, log_sql: false)819 else820 opts821 end822823 where "repo" was given the type:824825 # type: dynamic(atom())826 # from: lib/mix/tasks/ecto.migrate.ex:74:7827 Mix.Ecto.ensure_repo(repo, args)828829 type warning found at:830 │831 76 │ {:ok, pid, apps} = ensure_started(repo, opts)832 │ ~833 │834 └─ lib/mix/tasks/ecto.migrate.ex:76:26: Mix.Tasks.Ecto.Migrate.run/2835836 warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead837 │838 2400 │ surround_many("#Ecto.Changeset<", list, ">", opts, fn839 │ ~840 │841 └─ lib/ecto/changeset.ex:2400:5: Inspect.Ecto.Changeset.inspect/2842843 warning: incompatible types given to Mix.Ecto.source_repo_priv/1:844845 Mix.Ecto.source_repo_priv(repo)846847 given types:848849 -dynamic(%{..., __adapter__: atom(), config: empty_list() or non_empty_list(term(), term())})-850851 but expected one of:852853 atom()854855 where "repo" was given the types:856857 # type: dynamic(%{..., config: empty_list() or non_empty_list(term(), term())})858 # from: lib/mix/tasks/ecto.load.ex:70:22859 Keyword.merge(repo.config, opts)860861 # type: dynamic(%{..., __adapter__: atom(), config: empty_list() or non_empty_list(term(), term())})862 # from: lib/mix/tasks/ecto.load.ex:72:27863 repo.__adapter__.structure_load(Mix.Ecto.source_repo_priv(repo), config)864865 type warning found at:866 │867 72 │ case repo.__adapter__.structure_load(source_repo_priv(repo), config) do868 │ ~869 │870 └─ lib/mix/tasks/ecto.load.ex:72:42: Mix.Tasks.Ecto.Load.load_structure/2871872 warning: expected a map or struct when accessing .__adapter__ in expression:873874 repo.__adapter__875876 where "repo" was given the type:877878 # type: dynamic(atom())879 # from: lib/mix/tasks/ecto.load.ex:53:7880 Mix.Ecto.ensure_repo(repo, args)881882 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()883884 type warning found at:885 │886 54 │ ensure_implements(repo.__adapter__, Ecto.Adapter.Structure,887 │ ~888 │889 └─ lib/mix/tasks/ecto.load.ex:54:30: Mix.Tasks.Ecto.Load.run/1890891 warning: the following clause will never match:892893 [{^module, :changeset, args_or_arity, _}] when args_or_arity == 2 when length(args_or_arity) == 2 ->894895 because it attempts to match on the result of:896897 System.stacktrace()898899 which has type:900901 empty_list()902903 where "args_or_arity" was given the type:904905 # type: float() or integer() or non_empty_list(term())906 # from: lib/ecto/changeset.ex907 (_() when args_or_arity == 2) when length(args_or_arity) == 2908909 where "module" was given the type:910911 # type: dynamic()912 # from: lib/ecto/changeset.ex:733:30913 module914915 type warning found at:916 │917 741 │ ... when length(args_or_arity) == 2 ->918 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~919 │920 └─ lib/ecto/changeset.ex:741: Ecto.Changeset.on_cast_default/2921922 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead923 │924 739 │ case System.stacktrace do925 │ ~926 │927 └─ lib/ecto/changeset.ex:739:23: Ecto.Changeset.on_cast_default/2928929 warning: expected a map or struct when accessing .__adapter__ in expression:930931 repo.__adapter__932933 where "repo" was given the type:934935 # type: dynamic(atom())936 # from: lib/mix/tasks/ecto.drop.ex:39:7937 Mix.Ecto.ensure_repo(repo, args)938939 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()940941 type warning found at:942 │943 40 │ ensure_implements(repo.__adapter__, Ecto.Adapter.Storage,944 │ ~945 │946 └─ lib/mix/tasks/ecto.drop.ex:40:30: Mix.Tasks.Ecto.Drop.run/1947948 warning: expected a map or struct when accessing .__adapter__ in expression:949950 repo.__adapter__951952 where "repo" was given the type:953954 # type: dynamic(atom())955 # from: lib/mix/tasks/ecto.create.ex:37:7956 Mix.Ecto.ensure_repo(repo, args)957958 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()959960 type warning found at:961 │962 38 │ ensure_implements(repo.__adapter__, Ecto.Adapter.Storage,963 │ ~964 │965 └─ lib/mix/tasks/ecto.create.ex:38:30: Mix.Tasks.Ecto.Create.run/1966967 warning: expected a map or struct when accessing .__adapter__ in expression:968969 repo.__adapter__970971 where "repo" was given the type:972973 # type: dynamic(atom())974 # from: lib/mix/tasks/ecto.dump.ex:50:7975 Mix.Ecto.ensure_repo(repo, args)976977 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()978979 type warning found at:980 │981 51 │ ensure_implements(repo.__adapter__, Ecto.Adapter.Structure,982 │ ~983 │984 └─ lib/mix/tasks/ecto.dump.ex:51:30: Mix.Tasks.Ecto.Dump.run/1985986 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)987 │988 856 │ not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->989 │ ~990 │991 └─ lib/ecto/association.ex:856:78: Ecto.Association.ManyToMany.after_compile_validation/2992 └─ lib/ecto/association.ex:860:45: Ecto.Association.ManyToMany.after_compile_validation/2993994 warning: Mix.Project.compile/1 is deprecated. Use Mix.Task.run("compile", args) instead995 │996 62 │ Mix.Project.compile(args)997 │ ~998 │999 └─ lib/mix/ecto.ex:62:19: Mix.Ecto.ensure_repo/210001001 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1002 │1003 715 │ not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->1004 │ ~1005 │1006 └─ lib/ecto/association.ex:715:78: Ecto.Association.BelongsTo.after_compile_validation/210071008 warning: expected a module (an atom) when invoking start_link/1 in expression:10091010 repo.start_link(pool_size: pool_size)10111012 where "pool_size" was given the type:10131014 # type: dynamic()1015 # from: lib/mix/ecto.ex:101:151016 pool_size = Keyword.get(opts, :pool_size, 1)10171018 where "repo" was given the type:10191020 # type: dynamic(%{..., __adapter__: atom()})1021 # from: lib/mix/ecto.ex:99:361022 repo.__adapter__.ensure_all_started(repo, :temporary)10231024 type warning found at:1025 │1026 102 │ case repo.start_link(pool_size: pool_size) do1027 │ ~1028 │1029 └─ lib/mix/ecto.ex:102:15: Mix.Ecto.ensure_started/210301031 warning: the following conditional expression:10321033 is_atom(related)10341035 will always evaluate to:10361037 dynamic(true)10381039 where "related" was given the type:10401041 # type: dynamic(atom())1042 # from: lib/ecto/association.ex:730:151043 related = Ecto.Association.related_from_query(queryable)10441045 type warning found at:1046 │1047 732 │ unless is_atom(related) do1048 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~1049 │1050 └─ lib/ecto/association.ex:732: Ecto.Association.BelongsTo.struct/310511052 warning: Logger.remove_backend/1 is deprecated. Use LoggerBackends.remove/2 from :logger_backends dependency1053 │1054 146 │ Logger.remove_backend(:console)1055 │ ~1056 │1057 └─ lib/mix/ecto.ex:146:12: Mix.Ecto.restart_apps_if_migrated/210581059 warning: Logger.add_backend/2 is deprecated. Use LoggerBackends.add/2 from :logger_backends dependency1060 │1061 155 │ Logger.add_backend(:console, flush: true)1062 │ ~1063 │1064 └─ lib/mix/ecto.ex:155:12: Mix.Ecto.restart_apps_if_migrated/210651066 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1067 │1068 430 │ not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->1069 │ ~1070 │1071 └─ lib/ecto/association.ex:430:78: Ecto.Association.Has.after_compile_validation/210721073 warning: incompatible types given to get_source/1:10741075 get_source(repo)10761077 given types:10781079 -dynamic(atom())-10801081 but expected one of:10821083 %{..., config: empty_list() or non_empty_list(term(), term())}10841085 where "repo" was given the type:10861087 # type: dynamic(atom())1088 # from: lib/ecto/migration/schema_migration.ex:24:131089 repo.all(1090 Map.put(1091 (1092 query =1093 (1094 query = {get_source(repo), Ecto.Migration.SchemaMigration}1095 Ecto.Query.Builder.From.apply(query, 1)1096 )1097 1098 Ecto.Query.Builder.Select.apply(query, %Ecto.Query.SelectExpr{1099 ...,1100 expr: {{:., [], [{:&, [], [0]}, :version]}, [], []},1101 file: "/work/proj/deps_rpi0/ecto/lib/ecto/migration/schema_migration.ex",1102 line: 22,1103 take: %{}1104 })1105 ),1106 :prefix,1107 prefix1108 ), timeout: :infinity, log: false)11091110 type warning found at:1111 │1112 22 │ from(p in {get_source(repo), __MODULE__}, select: p.version)1113 │ ~1114 │1115 └─ lib/ecto/migration/schema_migration.ex:22:16: Ecto.Migration.SchemaMigration.migrated_versions/211161117 warning: this clause of defp type_to_module/1 is never used (or it will always fail/warn when invoked)1118 │1119 1422 │ defp type_to_module(:naive_datetime), do: NaiveDateTime1120 │ ~1121 │1122 └─ lib/ecto/schema.ex:1422:8: Ecto.Schema.type_to_module/111231124 warning: incompatible types given to get_source/1:11251126 get_source(repo)11271128 given types:11291130 -dynamic(atom())-11311132 but expected one of:11331134 %{..., config: empty_list() or non_empty_list(term(), term())}11351136 where "repo" was given the type:11371138 # type: dynamic(atom())1139 # from: lib/ecto/migration/schema_migration.ex:30:131140 repo.insert!(1141 Ecto.put_meta(%Ecto.Migration.SchemaMigration{..., version: version},1142 prefix: prefix,1143 source: get_source(repo)1144 ), timeout: :infinity, log: false)11451146 type warning found at:1147 │1148 29 │ |> Ecto.put_meta(prefix: prefix, source: get_source(repo))1149 │ ~1150 │1151 └─ lib/ecto/migration/schema_migration.ex:29:46: Ecto.Migration.SchemaMigration.up/311521153 warning: incompatible types given to get_source/1:11541155 get_source(repo)11561157 given types:11581159 -dynamic(atom())-11601161 but expected one of:11621163 %{..., config: empty_list() or non_empty_list(term(), term())}11641165 where "repo" was given the type:11661167 # type: dynamic(atom())1168 # from: lib/ecto/migration/schema_migration.ex:36:131169 repo.delete_all(1170 Map.put(1171 (1172 query =1173 (1174 query = {get_source(repo), Ecto.Migration.SchemaMigration}1175 Ecto.Query.Builder.From.apply(query, 1)1176 )1177 1178 Ecto.Query.Builder.Filter.apply(query, :where, %Ecto.Query.BooleanExpr{1179 expr: {:==, [], [{{:., [], [{:&, [], [0]}, :version]}, [], []}, {:^, [], [0]}]},1180 op: :and,1181 params: [{Ecto.Query.Builder.not_nil!(version), {0, :version}}],1182 file: "/work/proj/deps_rpi0/ecto/lib/ecto/migration/schema_migration.ex",1183 line: 341184 })1185 ),1186 :prefix,1187 prefix1188 ), timeout: :infinity, log: false)11891190 type warning found at:1191 │1192 34 │ from(p in {get_source(repo), __MODULE__}, where: p.version == ^version)1193 │ ~1194 │1195 └─ lib/ecto/migration/schema_migration.ex:34:16: Ecto.Migration.SchemaMigration.down/311961197 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1198 │1199 1885 │ if Code.ensure_compiled?(type) and function_exported?(type, :type, 0) do1200 │ ~1201 │1202 └─ lib/ecto/schema.ex:1885:17: Ecto.Schema.check_type!/312031204 warning: the following clause will never match:12051206 {:error, _} = error ->12071208 because it attempts to match on the result of:12091210 apply(changeset, adapter, :insert, args)12111212 which has type:12131214 dynamic({:invalid or :ok, term()})12151216 type warning found at:1217 │1218 219 │ {:error, _} = error ->1219 │ ~1220 │1221 └─ lib/ecto/repo/schema.ex:219:23: Ecto.Repo.Schema.do_insert/412221223 warning: the following clause will never match:12241225 {:error, _} = error ->12261227 because it attempts to match on the result of:12281229 apply(changeset, adapter, action, args)12301231 which has type:12321233 dynamic({:invalid or :ok, term()})12341235 type warning found at:1236 │1237 297 │ {:error, _} = error ->1238 │ ~1239 │1240 └─ lib/ecto/repo/schema.ex:297:25: Ecto.Repo.Schema.do_update/412411242 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1243 │1244 54 │ filter_and_reraise e, System.stacktrace1245 │ ~1246 │1247 └─ lib/ecto/repo/preloader.ex:54:36: Ecto.Repo.Preloader.normalize_and_preload_each/512481249 warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead1250 │1251 29 │ surround_many("#Ecto.Query<", list, ">", opts, fn str, _ -> str end)1252 │ ~1253 │1254 └─ lib/ecto/query/inspect.ex:29:5: Inspect.Ecto.Query.inspect/212551256 warning: Macro.to_string/2 is deprecated. Use Macro.to_string/1 instead1257 │1258 144 │ Macro.to_string(expr, &expr_to_string(&1, &2, names, part))1259 │ ~1260 │1261 └─ lib/ecto/query/inspect.ex:144:11: Inspect.Ecto.Query.expr/312621263 warning: Map.size/1 is deprecated. Use Kernel.map_size/1 instead1264 │1265 44 │ index = Map.size(params)1266 │ ~1267 │1268 └─ lib/ecto/query/builder.ex:44:18: Ecto.Query.Builder.escape/51269 └─ lib/ecto/query/builder.ex:53:17: Ecto.Query.Builder.escape/512701271 warning: Decimal.minus/1 is deprecated. Use Decimal.negate/1 instead1272 │1273 614 │ Decimal.minus(decimal)1274 │ ~1275 │1276 └─ lib/ecto/query/builder.ex:614:13: Ecto.Query.Builder.negate!/112771278 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)1279 │1280 228 │ raise BadStructError, struct: struct, term: data1281 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1282 │1283 └─ lib/ecto/repo/queryable.ex:228: Ecto.Repo.Queryable.process/512841285 warning: the following clause will never match:12861287 {:error, _} ->12881289 because it attempts to match on the result of:12901291 NaiveDateTime.new(date, time)12921293 which has type:12941295 dynamic({:ok, %NaiveDateTime{}})12961297 type warning found at:1298 │1299 803 │ {:error, _} -> :error1300 │ ~~~~~~~~~~~~~~~~~~~~~1301 │1302 └─ lib/ecto/type.ex:803: Ecto.Type.cast_naive_datetime/113031304 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1305 │1306 159 │ supervise(children, strategy: :one_for_one)1307 │ ~1308 │1309 └─ lib/ecto/repo/supervisor.ex:159:9: Ecto.Repo.Supervisor.init/113101311 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1312 │1313 214 │ filter_and_reraise e, System.stacktrace1314 │ ~1315 │1316 └─ lib/ecto/query/planner.ex:214:36: Ecto.Query.Planner.prepare/41317 └─ lib/ecto/query/planner.ex:709:36: Ecto.Query.Planner.normalize/413181319 warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead1320 │1321 15 │ surround_many("dynamic(", [Macro.to_string(binding), inspected], ")", opts, fn str, _ -> str end)1322 │ ~1323 │1324 └─ lib/ecto/query/inspect.ex:15:5: Inspect.Ecto.Query.DynamicExpr.inspect/213251326 warning: expected a map or struct when accessing .__struct__ in expression:13271328 schema.__struct__13291330 where "schema" was given the types:13311332 # type: dynamic(atom() and not nil)1333 # from: lib/ecto/query/planner.ex:1186:411334 schema13351336 # type: atom()1337 # from: lib/ecto/query/planner.ex:1186:611338 is_atom(schema)13391340 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()13411342 type warning found at:1343 │1344 1190 │ Map.has_key?(schema.__struct__, field) ->1345 │ ~1346 │1347 └─ lib/ecto/query/planner.ex:1190:27: Ecto.Query.Planner.type!/613481349 warning: incompatible types given to Ecto.Migration.SchemaMigration.migrated_versions/2:13501351 Ecto.Migration.SchemaMigration.migrated_versions(repo, opts[:prefix])13521353 given types:13541355 (1356 -dynamic(%{..., __adapter__: term(), config: empty_list() or non_empty_list(term(), term())})-,1357 dynamic()1358 )13591360 but expected one of:13611362 atom(), term()13631364 where "opts" was given the type:13651366 # type: dynamic(1367 %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or1368 non_struct_map()1369 )1370 # from: lib/ecto/migrator.ex:44:651371 opts[:prefix]13721373 where "repo" was given the type:13741375 # type: dynamic(%{..., __adapter__: term(), config: empty_list() or non_empty_list(term(), term())})1376 # from: lib/ecto/migrator.ex:44:231377 Ecto.Migration.SchemaMigration.ensure_schema_migrations_table!(repo, opts[:prefix])13781379 type warning found at:1380 │1381 45 │ SchemaMigration.migrated_versions(repo, opts[:prefix])1382 │ ~1383 │1384 └─ lib/ecto/migrator.ex:45:23: Ecto.Migrator.migrated_versions/213851386 warning: expected a module (an atom) when invoking transaction/2 in expression:13871388 repo.transaction(fun, log: false, timeout: :infinity)13891390 where "fun" was given the type:13911392 # type: dynamic()1393 # from: lib/ecto/migrator.ex:114:471394 fun13951396 where "repo" was given the types:13971398 # type: dynamic(%{..., __adapter__: %{..., supports_ddl_transaction?: term()}})1399 # from: lib/ecto/migrator.ex:118:241400 repo.__adapter__.supports_ddl_transaction?14011402 # type: dynamic(%{..., __adapter__: %{..., supports_ddl_transaction?: not false and not nil}})1403 # from: lib/ecto/migrator.ex:118:241404 repo.__adapter__.supports_ddl_transaction?14051406 type warning found at:1407 │1408 119 │ repo.transaction(fun, [log: false, timeout: :infinity])1409 │ ~1410 │1411 └─ lib/ecto/migrator.ex:119:14: Ecto.Migrator.run_maybe_in_transaction/314121413 warning: Code.load_file/1 is deprecated. Use Code.require_file/2 or Code.compile_file/2 instead1414 │1415 291 │ modules = Code.load_file(file)1416 │ ~1417 │1418 └─ lib/ecto/migrator.ex:291:20: Ecto.Migrator.extract_module/214191420 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1421 │1422 321 │ reraise error, System.stacktrace1423 │ ~1424 │1425 └─ lib/ecto/migrator.ex:321:31: Ecto.Migrator.verbose_schema_migration/314261427 warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead1428 │1429 12 │ worker(Ecto.Migration.Runner, [], restart: :temporary)1430 │ ~1431 │1432 └─ lib/ecto/migration/supervisor.ex:12:7: Ecto.Migration.Supervisor.init/114331434 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1435 │1436 15 │ supervise(children, strategy: :simple_one_for_one)1437 │ ~1438 │1439 └─ lib/ecto/migration/supervisor.ex:15:5: Ecto.Migration.Supervisor.init/114401441 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1442 │1443 10 │ worker(Ecto.Registry, []),1444 │ ~1445 │1446 └─ lib/ecto/application.ex:10:7: Ecto.Application.start/214471448 warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1449 │1450 11 │ supervisor(Ecto.Migration.Supervisor, [])1451 │ ~1452 │1453 └─ lib/ecto/application.ex:11:7: Ecto.Application.start/214541455Generated ecto app1456==> interactive_cmd1457Compiling 1 file (.ex)1458Generated interactive_cmd app1459==> nerves1460Compiling 65 files (.ex)1461 warning: redefining module Mix.Tasks.Nerves.Init (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Mix.Tasks.Nerves.Init.beam)1462 │1463 6 │ defmodule Mix.Tasks.Nerves.Init do1464 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1465 │1466 └─ lib/mix/tasks/nerves.init.ex:6: Mix.Tasks.Nerves.Init (module)14671468 warning: redefining module Nerves (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.beam)1469 │1470 6 │ defmodule Nerves do1471 │ ~~~~~~~~~~~~~~~~~~~1472 │1473 └─ lib/nerves.ex:6: Nerves (module)14741475 warning: redefining module Nerves.ArtifactResolver (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.ArtifactResolver.beam)1476 │1477 5 │ defmodule Nerves.ArtifactResolver do1478 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1479 │1480 └─ lib/nerves/artifact_resolver.ex:5: Nerves.ArtifactResolver (module)14811482 warning: redefining module Nerves.BuildAction.AppModes (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.AppModes.beam)1483 │1484 6 │ defmodule Nerves.BuildAction.AppModes do1485 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1486 │1487 └─ lib/nerves/build_action/app_modes.ex:6: Nerves.BuildAction.AppModes (module)14881489 warning: redefining module Nerves.BuildAction.CheckExecutables (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.CheckExecutables.beam)1490 │1491 5 │ defmodule Nerves.BuildAction.CheckExecutables do1492 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1493 │1494 └─ lib/nerves/build_action/check_executables.ex:5: Nerves.BuildAction.CheckExecutables (module)14951496 warning: redefining module Nerves.BuildAction.Erlinit (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.Erlinit.beam)1497 │1498 8 │ defmodule Nerves.BuildAction.Erlinit do1499 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1500 │1501 └─ lib/nerves/build_action/erlinit.ex:8: Nerves.BuildAction.Erlinit (module)15021503 warning: redefining module Nerves.BuildAction.Firmware (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.Firmware.beam)1504 │1505 5 │ defmodule Nerves.BuildAction.Firmware do1506 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1507 │1508 └─ lib/nerves/build_action/firmware.ex:5: Nerves.BuildAction.Firmware (module)15091510 warning: redefining module Nerves.BuildAction.IExStartupCheck (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.IExStartupCheck.beam)1511 │1512 7 │ defmodule Nerves.BuildAction.IExStartupCheck do1513 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1514 │1515 └─ lib/nerves/build_action/iex_startup_check.ex:7: Nerves.BuildAction.IExStartupCheck (module)15161517 warning: redefining module Nerves.BuildAction.NervesV1System (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1System.beam)1518 │1519 5 │ defmodule Nerves.BuildAction.NervesV1System do1520 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1521 │1522 └─ lib/nerves/build_action/nerves_v1_system.ex:5: Nerves.BuildAction.NervesV1System (module)15231524 warning: redefining module Nerves.BuildAction.NervesV1Toolchain (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1Toolchain.beam)1525 │1526 5 │ defmodule Nerves.BuildAction.NervesV1Toolchain do1527 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1528 │1529 └─ lib/nerves/build_action/nerves_v1_toolchain.ex:5: Nerves.BuildAction.NervesV1Toolchain (module)15301531 warning: redefining module Nerves.BuildAction.Rootfs (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.Rootfs.beam)1532 │1533 5 │ defmodule Nerves.BuildAction.Rootfs do1534 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1535 │1536 └─ lib/nerves/build_action/rootfs.ex:5: Nerves.BuildAction.Rootfs (module)15371538 warning: redefining module Nerves.BuildAction.SortApps (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.SortApps.beam)1539 │1540 6 │ defmodule Nerves.BuildAction.SortApps do1541 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1542 │1543 └─ lib/nerves/build_action/sort_apps.ex:6: Nerves.BuildAction.SortApps (module)15441545 warning: redefining module Nerves.BuildAction.StripAll (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.StripAll.beam)1546 │1547 5 │ defmodule Nerves.BuildAction.StripAll do1548 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1549 │1550 └─ lib/nerves/build_action/strip_all.ex:5: Nerves.BuildAction.StripAll (module)15511552 warning: redefining module Nerves.BuildAction.Trimmer (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.Trimmer.beam)1553 │1554 5 │ defmodule Nerves.BuildAction.Trimmer do1555 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1556 │1557 └─ lib/nerves/build_action/trimmer.ex:5: Nerves.BuildAction.Trimmer (module)15581559 warning: redefining module Nerves.BuildPlan (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildPlan.beam)1560 │1561 5 │ defmodule Nerves.BuildPlan do1562 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1563 │1564 └─ lib/nerves/build_plan.ex:5: Nerves.BuildPlan (module)15651566 warning: redefining module Nerves.BuildPlan.Checks (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildPlan.Checks.beam)1567 │1568 5 │ defmodule Nerves.BuildPlan.Checks do1569 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1570 │1571 └─ lib/nerves/build_plan/checks.ex:5: Nerves.BuildPlan.Checks (module)15721573 warning: redefining module Nerves.Container (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.Container.beam)1574 │1575 6 │ defmodule Nerves.Container do1576 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1577 │1578 └─ lib/nerves/container.ex:6: Nerves.Container (module)15791580 warning: redefining module Nerves.Fingerprint (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.Fingerprint.beam)1581 │1582 5 │ defmodule Nerves.Fingerprint do1583 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1584 │1585 └─ lib/nerves/fingerprint.ex:5: Nerves.Fingerprint (module)15861587 warning: redefining module Nerves.MixPackage (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.MixPackage.beam)1588 │1589 5 │ defmodule Nerves.MixPackage do1590 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1591 │1592 └─ lib/nerves/mix_package.ex:5: Nerves.MixPackage (module)15931594 warning: redefining module Nerves.Paths (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.Paths.beam)1595 │1596 5 │ defmodule Nerves.Paths do1597 │ ~~~~~~~~~~~~~~~~~~~~~~~~~1598 │1599 └─ lib/nerves/paths.ex:5: Nerves.Paths (module)16001601 warning: redefining module Nerves.TargetTuple (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.TargetTuple.beam)1602 │1603 5 │ defmodule Nerves.TargetTuple do1604 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1605 │1606 └─ lib/nerves/target_tuple.ex:5: Nerves.TargetTuple (module)16071608Generated nerves app1609==> nerves_toolchain_armv6_nerves_linux_gnueabihf1610Compiling 1 file (.ex)1611Generated nerves_toolchain_armv6_nerves_linux_gnueabihf app1612==> nerves_system_rpi01613Generated nerves_system_rpi0 app1614==> nerves_compatibility_test1615===> Analyzing applications...1616===> Compiling unicode_util_compat1617===> Analyzing applications...1618===> Compiling idna1619==> public_suffix1620Compiling 3 files (.ex)1621warning: cannot infer signatures from :idna because it is not loaded16221623warning: cannot infer signatures from :unicode_util_compat because it is not loaded16241625warning: Kernel.to_char_list/1 is deprecated, use Kernel.to_charlist/1 instead1626 lib/public_suffix/remote_file_fetcher.ex:13: PublicSuffix.RemoteFileFetcher.fetch_remote_file/116271628 warning: Application.get_env/3 is discouraged in the module body, use Application.compile_env/3 instead1629 │1630 173 │ raw_data = if Application.get_env(:public_suffix, :download_data_on_compile, false) do1631 │ ~1632 │1633 └─ lib/public_suffix.ex:173:29: PublicSuffix (module)163416351636== Compilation error in file lib/public_suffix.ex ==1637** (UndefinedFunctionError) function :idna.to_ascii/1 is undefined (module :idna is not available)1638 :idna.to_ascii(~c"ac")1639 lib/public_suffix/rules_parser.ex:62: PublicSuffix.RulesParser.punycode_domain/11640 lib/public_suffix/rules_parser.ex:35: anonymous fn/1 in PublicSuffix.RulesParser.parse_rules_section/21641 (elixir 1.20.3) lib/stream.ex:524: anonymous fn/3 in Stream.flat_map/21642 (elixir 1.20.3) lib/stream.ex:1009: Stream.do_transform_user/61643 (elixir 1.20.3) lib/enum.ex:4667: Enum.split_with/21644 lib/public_suffix/rules_parser.ex:38: PublicSuffix.RulesParser.parse_rules_section/21645 lib/public_suffix/rules_parser.ex:18: PublicSuffix.RulesParser.parse_rules/11646could 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"