Build log
nerves_system_trellis
sitesx 0.11.0 · fail · run sitesx-0.11.0-1791103582716
1645 of 1645 lines
1Resolving Hex dependencies...2Resolution completed in 0.213s3Unchanged: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_trellis/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_trellis/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/trellis/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: incompatible types given to Mix.Ecto.ensure_started/2:758759 Mix.Ecto.ensure_started(repo, all: true)760761 given types:762763 -dynamic(atom())-, non_empty_list({:all, true})764765 but expected one of:766767 %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())768769 where "repo" was given the type:770771 # type: dynamic(atom())772 # from: lib/mix/tasks/ecto.migrations.ex:37:7773 Mix.Ecto.ensure_repo(repo, args)774775 type warning found at:776 │777 39 │ {:ok, pid, _} = ensure_started(repo, all: true)778 │ ~779 │780 └─ lib/mix/tasks/ecto.migrations.ex:39:23: Mix.Tasks.Ecto.Migrations.run/3781782 warning: incompatible types given to Mix.Ecto.ensure_started/2:783784 Mix.Ecto.ensure_started(repo, opts)785786 given types:787788 -dynamic(atom())-, dynamic(empty_list() or non_empty_list(term(), term()))789790 but expected one of:791792 %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())793794 where "opts" was given the type:795796 # type: dynamic(797 %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or798 non_struct_map()799 )800 # from: lib/mix/tasks/ecto.migrate.ex:68:10801 opts =802 if opts[:quiet] do803 Keyword.merge(opts, log: false, log_sql: false)804 else805 opts806 end807808 where "repo" was given the type:809810 # type: dynamic(atom())811 # from: lib/mix/tasks/ecto.migrate.ex:74:7812 Mix.Ecto.ensure_repo(repo, args)813814 type warning found at:815 │816 76 │ {:ok, pid, apps} = ensure_started(repo, opts)817 │ ~818 │819 └─ lib/mix/tasks/ecto.migrate.ex:76:26: Mix.Tasks.Ecto.Migrate.run/2820821 warning: struct DBConnection.OwnershipError is undefined (module DBConnection.OwnershipError is not available or is yet to be defined)822 │823 258 │ err in DBConnection.OwnershipError ->824 │ ~825 │826 └─ lib/ecto/adapters/sql.ex:258:11: Ecto.Adapters.SQL.sql_call/6827828 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead829 │830 260 │ reraise %{err | message: message}, System.stacktrace831 │ ~832 │833 └─ lib/ecto/adapters/sql.ex:260:51: Ecto.Adapters.SQL.sql_call/6834835 warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead836 │837 2400 │ surround_many("#Ecto.Changeset<", list, ">", opts, fn838 │ ~839 │840 └─ lib/ecto/changeset.ex:2400:5: Inspect.Ecto.Changeset.inspect/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: the following clause will never match:891892 [{^module, :changeset, args_or_arity, _}] when args_or_arity == 2 when length(args_or_arity) == 2 ->893894 because it attempts to match on the result of:895896 System.stacktrace()897898 which has type:899900 empty_list()901902 where "args_or_arity" was given the type:903904 # type: float() or integer() or non_empty_list(term())905 # from: lib/ecto/changeset.ex906 (_() when args_or_arity == 2) when length(args_or_arity) == 2907908 where "module" was given the type:909910 # type: dynamic()911 # from: lib/ecto/changeset.ex:733:30912 module913914 type warning found at:915 │916 741 │ ... when length(args_or_arity) == 2 ->917 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~918 │919 └─ lib/ecto/changeset.ex:741: Ecto.Changeset.on_cast_default/2920921 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead922 │923 739 │ case System.stacktrace do924 │ ~925 │926 └─ lib/ecto/changeset.ex:739:23: Ecto.Changeset.on_cast_default/2927928 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.dump.ex:50: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 51 │ ensure_implements(repo.__adapter__, Ecto.Adapter.Structure,943 │ ~944 │945 └─ lib/mix/tasks/ecto.dump.ex:51:30: Mix.Tasks.Ecto.Dump.run/1946947 warning: expected a map or struct when accessing .__adapter__ in expression:948949 repo.__adapter__950951 where "repo" was given the type:952953 # type: dynamic(atom())954 # from: lib/mix/tasks/ecto.drop.ex:39:7955 Mix.Ecto.ensure_repo(repo, args)956957 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()958959 type warning found at:960 │961 40 │ ensure_implements(repo.__adapter__, Ecto.Adapter.Storage,962 │ ~963 │964 └─ lib/mix/tasks/ecto.drop.ex:40:30: Mix.Tasks.Ecto.Drop.run/1965966 warning: expected a map or struct when accessing .__adapter__ in expression:967968 repo.__adapter__969970 where "repo" was given the type:971972 # type: dynamic(atom())973 # from: lib/mix/tasks/ecto.create.ex:37:7974 Mix.Ecto.ensure_repo(repo, args)975976 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()977978 type warning found at:979 │980 38 │ ensure_implements(repo.__adapter__, Ecto.Adapter.Storage,981 │ ~982 │983 └─ lib/mix/tasks/ecto.create.ex:38:30: Mix.Tasks.Ecto.Create.run/1984985 warning: Mix.Project.compile/1 is deprecated. Use Mix.Task.run("compile", args) instead986 │987 62 │ Mix.Project.compile(args)988 │ ~989 │990 └─ lib/mix/ecto.ex:62:19: Mix.Ecto.ensure_repo/2991992 warning: expected a module (an atom) when invoking start_link/1 in expression:993994 repo.start_link(pool_size: pool_size)995996 where "pool_size" was given the type:997998 # type: dynamic()999 # from: lib/mix/ecto.ex:101:151000 pool_size = Keyword.get(opts, :pool_size, 1)10011002 where "repo" was given the type:10031004 # type: dynamic(%{..., __adapter__: atom()})1005 # from: lib/mix/ecto.ex:99:361006 repo.__adapter__.ensure_all_started(repo, :temporary)10071008 type warning found at:1009 │1010 102 │ case repo.start_link(pool_size: pool_size) do1011 │ ~1012 │1013 └─ lib/mix/ecto.ex:102:15: Mix.Ecto.ensure_started/210141015 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1016 │1017 856 │ not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->1018 │ ~1019 │1020 └─ lib/ecto/association.ex:856:78: Ecto.Association.ManyToMany.after_compile_validation/21021 └─ lib/ecto/association.ex:860:45: Ecto.Association.ManyToMany.after_compile_validation/210221023 warning: Logger.remove_backend/1 is deprecated. Use LoggerBackends.remove/2 from :logger_backends dependency1024 │1025 146 │ Logger.remove_backend(:console)1026 │ ~1027 │1028 └─ lib/mix/ecto.ex:146:12: Mix.Ecto.restart_apps_if_migrated/210291030 warning: Logger.add_backend/2 is deprecated. Use LoggerBackends.add/2 from :logger_backends dependency1031 │1032 155 │ Logger.add_backend(:console, flush: true)1033 │ ~1034 │1035 └─ lib/mix/ecto.ex:155:12: Mix.Ecto.restart_apps_if_migrated/210361037 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1038 │1039 715 │ not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->1040 │ ~1041 │1042 └─ lib/ecto/association.ex:715:78: Ecto.Association.BelongsTo.after_compile_validation/210431044 warning: incompatible types given to get_source/1:10451046 get_source(repo)10471048 given types:10491050 -dynamic(atom())-10511052 but expected one of:10531054 %{..., config: empty_list() or non_empty_list(term(), term())}10551056 where "repo" was given the type:10571058 # type: dynamic(atom())1059 # from: lib/ecto/migration/schema_migration.ex:24:131060 repo.all(1061 Map.put(1062 (1063 query =1064 (1065 query = {get_source(repo), Ecto.Migration.SchemaMigration}1066 Ecto.Query.Builder.From.apply(query, 1)1067 )1068 1069 Ecto.Query.Builder.Select.apply(query, %Ecto.Query.SelectExpr{1070 ...,1071 expr: {{:., [], [{:&, [], [0]}, :version]}, [], []},1072 file: "/work/proj/deps_trellis/ecto/lib/ecto/migration/schema_migration.ex",1073 line: 22,1074 take: %{}1075 })1076 ),1077 :prefix,1078 prefix1079 ), timeout: :infinity, log: false)10801081 type warning found at:1082 │1083 22 │ from(p in {get_source(repo), __MODULE__}, select: p.version)1084 │ ~1085 │1086 └─ lib/ecto/migration/schema_migration.ex:22:16: Ecto.Migration.SchemaMigration.migrated_versions/210871088 warning: incompatible types given to get_source/1:10891090 get_source(repo)10911092 given types:10931094 -dynamic(atom())-10951096 but expected one of:10971098 %{..., config: empty_list() or non_empty_list(term(), term())}10991100 where "repo" was given the type:11011102 # type: dynamic(atom())1103 # from: lib/ecto/migration/schema_migration.ex:30:131104 repo.insert!(1105 Ecto.put_meta(%Ecto.Migration.SchemaMigration{..., version: version},1106 prefix: prefix,1107 source: get_source(repo)1108 ), timeout: :infinity, log: false)11091110 type warning found at:1111 │1112 29 │ |> Ecto.put_meta(prefix: prefix, source: get_source(repo))1113 │ ~1114 │1115 └─ lib/ecto/migration/schema_migration.ex:29:46: Ecto.Migration.SchemaMigration.up/311161117 warning: the following conditional expression:11181119 is_atom(related)11201121 will always evaluate to:11221123 dynamic(true)11241125 where "related" was given the type:11261127 # type: dynamic(atom())1128 # from: lib/ecto/association.ex:730:151129 related = Ecto.Association.related_from_query(queryable)11301131 type warning found at:1132 │1133 732 │ unless is_atom(related) do1134 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~1135 │1136 └─ lib/ecto/association.ex:732: Ecto.Association.BelongsTo.struct/311371138 warning: incompatible types given to get_source/1:11391140 get_source(repo)11411142 given types:11431144 -dynamic(atom())-11451146 but expected one of:11471148 %{..., config: empty_list() or non_empty_list(term(), term())}11491150 where "repo" was given the type:11511152 # type: dynamic(atom())1153 # from: lib/ecto/migration/schema_migration.ex:36:131154 repo.delete_all(1155 Map.put(1156 (1157 query =1158 (1159 query = {get_source(repo), Ecto.Migration.SchemaMigration}1160 Ecto.Query.Builder.From.apply(query, 1)1161 )1162 1163 Ecto.Query.Builder.Filter.apply(query, :where, %Ecto.Query.BooleanExpr{1164 expr: {:==, [], [{{:., [], [{:&, [], [0]}, :version]}, [], []}, {:^, [], [0]}]},1165 op: :and,1166 params: [{Ecto.Query.Builder.not_nil!(version), {0, :version}}],1167 file: "/work/proj/deps_trellis/ecto/lib/ecto/migration/schema_migration.ex",1168 line: 341169 })1170 ),1171 :prefix,1172 prefix1173 ), timeout: :infinity, log: false)11741175 type warning found at:1176 │1177 34 │ from(p in {get_source(repo), __MODULE__}, where: p.version == ^version)1178 │ ~1179 │1180 └─ lib/ecto/migration/schema_migration.ex:34:16: Ecto.Migration.SchemaMigration.down/311811182 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1183 │1184 430 │ not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->1185 │ ~1186 │1187 └─ lib/ecto/association.ex:430:78: Ecto.Association.Has.after_compile_validation/211881189 warning: this clause of defp type_to_module/1 is never used (or it will always fail/warn when invoked)1190 │1191 1422 │ defp type_to_module(:naive_datetime), do: NaiveDateTime1192 │ ~1193 │1194 └─ lib/ecto/schema.ex:1422:8: Ecto.Schema.type_to_module/111951196 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1197 │1198 1885 │ if Code.ensure_compiled?(type) and function_exported?(type, :type, 0) do1199 │ ~1200 │1201 └─ lib/ecto/schema.ex:1885:17: Ecto.Schema.check_type!/312021203 warning: the following clause will never match:12041205 {:error, _} = error ->12061207 because it attempts to match on the result of:12081209 apply(changeset, adapter, :insert, args)12101211 which has type:12121213 dynamic({:invalid or :ok, term()})12141215 type warning found at:1216 │1217 219 │ {:error, _} = error ->1218 │ ~1219 │1220 └─ lib/ecto/repo/schema.ex:219:23: Ecto.Repo.Schema.do_insert/412211222 warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead1223 │1224 29 │ surround_many("#Ecto.Query<", list, ">", opts, fn str, _ -> str end)1225 │ ~1226 │1227 └─ lib/ecto/query/inspect.ex:29:5: Inspect.Ecto.Query.inspect/212281229 warning: the following clause will never match:12301231 {:error, _} = error ->12321233 because it attempts to match on the result of:12341235 apply(changeset, adapter, action, args)12361237 which has type:12381239 dynamic({:invalid or :ok, term()})12401241 type warning found at:1242 │1243 297 │ {:error, _} = error ->1244 │ ~1245 │1246 └─ lib/ecto/repo/schema.ex:297:25: Ecto.Repo.Schema.do_update/412471248 warning: Macro.to_string/2 is deprecated. Use Macro.to_string/1 instead1249 │1250 144 │ Macro.to_string(expr, &expr_to_string(&1, &2, names, part))1251 │ ~1252 │1253 └─ lib/ecto/query/inspect.ex:144:11: Inspect.Ecto.Query.expr/312541255 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: 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)1271 │1272 228 │ raise BadStructError, struct: struct, term: data1273 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1274 │1275 └─ lib/ecto/repo/queryable.ex:228: Ecto.Repo.Queryable.process/512761277 warning: Decimal.minus/1 is deprecated. Use Decimal.negate/1 instead1278 │1279 614 │ Decimal.minus(decimal)1280 │ ~1281 │1282 └─ lib/ecto/query/builder.ex:614:13: Ecto.Query.Builder.negate!/112831284 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: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1304 │1305 159 │ supervise(children, strategy: :one_for_one)1306 │ ~1307 │1308 └─ lib/ecto/repo/supervisor.ex:159:9: Ecto.Repo.Supervisor.init/113091310 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1311 │1312 214 │ filter_and_reraise e, System.stacktrace1313 │ ~1314 │1315 └─ lib/ecto/query/planner.ex:214:36: Ecto.Query.Planner.prepare/41316 └─ lib/ecto/query/planner.ex:709:36: Ecto.Query.Planner.normalize/413171318 warning: expected a map or struct when accessing .__struct__ in expression:13191320 schema.__struct__13211322 where "schema" was given the types:13231324 # type: dynamic(atom() and not nil)1325 # from: lib/ecto/query/planner.ex:1186:411326 schema13271328 # type: atom()1329 # from: lib/ecto/query/planner.ex:1186:611330 is_atom(schema)13311332 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()13331334 type warning found at:1335 │1336 1190 │ Map.has_key?(schema.__struct__, field) ->1337 │ ~1338 │1339 └─ lib/ecto/query/planner.ex:1190:27: Ecto.Query.Planner.type!/613401341 warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead1342 │1343 15 │ surround_many("dynamic(", [Macro.to_string(binding), inspected], ")", opts, fn str, _ -> str end)1344 │ ~1345 │1346 └─ lib/ecto/query/inspect.ex:15:5: Inspect.Ecto.Query.DynamicExpr.inspect/213471348 warning: incompatible types given to Ecto.Migration.SchemaMigration.migrated_versions/2:13491350 Ecto.Migration.SchemaMigration.migrated_versions(repo, opts[:prefix])13511352 given types:13531354 (1355 -dynamic(%{..., __adapter__: term(), config: empty_list() or non_empty_list(term(), term())})-,1356 dynamic()1357 )13581359 but expected one of:13601361 atom(), term()13621363 where "opts" was given the type:13641365 # type: dynamic(1366 %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or1367 non_struct_map()1368 )1369 # from: lib/ecto/migrator.ex:44:651370 opts[:prefix]13711372 where "repo" was given the type:13731374 # type: dynamic(%{..., __adapter__: term(), config: empty_list() or non_empty_list(term(), term())})1375 # from: lib/ecto/migrator.ex:44:231376 Ecto.Migration.SchemaMigration.ensure_schema_migrations_table!(repo, opts[:prefix])13771378 type warning found at:1379 │1380 45 │ SchemaMigration.migrated_versions(repo, opts[:prefix])1381 │ ~1382 │1383 └─ lib/ecto/migrator.ex:45:23: Ecto.Migrator.migrated_versions/213841385 warning: expected a module (an atom) when invoking transaction/2 in expression:13861387 repo.transaction(fun, log: false, timeout: :infinity)13881389 where "fun" was given the type:13901391 # type: dynamic()1392 # from: lib/ecto/migrator.ex:114:471393 fun13941395 where "repo" was given the types:13961397 # type: dynamic(%{..., __adapter__: %{..., supports_ddl_transaction?: term()}})1398 # from: lib/ecto/migrator.ex:118:241399 repo.__adapter__.supports_ddl_transaction?14001401 # type: dynamic(%{..., __adapter__: %{..., supports_ddl_transaction?: not false and not nil}})1402 # from: lib/ecto/migrator.ex:118:241403 repo.__adapter__.supports_ddl_transaction?14041405 type warning found at:1406 │1407 119 │ repo.transaction(fun, [log: false, timeout: :infinity])1408 │ ~1409 │1410 └─ lib/ecto/migrator.ex:119:14: Ecto.Migrator.run_maybe_in_transaction/314111412 warning: Code.load_file/1 is deprecated. Use Code.require_file/2 or Code.compile_file/2 instead1413 │1414 291 │ modules = Code.load_file(file)1415 │ ~1416 │1417 └─ lib/ecto/migrator.ex:291:20: Ecto.Migrator.extract_module/214181419 warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead1420 │1421 12 │ worker(Ecto.Migration.Runner, [], restart: :temporary)1422 │ ~1423 │1424 └─ lib/ecto/migration/supervisor.ex:12:7: Ecto.Migration.Supervisor.init/114251426 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1427 │1428 321 │ reraise error, System.stacktrace1429 │ ~1430 │1431 └─ lib/ecto/migrator.ex:321:31: Ecto.Migrator.verbose_schema_migration/314321433 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1434 │1435 15 │ supervise(children, strategy: :simple_one_for_one)1436 │ ~1437 │1438 └─ lib/ecto/migration/supervisor.ex:15:5: Ecto.Migration.Supervisor.init/114391440 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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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_armv7_nerves_linux_gnueabihf1609Compiling 1 file (.ex)1610Generated nerves_toolchain_armv7_nerves_linux_gnueabihf app1611==> nerves_system_trellis1612Generated nerves_system_trellis 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"