paleta

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: "&lt;"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: "&gt;"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: "&amp;"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: "&quot;"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: "&#39;"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"