Build log
nerves_system_bbb
paleta 0.1.0 · fail · run paleta-0.1.0-1791031886408
1900 of 1900 lines
1Resolving Hex dependencies...2Resolution completed in 0.218s3Unchanged:4 castore 1.0.215 circular_buffer 1.1.06 combine 0.10.07 earmark 1.4.49 RETIRED! VULNERABLE!8 (deprecated) Earmark is no longer maintained. Migrate to a replacement, for example MDEx (https://hex.pm/packages/mdex).910 EEF-CVE-2026-48591 (MEDIUM)11 aka: CVE-2026-48591, GHSA-52mm-h59v-f3c712 Stored XSS via unescaped HTML attribute values in earmark13 https://osv.dev/vulnerability/EEF-CVE-2026-4859114 elixir_make 0.10.015 esbuild 0.10.016 expo 1.1.117 gettext 0.26.218 heroicons 0.5.619 inflex 2.1.020 interactive_cmd 0.1.421 jason 1.4.522 makeup 1.2.223 makeup_elixir 0.16.224 mime 2.0.725 nerves 2.0.0-pre.226 nerves_discovery 0.1.527 nerves_logging 0.2.428 nerves_runtime 0.13.1329 nerves_system_bbb 2.30.230 nerves_system_br 1.34.431 nerves_system_mangopi_mq_pro 0.17.232 nerves_system_qemu_aarch64 0.4.233 nerves_system_rpi0 2.1.234 nerves_system_rpi4 2.1.235 nerves_system_rpi5 2.1.236 nerves_system_trellis 0.5.037 nerves_system_x86_64 1.34.238 nerves_toolchain_aarch64_nerves_linux_gnu 15.3.139 nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.140 nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.141 nerves_toolchain_riscv64_nerves_linux_gnu 15.3.142 nerves_toolchain_x86_64_nerves_linux_musl 15.3.143 nerves_uevent 0.1.744 nimble_parsec 1.4.245 paleta 0.1.046 phoenix 1.7.2447 phoenix_html 3.3.448 phoenix_live_view 0.20.17 VULNERABLE!49 EEF-CVE-2026-64941 (LOW)50 aka: CVE-2026-64941, GHSA-36m4-rm57-3prf51 Open redirect in Phoenix.LiveView.validate_local_url!/2 via ASCII tab, LF and CR52 https://osv.dev/vulnerability/EEF-CVE-2026-6494153 phoenix_pubsub 2.3.054 phoenix_template 1.1.055 plug 1.20.356 plug_crypto 2.2.057 property_table 0.3.458 ring_logger 0.11.759 tablet 0.3.360 tailwind 0.5.161 telemetry 1.4.262 timex 3.7.1363 toolshed 0.5.064 tzdata 1.2.265 uboot_env 1.0.266 websock 0.5.367 websock_adapter 0.5.968* Getting paleta (Hex package)69* Getting nerves (Hex package)70* Getting ring_logger (Hex package)71* Getting toolshed (Hex package)72* Getting nerves_runtime (Hex package)73* Getting nerves_system_bbb (Hex package)74* Getting nerves_system_mangopi_mq_pro (Hex package)75* Getting nerves_system_qemu_aarch64 (Hex package)76* Getting nerves_system_rpi0 (Hex package)77* Getting nerves_system_rpi4 (Hex package)78* Getting nerves_system_rpi5 (Hex package)79* Getting nerves_system_trellis (Hex package)80* Getting nerves_system_x86_64 (Hex package)81* Getting nerves_system_br (Hex package)82* Getting nerves_toolchain_x86_64_nerves_linux_musl (Hex package)83* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)84* Getting nerves_toolchain_aarch64_nerves_linux_gnu (Hex package)85* Getting nerves_toolchain_armv6_nerves_linux_gnueabihf (Hex package)86* Getting nerves_toolchain_riscv64_nerves_linux_gnu (Hex package)87* Getting nerves_logging (Hex package)88* Getting nerves_uevent (Hex package)89* Getting uboot_env (Hex package)90* Getting elixir_make (Hex package)91* Getting property_table (Hex package)92* Getting circular_buffer (Hex package)93* Getting interactive_cmd (Hex package)94* Getting nerves_discovery (Hex package)95* Getting tablet (Hex package)96* Getting earmark (Hex package)97* Getting esbuild (Hex package)98* Getting heroicons (Hex package)99* Getting inflex (Hex package)100* Getting jason (Hex package)101* Getting makeup (Hex package)102* Getting makeup_elixir (Hex package)103* Getting phoenix_html (Hex package)104* Getting phoenix_live_view (Hex package)105* Getting tailwind (Hex package)106* Getting timex (Hex package)107* Getting combine (Hex package)108* Getting gettext (Hex package)109* Getting tzdata (Hex package)110* Getting expo (Hex package)111* Getting phoenix (Hex package)112* Getting phoenix_template (Hex package)113* Getting plug (Hex package)114* Getting telemetry (Hex package)115* Getting mime (Hex package)116* Getting plug_crypto (Hex package)117* Getting castore (Hex package)118* Getting phoenix_pubsub (Hex package)119* Getting websock_adapter (Hex package)120* Getting websock (Hex package)121* Getting nimble_parsec (Hex package)122Found retired packages, see above for details123Found packages with security advisories, see above for details124==> nerves_system_br125Generated nerves_system_br app126==> combine127Compiling 6 files (.ex)128 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 operator129 │130 26 │ <<bits::bitstring-size(n), rest::bitstring>> ->131 │ ~132 │133 └─ lib/combine/parsers/binary.ex:26:30: Combine.Parsers.Binary.bits_impl/2134135 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 operator136 │137 48 │ <<bits::bitstring-size(bits_size), rest::bitstring>> ->138 │ ~139 │140 └─ lib/combine/parsers/binary.ex:48:30: Combine.Parsers.Binary.bytes_impl/2141142 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 operator143 │144 70 │ <<int::big-unsigned-size(size), rest::bitstring>> ->145 │ ~146 │147 └─ lib/combine/parsers/binary.ex:70:36: Combine.Parsers.Binary.uint_impl/3148149 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 operator150 │151 77 │ <<int::little-unsigned-size(size), rest::bitstring>> ->152 │ ~153 │154 └─ lib/combine/parsers/binary.ex:77:39: Combine.Parsers.Binary.uint_impl/3155156 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 operator157 │158 101 │ <<int::big-signed-size(size), rest::bitstring>> ->159 │ ~160 │161 └─ lib/combine/parsers/binary.ex:101:34: Combine.Parsers.Binary.int_impl/3162163 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 operator164 │165 108 │ <<int::little-signed-size(size), rest::bitstring>> ->166 │ ~167 │168 └─ lib/combine/parsers/binary.ex:108:37: Combine.Parsers.Binary.int_impl/3169170 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 operator171 │172 128 │ <<num::float-size(size), rest::bitstring>> ->173 │ ~174 │175 └─ lib/combine/parsers/binary.ex:128:25: Combine.Parsers.Binary.float_impl/2176177 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 operator178 │179 432 │ <<^expected::binary-size(byte_size), rest::binary>> ->180 │ ~181 │182 └─ lib/combine/parsers/text.ex:432:34: Combine.Parsers.Text.string_impl/2183184 warning: the following clause is redundant:185186 defp word_of_impl(%Combine.ParserState{...} = state, _pattern)187188 it has type:189190 dynamic(%Combine.ParserState{status: :ok}), dynamic()191192 previous clauses have already matched on the following types:193194 %Combine.ParserState{status: :error}, term()195 %Combine.ParserState{status: :ok}, term()196197 │198 488 │ defp word_of_impl(%ParserState{status: :ok} = state, _pattern) do199 │ ~200 │201 └─ lib/combine/parsers/text.ex:488:8: Combine.Parsers.Text.word_of_impl/2202203Generated combine app204==> mime205Compiling 1 file (.ex)206Generated mime app207==> circular_buffer208Compiling 1 file (.ex)209Generated circular_buffer app210==> jason211Compiling 10 files (.ex)212Generated jason app213==> esbuild214Compiling 4 files (.ex)215Generated esbuild app216==> plug_crypto217Compiling 5 files (.ex)218Generated plug_crypto app219==> tzdata220Compiling 18 files (.ex)221Generated tzdata app222==> tablet223Compiling 2 files (.ex)224Generated tablet app225==> inflex226Compiling 6 files (.ex)227Generated inflex app228==> elixir_make229Compiling 8 files (.ex)230Generated elixir_make app231==> nerves_logging232 CC kmsg_tailer.o233 LD kmsg_tailer234Compiling 5 files (.ex)235Generated nerves_logging app236==> castore237Compiling 1 file (.ex)238Generated castore app239==> earmark240Compiling 2 files (.xrl)241Compiling 1 file (.yrl)242Compiling 3 files (.erl)243Compiling 61 files (.ex)244 warning: unused require Logger245 │246 3 │ require Logger247 │ ~248 │249 └─ lib/earmark_parser/line_scanner.ex:3:3250251 warning: this clause of defp _maybe_remove_paras/2 is never used (or it will always fail/warn when invoked)252 │253 616 │ defp _maybe_remove_paras(ast, %Options{inner_html: true}) do254 │ ~255 │256 └─ lib/earmark/transform.ex:616:8: Earmark.Transform._maybe_remove_paras/2257258Generated earmark app259==> nerves_discovery260Compiling 5 files (.ex)261Generated nerves_discovery app262==> ring_logger263Compiling 7 files (.ex)264Generated ring_logger app265==> interactive_cmd266Compiling 1 file (.ex)267Generated interactive_cmd app268==> nerves269Compiling 65 files (.ex)270 warning: redefining module Mix.Tasks.Nerves.Init (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Mix.Tasks.Nerves.Init.beam)271 │272 6 │ defmodule Mix.Tasks.Nerves.Init do273 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~274 │275 └─ lib/mix/tasks/nerves.init.ex:6: Mix.Tasks.Nerves.Init (module)276277 warning: redefining module Nerves (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.beam)278 │279 6 │ defmodule Nerves do280 │ ~~~~~~~~~~~~~~~~~~~281 │282 └─ lib/nerves.ex:6: Nerves (module)283284 warning: redefining module Nerves.ArtifactResolver (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.ArtifactResolver.beam)285 │286 5 │ defmodule Nerves.ArtifactResolver do287 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~288 │289 └─ lib/nerves/artifact_resolver.ex:5: Nerves.ArtifactResolver (module)290291 warning: redefining module Nerves.BuildAction.AppModes (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.AppModes.beam)292 │293 6 │ defmodule Nerves.BuildAction.AppModes do294 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~295 │296 └─ lib/nerves/build_action/app_modes.ex:6: Nerves.BuildAction.AppModes (module)297298 warning: redefining module Nerves.BuildAction.CheckExecutables (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.CheckExecutables.beam)299 │300 5 │ defmodule Nerves.BuildAction.CheckExecutables do301 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~302 │303 └─ lib/nerves/build_action/check_executables.ex:5: Nerves.BuildAction.CheckExecutables (module)304305 warning: redefining module Nerves.BuildAction.Firmware (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.Firmware.beam)306 │307 5 │ defmodule Nerves.BuildAction.Firmware do308 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~309 │310 └─ lib/nerves/build_action/firmware.ex:5: Nerves.BuildAction.Firmware (module)311312 warning: redefining module Nerves.BuildAction.Erlinit (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.Erlinit.beam)313 │314 8 │ defmodule Nerves.BuildAction.Erlinit do315 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~316 │317 └─ lib/nerves/build_action/erlinit.ex:8: Nerves.BuildAction.Erlinit (module)318319 warning: redefining module Nerves.BuildAction.IExStartupCheck (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.IExStartupCheck.beam)320 │321 7 │ defmodule Nerves.BuildAction.IExStartupCheck do322 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~323 │324 └─ lib/nerves/build_action/iex_startup_check.ex:7: Nerves.BuildAction.IExStartupCheck (module)325326 warning: redefining module Nerves.BuildAction.NervesV1System (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1System.beam)327 │328 5 │ defmodule Nerves.BuildAction.NervesV1System do329 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~330 │331 └─ lib/nerves/build_action/nerves_v1_system.ex:5: Nerves.BuildAction.NervesV1System (module)332333 warning: redefining module Nerves.BuildAction.NervesV1Toolchain (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1Toolchain.beam)334 │335 5 │ defmodule Nerves.BuildAction.NervesV1Toolchain do336 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~337 │338 └─ lib/nerves/build_action/nerves_v1_toolchain.ex:5: Nerves.BuildAction.NervesV1Toolchain (module)339340 warning: redefining module Nerves.BuildAction.Rootfs (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.Rootfs.beam)341 │342 5 │ defmodule Nerves.BuildAction.Rootfs do343 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~344 │345 └─ lib/nerves/build_action/rootfs.ex:5: Nerves.BuildAction.Rootfs (module)346347 warning: redefining module Nerves.BuildAction.SortApps (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.SortApps.beam)348 │349 6 │ defmodule Nerves.BuildAction.SortApps do350 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~351 │352 └─ lib/nerves/build_action/sort_apps.ex:6: Nerves.BuildAction.SortApps (module)353354 warning: redefining module Nerves.BuildAction.StripAll (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.StripAll.beam)355 │356 5 │ defmodule Nerves.BuildAction.StripAll do357 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~358 │359 └─ lib/nerves/build_action/strip_all.ex:5: Nerves.BuildAction.StripAll (module)360361 warning: redefining module Nerves.BuildAction.Trimmer (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.Trimmer.beam)362 │363 5 │ defmodule Nerves.BuildAction.Trimmer do364 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~365 │366 └─ lib/nerves/build_action/trimmer.ex:5: Nerves.BuildAction.Trimmer (module)367368 warning: redefining module Nerves.BuildPlan (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildPlan.beam)369 │370 5 │ defmodule Nerves.BuildPlan do371 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~372 │373 └─ lib/nerves/build_plan.ex:5: Nerves.BuildPlan (module)374375 warning: redefining module Nerves.BuildPlan.Checks (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildPlan.Checks.beam)376 │377 5 │ defmodule Nerves.BuildPlan.Checks do378 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~379 │380 └─ lib/nerves/build_plan/checks.ex:5: Nerves.BuildPlan.Checks (module)381382 warning: redefining module Nerves.Container (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.Container.beam)383 │384 6 │ defmodule Nerves.Container do385 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~386 │387 └─ lib/nerves/container.ex:6: Nerves.Container (module)388389 warning: redefining module Nerves.Fingerprint (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.Fingerprint.beam)390 │391 5 │ defmodule Nerves.Fingerprint do392 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~393 │394 └─ lib/nerves/fingerprint.ex:5: Nerves.Fingerprint (module)395396 warning: redefining module Nerves.MixPackage (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.MixPackage.beam)397 │398 5 │ defmodule Nerves.MixPackage do399 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~400 │401 └─ lib/nerves/mix_package.ex:5: Nerves.MixPackage (module)402403 warning: redefining module Nerves.Paths (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.Paths.beam)404 │405 5 │ defmodule Nerves.Paths do406 │ ~~~~~~~~~~~~~~~~~~~~~~~~~407 │408 └─ lib/nerves/paths.ex:5: Nerves.Paths (module)409410 warning: redefining module Nerves.TargetTuple (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.TargetTuple.beam)411 │412 5 │ defmodule Nerves.TargetTuple do413 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~414 │415 └─ lib/nerves/target_tuple.ex:5: Nerves.TargetTuple (module)416417Generated nerves app418==> nerves_toolchain_armv7_nerves_linux_gnueabihf419Compiling 1 file (.ex)420Generated nerves_toolchain_armv7_nerves_linux_gnueabihf app421==> nimble_parsec422Compiling 4 files (.ex)423Generated nimble_parsec app424==> makeup425Compiling 15 files (.ex)426Generated makeup app427==> makeup_elixir428Compiling 6 files (.ex)429Compiling lib/makeup/lexers/elixir_lexer.ex (it's taking more than 10s)430Generated makeup_elixir app431==> nerves_compatibility_test432===> Analyzing applications...433===> Compiling telemetry434==> expo435Compiling 2 files (.erl)436Compiling 22 files (.ex)437Generated expo app438==> gettext439Compiling 18 files (.ex)440 warning: unused require Gettext.Macros441 │442 594 │ require Gettext.Macros443 │ ~444 │445 └─ lib/gettext.ex:594:3446447 warning: Kernel.ParallelCompiler.async/1 is deprecated. Use `pmap/2` instead448 │449 426 │ Kernel.ParallelCompiler.async(fn ->450 │ ~451 │452 └─ lib/gettext/compiler.ex:426:39: Gettext.Compiler.compile_po_files/3453454 warning: the following clause is redundant:455456 defp ensure_empty_msgstr!(%Expo.Message.Plural{} = message)457458 it has type:459460 dynamic(%Expo.Message.Plural{})461462 previous clauses have already matched on the following types:463464 %Expo.Message.Singular{}465 %Expo.Message.Plural{}466467 │468 391 │ defp ensure_empty_msgstr!(%Message.Plural{} = message) do469 │ ~470 │471 └─ lib/gettext/extractor.ex:391:8: Gettext.Extractor.ensure_empty_msgstr!/1472473Generated gettext app474==> phoenix_pubsub475Compiling 12 files (.ex)476Generated phoenix_pubsub app477==> plug478Compiling 1 file (.erl)479Compiling 42 files (.ex)480Generated plug app481==> phoenix_html482Compiling 9 files (.ex)483 warning: comparison between distinct types found:484485 id == nil486487 given types:488489 dynamic(not false and not nil and not binary()) == nil490491 where "id" was given the types:492493 # type: dynamic(not false and not nil)494 # from: lib/phoenix_html/form_data.ex:92:8495 id = Keyword.get(opts, :id) || name496497 # type: dynamic(not false and not nil and not binary())498 # from: lib/phoenix_html/form_data.ex:94:12499 is_binary(id)500501 While Elixir can compare across all types, you are comparing across types which are always disjoint, and the result is either always true or always false502503 type warning found at:504 │505 94 │ unless is_binary(id) or is_nil(id) do506 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~507 │508 └─ lib/phoenix_html/form_data.ex:94: Phoenix.HTML.FormData.Atom.to_form/2509510 warning: the 1st pattern in clause will never match:511512 60513514 because it is expected to receive type:515516 dynamic(empty_list() or non_empty_list(term(), term()))517518 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())519520 type warning found at:521 │522 56 │ def to_iodata(?<), do: "<"523 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~524 │525 └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/1526527 warning: the 1st pattern in clause will never match:528529 62530531 because it is expected to receive type:532533 dynamic(empty_list() or non_empty_list(term(), term()))534535 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())536537 type warning found at:538 │539 57 │ def to_iodata(?>), do: ">"540 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~541 │542 └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/1543544 warning: the 1st pattern in clause will never match:545546 38547548 because it is expected to receive type:549550 dynamic(empty_list() or non_empty_list(term(), term()))551552 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())553554 type warning found at:555 │556 58 │ def to_iodata(?&), do: "&"557 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~558 │559 └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/1560561 warning: the 1st pattern in clause will never match:562563 34564565 because it is expected to receive type:566567 dynamic(empty_list() or non_empty_list(term(), term()))568569 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())570571 type warning found at:572 │573 59 │ def to_iodata(?"), do: """574 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~575 │576 └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/1577578 warning: the 1st pattern in clause will never match:579580 39581582 because it is expected to receive type:583584 dynamic(empty_list() or non_empty_list(term(), term()))585586 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())587588 type warning found at:589 │590 60 │ def to_iodata(?'), do: "'"591 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~592 │593 └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/1594595 warning: the 1st pattern in clause will never match:596597 {:safe, data}598599 because it is expected to receive type:600601 dynamic(empty_list() or non_empty_list(term(), term()))602603 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())604605 type warning found at:606 │607 76 │ def to_iodata({:safe, data}) do608 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~609 │610 └─ lib/phoenix_html/safe.ex:76: Phoenix.HTML.Safe.List.to_iodata/1611612 warning: the following clause is redundant:613614 def to_iodata(other)615616 it has type:617618 dynamic(empty_list() or non_empty_list(term(), term()))619620 previous clauses have already matched on the following types:621622 non_empty_list(term(), term())623 empty_list()624625 │626 80 │ def to_iodata(other) do627 │ ~628 │629 └─ lib/phoenix_html/safe.ex:80:7: Phoenix.HTML.Safe.List.to_iodata/1630631 warning: the 1st pattern in clause will never match:632633 h634635 because it is expected to receive type:636637 dynamic(empty_list() or non_empty_list(term(), term()))638639 where "h" was given the type:640641 # type: integer()642 # from: lib/phoenix_html/safe.ex:62:25643 is_integer(h)644645 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())646647 type warning found at:648 │649 62 │ def to_iodata(h) when is_integer(h) and h <= 255 do650 │ ~651 │652 └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/1653654 warning: the 1st pattern in clause will never match:655656 h657658 because it is expected to receive type:659660 dynamic(empty_list() or non_empty_list(term(), term()))661662 where "h" was given the type:663664 # type: integer()665 # from: lib/phoenix_html/safe.ex:66:25666 is_integer(h)667668 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())669670 type warning found at:671 │672 66 │ def to_iodata(h) when is_integer(h) do673 │ ~674 │675 └─ lib/phoenix_html/safe.ex:66:17: Phoenix.HTML.Safe.List.to_iodata/1676677 warning: the 1st pattern in clause will never match:678679 h680681 because it is expected to receive type:682683 dynamic(empty_list() or non_empty_list(term(), term()))684685 where "h" was given the type:686687 # type: binary()688 # from: lib/phoenix_html/safe.ex:72:25689 is_binary(h)690691 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())692693 type warning found at:694 │695 72 │ def to_iodata(h) when is_binary(h) do696 │ ~697 │698 └─ lib/phoenix_html/safe.ex:72:17: Phoenix.HTML.Safe.List.to_iodata/1699700Generated phoenix_html app701==> phoenix_template702Compiling 4 files (.ex)703Generated phoenix_template app704==> uboot_env705Compiling 5 files (.ex)706Generated uboot_env app707==> timex708Compiling 62 files (.ex)709 warning: default arguments in protocol definitions is deprecated710 │711 84 │ def compare(a, b, granularity \\ :microsecond)712 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~713 │714 └─ lib/comparable/comparable.ex:84: Timex.Comparable (module)715716 warning: default arguments in protocol definitions is deprecated717 │718 139 │ def diff(a, b, granularity \\ :microsecond)719 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~720 │721 └─ lib/comparable/comparable.ex:139: Timex.Comparable (module)722723 warning: protocols can only define functions without implementation via def/1, found: compare/2, diff/2724 │725 1 │ defprotocol Timex.Comparable do726 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~727 │728 └─ lib/comparable/comparable.ex:1: Timex.Comparable (module)729730 warning: the variable "len" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator731 │732 317 │ <<abbrevs::bytes(len), rest::binary>> = data733 │ ~734 │735 └─ lib/parse/zoneinfo/parser.ex:317:22: Timex.Parse.ZoneInfo.Parser.parse_abbreviations/4736737 warning: default arguments in protocol definitions is deprecated738 │739 48 │ def to_datetime(datetime, timezone \\ :utc)740 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~741 │742 └─ lib/protocol.ex:48: Timex.Protocol (module)743744 warning: protocols can only define functions without implementation via def/1, found: to_datetime/1745 │746 1 │ defprotocol Timex.Protocol do747 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~748 │749 └─ lib/protocol.ex:1: Timex.Protocol (module)750751 warning: unused require Timex.Macros752 │753 5 │ require Timex.Macros754 │ ~755 │756 └─ lib/comparable/tuple.ex:5:3757758 warning: unused require Timex.Macros759 │760 5 │ require Timex.Macros761 │ ~762 │763 └─ lib/comparable/naivedatetime.ex:5:3764765 warning: unused require Bitwise766 │767 5 │ require Bitwise768 │ ~769 │770 └─ lib/calendar/julian.ex:5:3771772Compiling lib/l10n/gettext.ex (it's taking more than 10s)773 warning: the following clause will never match:774775 {ty, a, b} when ty === :gap or ty === :ambiguous ->776777 it is expected to match on type:778779 dynamic({:error, term()} and not {:ok, %{..., time_zone: term()}})780781 where "ty" was given the type:782783 # type: :ambiguous or :gap784 # from: lib/timezone/timezone.ex:548785 ty in [:gap, :ambiguous]786787 type warning found at:788 │789 548 │ {ty, a, b} when ty in [:gap, :ambiguous] ->790 │ ~791 │792 └─ lib/timezone/timezone.ex:548:7: Timex.Timezone.convert/2793794 warning: a struct for Timex.PosixTimezone is expected on struct update:795796 %Timex.PosixTimezone{rule | std_abbr: abbr}797798 but got type:799800 dynamic()801802 where "rule" was given the type:803804 # type: dynamic()805 # from: lib/parse/posix/parser.ex:119:33806 rule807808 when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"809810 type warning found at:811 │812 121 │ parse_tz(:std_offset, rest, %TZ{rule | std_abbr: abbr})813 │ ~814 │815 └─ lib/parse/posix/parser.ex:121:35: Timex.Parse.Timezones.Posix.parse_tz/3816817 warning: a struct for Timex.PosixTimezone is expected on struct update:818819 %Timex.PosixTimezone{rule | std_offset: offset}820821 but got type:822823 dynamic()824825 where "rule" was given the type:826827 # type: dynamic()828 # from: lib/parse/posix/parser.ex:125:35829 rule830831 when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"832833 type warning found at:834 │835 127 │ parse_tz(:dst_abbr, rest, %TZ{rule | std_offset: offset})836 │ ~837 │838 └─ lib/parse/posix/parser.ex:127:33: Timex.Parse.Timezones.Posix.parse_tz/3839840 warning: a struct for Timex.PosixTimezone is expected on struct update:841842 %Timex.PosixTimezone{rule | dst_abbr: abbr}843844 but got type:845846 dynamic()847848 where "rule" was given the type:849850 # type: dynamic()851 # from: lib/parse/posix/parser.ex:141:33852 rule853854 when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"855856 type warning found at:857 │858 143 │ rule = %TZ{rule | dst_abbr: abbr} do859 │ ~860 │861 └─ lib/parse/posix/parser.ex:143:17: Timex.Parse.Timezones.Posix.parse_tz/3862863 warning: a struct for Timex.PosixTimezone is expected on struct update:864865 %Timex.PosixTimezone{rule | dst_offset: offset}866867 but got type:868869 dynamic()870871 where "rule" was given the type:872873 # type: dynamic()874 # from: lib/parse/posix/parser.ex:160:35875 rule876877 when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"878879 type warning found at:880 │881 162 │ rule = %TZ{rule | dst_offset: offset} do882 │ ~883 │884 └─ lib/parse/posix/parser.ex:162:17: Timex.Parse.Timezones.Posix.parse_tz/3885886 warning: a struct for Timex.PosixTimezone is expected on struct update:887888 %Timex.PosixTimezone{rule | dst_start: dst_start, dst_end: dst_end}889890 but got type:891892 dynamic()893894 where "rule" was given the type:895896 # type: dynamic()897 # from: lib/parse/posix/parser.ex:185:36898 rule899900 when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"901902 type warning found at:903 │904 190 │ {:ok, %TZ{rule | dst_start: dst_start, dst_end: dst_end}, rest}905 │ ~906 │907 └─ lib/parse/posix/parser.ex:190:17: Timex.Parse.Timezones.Posix.parse_tz/3908909 warning: the following clause will never match:910911 :error ->912913 it is expected to match on type:914915 dynamic({:error, :invalid_number, binary()})916917 type warning found at:918 │919 264 │ :error ->920 │ ~~~~~~~~~921 │922 └─ lib/parse/posix/parser.ex:264: Timex.Parse.Timezones.Posix.parse_month_week_day/3923924 warning: the following pattern will never match:925926 {y, m, d} <- to_erl_datetime(date)927928 because the right-hand side has type:929930 dynamic(931 {:error, :invalid_date} or932 {:ok, {{integer(), integer(), integer()}, {integer(), integer(), integer()}}}933 )934935 where "date" was given the type:936937 # type: dynamic({...})938 # from: lib/datetime/erlang.ex:7:17939 date940941 type warning found at:942 │943 8 │ with {y, m, d} <- to_erl_datetime(date),944 │ ~945 │946 └─ lib/datetime/erlang.ex:8:10: Timex.Protocol.Tuple.to_julian/1947948 warning: the following clause is redundant:949950 def shift(_, _)951952 it has type:953954 dynamic(%Date{}), dynamic()955956 previous clauses have already matched on the following types:957958 %Date{}, term()959960 │961 227 │ def shift(_, _), do: {:error, :badarg}962 │ ~963 │964 └─ lib/date/date.ex:227:7: Timex.Protocol.Date.shift/2965966 warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:967968 %Timex.Parse.ZoneInfo.Parser.Zone{zone | transitions: transitions, leaps: leaps}969970 but got type:971972 dynamic(%{..., leaps: term(), transitions: term()})973974 where "zone" was given the types:975976 # type: dynamic(%{..., rule: term()} or %{..., transitions: term()})977 # from: lib/parse/zoneinfo/parser.ex:156:28978 {:ok, zone, rest} <- parse_content(1, data, %Timex.Parse.ZoneInfo.Parser.Zone{..., version: 1})979980 # type: dynamic(%{..., transitions: term()})981 # from: lib/parse/zoneinfo/parser.ex:157:26982 Enum.sort_by(zone.transitions, fn tx -> tx.starts_at end)983984 # type: dynamic(%{..., leaps: term(), transitions: term()})985 # from: lib/parse/zoneinfo/parser.ex:158:20986 Enum.sort_by(zone.leaps, fn leap -> leap.epoch end)987988 when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"989990 type warning found at:991 │992 159 │ {:ok, %Zone{zone | transitions: transitions, leaps: leaps}, rest}993 │ ~994 │995 └─ lib/parse/zoneinfo/parser.ex:159:13: Timex.Parse.ZoneInfo.Parser.parse_versioned_content/2996997 warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:998999 %Timex.Parse.ZoneInfo.Parser.Zone{zone | transitions: times}10001001 but got type:10021003 dynamic()10041005 where "zone" was given the type:10061007 # type: dynamic()1008 # from: lib/parse/zoneinfo/parser.ex:270:921009 zone10101011 when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"10121013 type warning found at:1014 │1015 272 │ parse_transition_info(version, rest, header, %Zone{zone | transitions: times})1016 │ ~1017 │1018 └─ lib/parse/zoneinfo/parser.ex:272:50: Timex.Parse.ZoneInfo.Parser.parse_transition_times/410191020 warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:10211022 %Timex.Parse.ZoneInfo.Parser.Zone{zone | leaps: leaps}10231024 but got type:10251026 dynamic()10271028 where "zone" was given the type:10291030 # type: dynamic()1031 # from: lib/parse/zoneinfo/parser.ex:330:791032 zone10331034 when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"10351036 type warning found at:1037 │1038 344 │ parse_flags(version, rest, header, %Zone{zone | leaps: leaps})1039 │ ~1040 │1041 └─ lib/parse/zoneinfo/parser.ex:344:40: Timex.Parse.ZoneInfo.Parser.parse_leap_seconds/410421043 warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:10441045 %Timex.Parse.ZoneInfo.Parser.Zone{zone | transitions: transitions}10461047 but got type:10481049 dynamic(%{..., transitions: term()})10501051 where "zone" was given the type:10521053 # type: dynamic(%{..., transitions: term()})1054 # from: lib/parse/zoneinfo/parser.ex:354:151055 Enum.with_index(zone.transitions)10561057 when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"10581059 type warning found at:1060 │1061 362 │ parse_posixtz_string(version, rest, %Zone{zone | transitions: transitions})1062 │ ~1063 │1064 └─ lib/parse/zoneinfo/parser.ex:362:43: Timex.Parse.ZoneInfo.Parser.parse_flags/410651066 warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:10671068 %Timex.Parse.ZoneInfo.Parser.Zone{zone | transitions: transitions}10691070 but got type:10711072 dynamic(%{..., transitions: term()})10731074 where "zone" was given the type:10751076 # type: dynamic(%{..., transitions: term()})1077 # from: lib/parse/zoneinfo/parser.ex:354:151078 Enum.with_index(zone.transitions)10791080 when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"10811082 type warning found at:1083 │1084 364 │ {:ok, %Zone{zone | transitions: transitions}, rest}1085 │ ~1086 │1087 └─ lib/parse/zoneinfo/parser.ex:364:13: Timex.Parse.ZoneInfo.Parser.parse_flags/410881089 warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:10901091 %Timex.Parse.ZoneInfo.Parser.Zone{zone | rule: rule}10921093 but got type:10941095 dynamic()10961097 where "zone" was given the type:10981099 # type: dynamic()1100 # from: lib/parse/zoneinfo/parser.ex:369:621101 zone11021103 when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"11041105 type warning found at:1106 │1107 372 │ {:ok, %Zone{zone | rule: rule}, format_rest <> rest}1108 │ ~1109 │1110 └─ lib/parse/zoneinfo/parser.ex:372:13: Timex.Parse.ZoneInfo.Parser.parse_posixtz_string/311111112 warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:11131114 %Timex.Parse.ZoneInfo.Parser.Rule{rule | std_abbr: abbr, dst_abbr: abbr}11151116 but got type:11171118 dynamic()11191120 where "rule" was given the type:11211122 # type: dynamic()1123 # from: lib/parse/zoneinfo/parser.ex:383:331124 rule11251126 when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"11271128 type warning found at:1129 │1130 385 │ parse_tz(:std_offset, rest, %Rule{rule | std_abbr: abbr, dst_abbr: abbr})1131 │ ~1132 │1133 └─ lib/parse/zoneinfo/parser.ex:385:35: Timex.Parse.ZoneInfo.Parser.parse_tz/311341135 warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:11361137 %Timex.Parse.ZoneInfo.Parser.Rule{rule | std_offset: offset, dst_offset: offset}11381139 but got type:11401141 dynamic()11421143 where "rule" was given the type:11441145 # type: dynamic()1146 # from: lib/parse/zoneinfo/parser.ex:389:351147 rule11481149 when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"11501151 type warning found at:1152 │1153 391 │ parse_tz(:dst_abbr, rest, %Rule{rule | std_offset: offset, dst_offset: offset})1154 │ ~1155 │1156 └─ lib/parse/zoneinfo/parser.ex:391:33: Timex.Parse.ZoneInfo.Parser.parse_tz/311571158 warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:11591160 %Timex.Parse.ZoneInfo.Parser.Rule{rule | dst_abbr: abbr}11611162 but got type:11631164 dynamic()11651166 where "rule" was given the type:11671168 # type: dynamic()1169 # from: lib/parse/zoneinfo/parser.ex:405:331170 rule11711172 when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"11731174 type warning found at:1175 │1176 407 │ rule = %Rule{rule | dst_abbr: abbr} do1177 │ ~1178 │1179 └─ lib/parse/zoneinfo/parser.ex:407:17: Timex.Parse.ZoneInfo.Parser.parse_tz/311801181 warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:11821183 %Timex.Parse.ZoneInfo.Parser.Rule{rule | dst_offset: offset}11841185 but got type:11861187 dynamic()11881189 where "rule" was given the type:11901191 # type: dynamic()1192 # from: lib/parse/zoneinfo/parser.ex:424:351193 rule11941195 when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"11961197 type warning found at:1198 │1199 426 │ rule = %Rule{rule | dst_offset: offset} do1200 │ ~1201 │1202 └─ lib/parse/zoneinfo/parser.ex:426:17: Timex.Parse.ZoneInfo.Parser.parse_tz/312031204 warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:12051206 %Timex.Parse.ZoneInfo.Parser.Rule{rule | start_time: start_time, end_time: end_time}12071208 but got type:12091210 dynamic()12111212 where "rule" was given the type:12131214 # type: dynamic()1215 # from: lib/parse/zoneinfo/parser.ex:449:361216 rule12171218 when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"12191220 type warning found at:1221 │1222 454 │ {:ok, %Rule{rule | start_time: start_time, end_time: end_time}, rest}1223 │ ~1224 │1225 └─ lib/parse/zoneinfo/parser.ex:454:17: Timex.Parse.ZoneInfo.Parser.parse_tz/312261227 warning: the following clause will never match:12281229 :error ->12301231 it is expected to match on type:12321233 dynamic({:error, :invalid_number, binary()})12341235 type warning found at:1236 │1237 528 │ :error ->1238 │ ~~~~~~~~~1239 │1240 └─ lib/parse/zoneinfo/parser.ex:528: Timex.Parse.ZoneInfo.Parser.parse_month_week_day/312411242Generated timex app1243==> nerves_system_bbb1244Generated nerves_system_bbb app1245==> property_table1246Compiling 8 files (.ex)1247Generated property_table app1248==> nerves_uevent1249 CC uevent.o1250 LD uevent1251Compiling 5 files (.ex)1252Generated nerves_uevent app1253==> nerves_runtime1254Compiling 14 files (.ex)1255Generated nerves_runtime app1256==> toolshed1257Compiling 5 files (.ex)1258Generated toolshed app1259==> tailwind1260Compiling 3 files (.ex)1261Generated tailwind app1262==> websock1263Compiling 1 file (.ex)1264Generated websock app1265==> websock_adapter1266Compiling 4 files (.ex)1267Generated websock_adapter app1268warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1269 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21270 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11271 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51272 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21273 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41274 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/212751276==> phoenix1277Compiling 71 files (.ex)1278 warning: unused require Logger1279 │1280 9 │ require Logger1281 │ ~1282 │1283 └─ lib/phoenix/config.ex:9:312841285 warning: unused require Logger1286 │1287 281 │ require Logger1288 │ ~1289 │1290 └─ lib/phoenix/endpoint.ex:281:312911292 warning: unused require Phoenix.Endpoint1293 │1294 6 │ require Phoenix.Endpoint1295 │ ~1296 │1297 └─ lib/phoenix/controller.ex:6:312981299 warning: the variable "prefix_size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator1300 │1301 46 │ <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix1302 │ ~1303 │1304 └─ lib/phoenix/naming.ex:46:29: Phoenix.Naming.unsuffix/213051306 warning: unused require Phoenix.Endpoint1307 │1308 17 │ require Phoenix.Endpoint1309 │ ~1310 │1311 └─ lib/phoenix/endpoint/render_errors.ex:17:313121313 warning: unused require Logger1314 │1315 70 │ require Logger1316 │ ~1317 │1318 └─ lib/phoenix/socket/pool_supervisor.ex:70:313191320 warning: unused require Phoenix.Endpoint1321 │1322 6 │ require Phoenix.Endpoint1323 │ ~1324 │1325 └─ lib/phoenix/channel/server.ex:6:313261327 warning: unused require Phoenix.Endpoint1328 │1329 202 │ require Phoenix.Endpoint1330 │ ~1331 │1332 └─ lib/phoenix/socket.ex:202:313331334 warning: unused require Logger1335 │1336 100 │ require Logger1337 │ ~1338 │1339 └─ lib/phoenix/token.ex:100:313401341 warning: comparison between distinct types found:13421343 merge_all != []13441345 given types:13461347 dynamic(non_empty_list({atom(), term()})) != empty_list()13481349 where "merge_all" was given the type:13501351 # type: dynamic(non_empty_list({atom(), term()}))1352 # from: lib/phoenix/router/route.ex:121:151353 merge_all = merge_params ++ merge_private ++ merge_assigns13541355 While Elixir can compare across all types, you are comparing across types which are always disjoint, and the result is either always true or always false13561357 type warning found at:1358 │1359 123 │ if merge_all != [] do1360 │ ~1361 │1362 └─ lib/phoenix/router/route.ex:123:18: Phoenix.Router.Route.build_prepare/113631364 warning: a struct for Plug.Conn is expected on struct update:13651366 %Plug.Conn{conn | state: :sent}13671368 but got type:13691370 dynamic()13711372 where "conn" was given the type:13731374 # type: dynamic()1375 # from: lib/phoenix/endpoint/render_errors.ex:55:171376 conn13771378 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"13791380 type warning found at:1381 │1382 60 │ %Plug.Conn{conn | state: :sent}1383 │ ~1384 │1385 └─ lib/phoenix/endpoint/render_errors.ex:60:11: Phoenix.Endpoint.RenderErrors.__catch__/513861387 warning: a struct for Plug.Conn is expected on struct update:13881389 %Plug.Conn{conn | query_params: %{}, params: %{}}13901391 but got type:13921393 dynamic(%{..., params: %Plug.Conn.Unfetched{}})13941395 where "conn" was given the types:13961397 # type: dynamic(%{..., params: term()})1398 # from: lib/phoenix/endpoint/render_errors.ex:133:171399 conn.params14001401 # type: dynamic(%{..., params: %Plug.Conn.Unfetched{}})1402 # from: lib/phoenix/endpoint/render_errors.ex:133:171403 conn.params14041405 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"14061407 type warning found at:1408 │1409 134 │ %Plug.Conn.Unfetched{} -> %Plug.Conn{conn | query_params: %{}, params: %{}}1410 │ ~1411 │1412 └─ lib/phoenix/endpoint/render_errors.ex:134:35: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/114131414 warning: a struct for Plug.Conn is expected on struct update:14151416 %Plug.Conn{conn | query_params: %{}, params: params}14171418 but got type:14191420 dynamic(%{..., params: not %Plug.Conn.Unfetched{}})14211422 where "conn" was given the types:14231424 # type: dynamic(%{..., params: term()})1425 # from: lib/phoenix/endpoint/render_errors.ex:133:171426 conn.params14271428 # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})1429 # from: lib/phoenix/endpoint/render_errors.ex:133:171430 conn.params14311432 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"14331434 type warning found at:1435 │1436 135 │ params -> %Plug.Conn{conn | query_params: %{}, params: params}1437 │ ~1438 │1439 └─ lib/phoenix/endpoint/render_errors.ex:135:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/114401441 warning: a struct for Plug.Conn is expected on struct update:14421443 %Plug.Conn{conn | params: params}14441445 but got type:14461447 dynamic(%{..., params: map()})14481449 where "conn" was given the type:14501451 # type: dynamic(%{..., params: map()})1452 # from: lib/phoenix/controller.ex:1327:171453 Map.get(conn.params, required_key)14541455 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"14561457 type warning found at:1458 │1459 1334 │ %Plug.Conn{conn | params: params}1460 │ ~1461 │1462 └─ lib/phoenix/controller.ex:1334:5: Phoenix.Controller.scrub_params/214631464Generated phoenix app1465warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1466 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21467 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11468 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51469 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21470 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41471 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/214721473==> phoenix_live_view1474Compiling 39 files (.ex)1475 warning: unused require Logger1476 │1477 48 │ require Logger1478 │ ~1479 │1480 └─ lib/phoenix_live_view/socket.ex:48:314811482 warning: unused require Phoenix.ChannelTest1483 │1484 183 │ require Phoenix.ChannelTest1485 │ ~1486 │1487 └─ lib/phoenix_live_view/test/live_view_test.ex:183:314881489 warning: unused require Phoenix.ConnTest1490 │1491 182 │ require Phoenix.ConnTest1492 │ ~1493 │1494 └─ lib/phoenix_live_view/test/live_view_test.ex:182:314951496 warning: unused require Phoenix.ChannelTest1497 │1498 5 │ require Phoenix.ChannelTest1499 │ ~1500 │1501 └─ lib/phoenix_live_view/test/upload_client.ex:5:315021503 warning: unused require Logger1504 │1505 6 │ require Logger1506 │ ~1507 │1508 └─ lib/phoenix_live_view/upload_channel.ex:6:315091510 warning: a struct for Phoenix.LiveView.Socket is expected on struct update:15111512 %Phoenix.LiveView.Socket{1513 socket1514 | assigns: Map.merge(temp_assigns, socket.assigns),1515 private:1516 Map.update(1517 socket.private,1518 :temporary_assigns,1519 temp_assigns,1520 &Map.merge(&1, temp_assigns)1521 )1522 }15231524 but got type:15251526 dynamic()15271528 where "socket" was given the type:15291530 # type: dynamic()1531 # from: lib/phoenix_live_view/utils.ex:415:281532 socket15331534 when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"15351536 type warning found at:1537 │1538 422 │ %Socket{1539 │ ~1540 │1541 └─ lib/phoenix_live_view/utils.ex:422:5: Phoenix.LiveView.Utils.handle_mount_option/315421543 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:15441545 %Phoenix.LiveView.UploadEntry{1546 entry1547 | preflighted?: entry.preflighted? || Enum.__in__(entry.ref, refs)1548 }15491550 but got type:15511552 dynamic()15531554 where "entry" was given the type:15551556 # type: dynamic()1557 # from: lib/phoenix_live_view/upload_config.ex:362:171558 entry <- conf.entries15591560 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"15611562 type warning found at:1563 │1564 363 │ %UploadEntry{entry | preflighted?: entry.preflighted? || entry.ref in refs}1565 │ ~1566 │1567 └─ lib/phoenix_live_view/upload_config.ex:363:9: Phoenix.LiveView.UploadConfig.mark_preflighted/215681569 warning: the following clause is redundant:15701571 def update(assigns, _key, fun) when is_function(fun, 1) or is_function(fun, 2)15721573 it has type:15741575 dynamic(), dynamic(), dynamic((none() -> term()) or (none(), none() -> term()))15761577 previous clauses have already matched on the following types:15781579 %Phoenix.LiveView.Socket{}, term(), (none(), none() -> term())1580 %Phoenix.LiveView.Socket{}, term(), (none() -> term())1581 term(), term(), (none(), none() -> term())1582 term(), term(), (none() -> term())15831584 │1585 1378 │ def update(assigns, _key, fun) when is_function(fun, 1) or is_function(fun, 2) do1586 │ ~1587 │1588 └─ lib/phoenix_component.ex:1378:7: Phoenix.Component.update/315891590 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:15911592 %Phoenix.LiveView.UploadEntry{entry | valid?: true, uuid: generate_uuid()}15931594 but got type:15951596 dynamic()15971598 where "entry" was given the type:15991600 # type: dynamic()1601 # from: lib/phoenix_live_view/upload_config.ex:572:301602 entry16031604 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"16051606 type warning found at:1607 │1608 573 │ entry = %UploadEntry{entry | valid?: true, uuid: generate_uuid()}1609 │ ~1610 │1611 └─ lib/phoenix_live_view/upload_config.ex:573:13: Phoenix.LiveView.UploadConfig.put_valid_entry/216121613 warning: the following clause will never match:16141615 {:error, reason} ->16161617 because it attempts to match on the result of:16181619 IO.binwrite(state.file, data)16201621 which has type:16221623 dynamic(not {:error, term()})16241625 type warning found at:1626 │1627 23 │ {:error, reason} -> {:error, reason, state}1628 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1629 │1630 └─ lib/phoenix_live_view/upload_tmp_file_writer.ex:23: Phoenix.LiveView.UploadTmpFileWriter.write_chunk/216311632 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:16331634 %Phoenix.LiveView.UploadEntry{entry | valid?: false}16351636 but got type:16371638 dynamic()16391640 where "entry" was given the type:16411642 # type: dynamic()1643 # from: lib/phoenix_live_view/upload_config.ex:585:321644 entry16451646 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"16471648 type warning found at:1649 │1650 586 │ entry = %UploadEntry{entry | valid?: false}1651 │ ~1652 │1653 └─ lib/phoenix_live_view/upload_config.ex:586:13: Phoenix.LiveView.UploadConfig.put_invalid_entry/316541655 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:16561657 %Phoenix.LiveView.UploadEntry{entry | cancelled?: true}16581659 but got type:16601661 dynamic()16621663 where "entry" was given the type:16641665 # type: dynamic()1666 # from: lib/phoenix_live_view/upload_config.ex:669:421667 entry16681669 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"16701671 type warning found at:1672 │1673 669 │ update_entry(conf, entry.ref, fn entry -> %UploadEntry{entry | cancelled?: true} end)1674 │ ~1675 │1676 └─ lib/phoenix_live_view/upload_config.ex:669:51: Phoenix.LiveView.UploadConfig.cancel_entry/216771678 warning: Logger.disable/1 is deprecated. Use Logger.put_process_level(pid, :none) instead1679 │1680 73 │ Logger.disable(self())1681 │ ~1682 │1683 └─ lib/phoenix_live_view/test/client_proxy.ex:73:12: Phoenix.LiveViewTest.ClientProxy.init/116841685 warning: the right-hand side of || (shown as ... below) will never be executed:16861687 conn.private[:live_view_connect_info] || prune_conn(conn) || ...16881689 because the left-hand side always evaluates to:16901691 dynamic(not false and not nil)16921693 where "conn" was given the types:16941695 # type: dynamic(%Plug.Conn{assigns: %{..., live_module: term()}, status: integer()})1696 # from: lib/phoenix_live_view/test/live_view_test.ex:319:721697 %Plug.Conn{status: 200, assigns: %{live_module: live_module}} = conn16981699 # type: dynamic(%Plug.Conn{1700 assigns: %{..., live_module: term()},1701 private:1702 %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or1703 non_struct_map(),1704 status: integer()1705 })1706 # from: lib/phoenix_live_view/test/live_view_test.ex:333:351707 conn.private[:live_view_connect_params]17081709 type warning found at:1710 │1711 334 │ connect_info: conn.private[:live_view_connect_info] || prune_conn(conn) || %{},1712 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1713 │1714 └─ lib/phoenix_live_view/test/live_view_test.ex:334: Phoenix.LiveViewTest.connect_from_static_token/217151716 warning: a struct for Phoenix.LiveViewTest.ClientProxy is expected on struct update:17171718 %Phoenix.LiveViewTest.ClientProxy{view | rendered: rendered}17191720 but got type:17211722 dynamic(%{..., rendered: map()})17231724 where "view" was given the type:17251726 # type: dynamic(%{..., rendered: map()})1727 # from: lib/phoenix_live_view/test/client_proxy.ex:727:261728 Phoenix.LiveViewTest.DOM.merge_diff(view.rendered, diff)17291730 when defining the variable "view", you must also pattern match on "%Phoenix.LiveViewTest.ClientProxy{}"17311732 type warning found at:1733 │1734 728 │ new_view = %ClientProxy{view | rendered: rendered}1735 │ ~1736 │1737 └─ lib/phoenix_live_view/test/client_proxy.ex:728:22: Phoenix.LiveViewTest.ClientProxy.merge_rendered/317381739 warning: a struct for Phoenix.LiveView.Socket is expected on struct update:17401741 %Phoenix.LiveView.Socket{1742 socket1743 | assigns: %Phoenix.LiveView.Socket.AssignsNotInSocket{__assigns__: assigns}1744 }17451746 but got type:17471748 dynamic(%{..., assigns: term()})17491750 where "socket" was given the type:17511752 # type: dynamic(%{..., assigns: term()})1753 # from: lib/phoenix_live_view/renderer.ex:121:431754 %{assigns: assigns} = socket17551756 when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"17571758 type warning found at:1759 │1760 122 │ socket = %Socket{socket | assigns: %Socket.AssignsNotInSocket{__assigns__: assigns}}1761 │ ~1762 │1763 └─ lib/phoenix_live_view/renderer.ex:122:14: Phoenix.LiveView.Renderer.render_assigns/117641765 warning: the following pattern will never match:17661767 template = Phoenix.LiveView.Utils.normalize_layout(template)17681769 because the right-hand side has type:17701771 none()17721773 where "template" was given the types:17741775 # type: binary()1776 # from: lib/phoenix_live_view/router.ex:299:661777 is_binary(template)17781779 # type: binary()1780 # from: lib/phoenix_live_view/router.ex1781 {:root_layout, {mod, template}}17821783 type warning found at:1784 │1785 300 │ template = Phoenix.LiveView.Utils.normalize_layout(template)1786 │ ~1787 │1788 └─ lib/phoenix_live_view/router.ex:300:18: Phoenix.LiveView.Router.validate_live_session_opts/317891790 warning: the following pattern will never match:17911792 template = Phoenix.LiveView.Utils.normalize_layout(template)17931794 because the right-hand side has type:17951796 none()17971798 where "template" was given the types:17991800 # type: binary()1801 # from: lib/phoenix_live_view/router.ex:316:611802 is_binary(template)18031804 # type: binary()1805 # from: lib/phoenix_live_view/router.ex1806 {:layout, {mod, template}}18071808 type warning found at:1809 │1810 317 │ template = Phoenix.LiveView.Utils.normalize_layout(template)1811 │ ~1812 │1813 └─ lib/phoenix_live_view/router.ex:317:18: Phoenix.LiveView.Router.validate_live_session_opts/318141815 warning: the following clause is redundant:18161817 def to_iodata(%_{} = struct)18181819 it has type:18201821 dynamic(%Phoenix.LiveView.Rendered{})18221823 previous clauses have already matched on the following types:18241825 %Phoenix.LiveView.Rendered{}18261827 │1828 152 │ def to_iodata(%_{} = struct) do1829 │ ~1830 │1831 └─ lib/phoenix_live_view/engine.ex:152:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/118321833 warning: the 1st pattern in clause will never match:18341835 nil18361837 because it is expected to receive type:18381839 dynamic(%Phoenix.LiveView.Rendered{})18401841 hint: defimpl for Phoenix.LiveView.Rendered requires its callbacks to match exclusively on %Phoenix.LiveView.Rendered{}18421843 type warning found at:1844 │1845 156 │ def to_iodata(nil) do1846 │ ~~~~~~~~~~~~~~~~~~~~~1847 │1848 └─ lib/phoenix_live_view/engine.ex:156: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/118491850 warning: the following clause is redundant:18511852 def to_iodata(other)18531854 it has type:18551856 dynamic(%Phoenix.LiveView.Rendered{})18571858 previous clauses have already matched on the following types:18591860 %Phoenix.LiveView.Rendered{}18611862 │1863 160 │ def to_iodata(other) do1864 │ ~1865 │1866 └─ lib/phoenix_live_view/engine.ex:160:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/118671868 warning: this clause of defp class_names/1 is never used (or it will always fail/warn when invoked)1869 │1870 903 │ defp class_names(nil), do: []1871 │ ~1872 │1873 └─ lib/phoenix_live_view/js.ex:903:8: Phoenix.LiveView.JS.class_names/118741875Generated phoenix_live_view app1876warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1877 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21878 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11879 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51880 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21881 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41882 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/218831884==> heroicons1885Compiling 3 files (.ex)1886Generated heroicons app1887==> paleta1888Compiling 67 files (.ex)1889 error: undefined function live_component/2 (expected Paleta.Components.AppHeader to define such a function or for it to be imported, but none are available)1890 │1891 56 │ <%= live_component(Paleta.Components.Live.GlobalSearch,1892 │ ^^^^^^^^^^^^^^1893 │1894 └─ lib/components/app_header.ex:56:17: Paleta.Components.AppHeader."app_header (overridable 1)"/1189518961897== Compilation error in file lib/components/app_header.ex ==1898** (CompileError) lib/components/app_header.ex: cannot compile module Paleta.Components.AppHeader (errors have been logged)18991900could not compile dependency :paleta, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile paleta --force", update it with "mix deps.update paleta" or clean it with "mix deps.clean paleta"