paleta

Build log

nerves_system_rpi0

paleta 0.1.0 · fail · run paleta-0.1.0-1791031886408
1900 of 1900 lines
1Resolving Hex dependencies...2Resolution completed in 0.226s3Unchanged: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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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.Erlinit (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.Erlinit.beam)306    │307  8 │ defmodule Nerves.BuildAction.Erlinit do308    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~309    │310    └─ lib/nerves/build_action/erlinit.ex:8: Nerves.BuildAction.Erlinit (module)311312    warning: redefining module Nerves.BuildAction.Firmware (current version loaded from /work/proj/_build/rpi0/lib/nerves/ebin/Elixir.Nerves.BuildAction.Firmware.beam)313    │314  5 │ defmodule Nerves.BuildAction.Firmware do315    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~316    │317    └─ lib/nerves/build_action/firmware.ex:5: Nerves.BuildAction.Firmware (module)318319    warning: redefining module Nerves.BuildAction.IExStartupCheck (current version loaded from /work/proj/_build/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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/rpi0/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_armv6_nerves_linux_gnueabihf419Compiling 1 file (.ex)420Generated nerves_toolchain_armv6_nerves_linux_gnueabihf app421==> nerves_system_rpi0422Generated nerves_system_rpi0 app423==> nimble_parsec424Compiling 4 files (.ex)425Generated nimble_parsec app426==> makeup427Compiling 15 files (.ex)428Generated makeup app429==> makeup_elixir430Compiling 6 files (.ex)431Compiling lib/makeup/lexers/elixir_lexer.ex (it's taking more than 10s)432Generated makeup_elixir app433==> nerves_compatibility_test434===> Analyzing applications...435===> Compiling telemetry436==> expo437Compiling 2 files (.erl)438Compiling 22 files (.ex)439Generated expo app440==> gettext441Compiling 18 files (.ex)442     warning: unused require Gettext.Macros443     │444 594 │   require Gettext.Macros445     │   ~446     │447     └─ lib/gettext.ex:594:3448449     warning: the following clause is redundant:450451         defp ensure_empty_msgstr!(%Expo.Message.Plural{} = message)452453     it has type:454455         dynamic(%Expo.Message.Plural{})456457     previous clauses have already matched on the following types:458459         %Expo.Message.Singular{}460         %Expo.Message.Plural{}461462     │463 391 │   defp ensure_empty_msgstr!(%Message.Plural{} = message) do464     │        ~465     │466     └─ lib/gettext/extractor.ex:391:8: Gettext.Extractor.ensure_empty_msgstr!/1467468     warning: Kernel.ParallelCompiler.async/1 is deprecated. Use `pmap/2` instead469     │470 426 │               Kernel.ParallelCompiler.async(fn ->471     │                                       ~472     │473     └─ lib/gettext/compiler.ex:426:39: Gettext.Compiler.compile_po_files/3474475Generated gettext app476==> phoenix_pubsub477Compiling 12 files (.ex)478Generated phoenix_pubsub app479==> plug480Compiling 1 file (.erl)481Compiling 42 files (.ex)482Generated plug app483==> phoenix_html484Compiling 9 files (.ex)485    warning: comparison between distinct types found:486487        id == nil488489    given types:490491        dynamic(not false and not nil and not binary()) == nil492493    where "id" was given the types:494495        # type: dynamic(not false and not nil)496        # from: lib/phoenix_html/form_data.ex:92:8497        id = Keyword.get(opts, :id) || name498499        # type: dynamic(not false and not nil and not binary())500        # from: lib/phoenix_html/form_data.ex:94:12501        is_binary(id)502503    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 false504505    type warning found at:506    │507 94 │     unless is_binary(id) or is_nil(id) do508    │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~509    │510    └─ lib/phoenix_html/form_data.ex:94: Phoenix.HTML.FormData.Atom.to_form/2511512    warning: the 1st pattern in clause will never match:513514        60515516    because it is expected to receive type:517518        dynamic(empty_list() or non_empty_list(term(), term()))519520    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())521522    type warning found at:523    │524 56 │   def to_iodata(?<), do: "&lt;"525    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~526    │527    └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/1528529    warning: the 1st pattern in clause will never match:530531        62532533    because it is expected to receive type:534535        dynamic(empty_list() or non_empty_list(term(), term()))536537    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())538539    type warning found at:540    │541 57 │   def to_iodata(?>), do: "&gt;"542    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~543    │544    └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/1545546    warning: the 1st pattern in clause will never match:547548        38549550    because it is expected to receive type:551552        dynamic(empty_list() or non_empty_list(term(), term()))553554    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())555556    type warning found at:557    │558 58 │   def to_iodata(?&), do: "&amp;"559    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~560    │561    └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/1562563    warning: the 1st pattern in clause will never match:564565        34566567    because it is expected to receive type:568569        dynamic(empty_list() or non_empty_list(term(), term()))570571    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())572573    type warning found at:574    │575 59 │   def to_iodata(?"), do: "&quot;"576    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~577    │578    └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/1579580    warning: the 1st pattern in clause will never match:581582        39583584    because it is expected to receive type:585586        dynamic(empty_list() or non_empty_list(term(), term()))587588    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())589590    type warning found at:591    │592 60 │   def to_iodata(?'), do: "&#39;"593    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~594    │595    └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/1596597    warning: the 1st pattern in clause will never match:598599        {:safe, data}600601    because it is expected to receive type:602603        dynamic(empty_list() or non_empty_list(term(), term()))604605    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())606607    type warning found at:608    │609 76 │   def to_iodata({:safe, data}) do610    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~611    │612    └─ lib/phoenix_html/safe.ex:76: Phoenix.HTML.Safe.List.to_iodata/1613614    warning: the following clause is redundant:615616        def to_iodata(other)617618    it has type:619620        dynamic(empty_list() or non_empty_list(term(), term()))621622    previous clauses have already matched on the following types:623624        non_empty_list(term(), term())625        empty_list()626627    │628 80 │   def to_iodata(other) do629    │       ~630    │631    └─ lib/phoenix_html/safe.ex:80:7: Phoenix.HTML.Safe.List.to_iodata/1632633    warning: the 1st pattern in clause will never match:634635        h636637    because it is expected to receive type:638639        dynamic(empty_list() or non_empty_list(term(), term()))640641    where "h" was given the type:642643        # type: integer()644        # from: lib/phoenix_html/safe.ex:62:25645        is_integer(h)646647    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())648649    type warning found at:650    │651 62 │   def to_iodata(h) when is_integer(h) and h <= 255 do652    │                 ~653    │654    └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/1655656    warning: the 1st pattern in clause will never match:657658        h659660    because it is expected to receive type:661662        dynamic(empty_list() or non_empty_list(term(), term()))663664    where "h" was given the type:665666        # type: integer()667        # from: lib/phoenix_html/safe.ex:66:25668        is_integer(h)669670    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())671672    type warning found at:673    │674 66 │   def to_iodata(h) when is_integer(h) do675    │                 ~676    │677    └─ lib/phoenix_html/safe.ex:66:17: Phoenix.HTML.Safe.List.to_iodata/1678679    warning: the 1st pattern in clause will never match:680681        h682683    because it is expected to receive type:684685        dynamic(empty_list() or non_empty_list(term(), term()))686687    where "h" was given the type:688689        # type: binary()690        # from: lib/phoenix_html/safe.ex:72:25691        is_binary(h)692693    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())694695    type warning found at:696    │697 72 │   def to_iodata(h) when is_binary(h) do698    │                 ~699    │700    └─ lib/phoenix_html/safe.ex:72:17: Phoenix.HTML.Safe.List.to_iodata/1701702Generated phoenix_html app703==> phoenix_template704Compiling 4 files (.ex)705Generated phoenix_template app706==> uboot_env707Compiling 5 files (.ex)708Generated uboot_env app709==> timex710Compiling 62 files (.ex)711    warning: default arguments in protocol definitions is deprecated712    │713 84 │   def compare(a, b, granularity \\ :microsecond)714    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~715    │716    └─ lib/comparable/comparable.ex:84: Timex.Comparable (module)717718     warning: default arguments in protocol definitions is deprecated719     │720 139 │   def diff(a, b, granularity \\ :microsecond)721     │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~722     │723     └─ lib/comparable/comparable.ex:139: Timex.Comparable (module)724725    warning: protocols can only define functions without implementation via def/1, found: compare/2, diff/2726    │727  1 │ defprotocol Timex.Comparable do728    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~729    │730    └─ lib/comparable/comparable.ex:1: Timex.Comparable (module)731732     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 operator733     │734 317 │     <<abbrevs::bytes(len), rest::binary>> = data735     │                      ~736     │737     └─ lib/parse/zoneinfo/parser.ex:317:22: Timex.Parse.ZoneInfo.Parser.parse_abbreviations/4738739    warning: default arguments in protocol definitions is deprecated740    │741 48 │   def to_datetime(datetime, timezone \\ :utc)742    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~743    │744    └─ lib/protocol.ex:48: Timex.Protocol (module)745746    warning: protocols can only define functions without implementation via def/1, found: to_datetime/1747    │748  1 │ defprotocol Timex.Protocol do749    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~750    │751    └─ lib/protocol.ex:1: Timex.Protocol (module)752753    warning: unused require Timex.Macros754    │755  5 │   require Timex.Macros756    │   ~757    │758    └─ lib/comparable/tuple.ex:5:3759760    warning: unused require Timex.Macros761    │762  5 │   require Timex.Macros763    │   ~764    │765    └─ lib/comparable/naivedatetime.ex:5:3766767    warning: unused require Bitwise768    │769  5 │   require Bitwise770    │   ~771    │772    └─ lib/calendar/julian.ex:5:3773774Compiling lib/l10n/gettext.ex (it's taking more than 10s)775     warning: the following clause will never match:776777         {ty, a, b} when ty === :gap or ty === :ambiguous ->778779     it is expected to match on type:780781         dynamic({:error, term()} and not {:ok, %{..., time_zone: term()}})782783     where "ty" was given the type:784785         # type: :ambiguous or :gap786         # from: lib/timezone/timezone.ex:548787         ty in [:gap, :ambiguous]788789     type warning found at:790     │791 548 │       {ty, a, b} when ty in [:gap, :ambiguous] ->792     │       ~793     │794     └─ lib/timezone/timezone.ex:548:7: Timex.Timezone.convert/2795796     warning: a struct for Timex.PosixTimezone is expected on struct update:797798         %Timex.PosixTimezone{rule | std_abbr: abbr}799800     but got type:801802         dynamic()803804     where "rule" was given the type:805806         # type: dynamic()807         # from: lib/parse/posix/parser.ex:119:33808         rule809810     when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"811812     type warning found at:813     │814 121 │       parse_tz(:std_offset, rest, %TZ{rule | std_abbr: abbr})815     │                                   ~816     │817     └─ lib/parse/posix/parser.ex:121:35: Timex.Parse.Timezones.Posix.parse_tz/3818819     warning: a struct for Timex.PosixTimezone is expected on struct update:820821         %Timex.PosixTimezone{rule | std_offset: offset}822823     but got type:824825         dynamic()826827     where "rule" was given the type:828829         # type: dynamic()830         # from: lib/parse/posix/parser.ex:125:35831         rule832833     when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"834835     type warning found at:836     │837 127 │       parse_tz(:dst_abbr, rest, %TZ{rule | std_offset: offset})838     │                                 ~839     │840     └─ lib/parse/posix/parser.ex:127:33: Timex.Parse.Timezones.Posix.parse_tz/3841842     warning: a struct for Timex.PosixTimezone is expected on struct update:843844         %Timex.PosixTimezone{rule | dst_abbr: abbr}845846     but got type:847848         dynamic()849850     where "rule" was given the type:851852         # type: dynamic()853         # from: lib/parse/posix/parser.ex:141:33854         rule855856     when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"857858     type warning found at:859     │860 143 │          rule = %TZ{rule | dst_abbr: abbr} do861     │                 ~862     │863     └─ lib/parse/posix/parser.ex:143:17: Timex.Parse.Timezones.Posix.parse_tz/3864865     warning: a struct for Timex.PosixTimezone is expected on struct update:866867         %Timex.PosixTimezone{rule | dst_offset: offset}868869     but got type:870871         dynamic()872873     where "rule" was given the type:874875         # type: dynamic()876         # from: lib/parse/posix/parser.ex:160:35877         rule878879     when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"880881     type warning found at:882     │883 162 │          rule = %TZ{rule | dst_offset: offset} do884     │                 ~885     │886     └─ lib/parse/posix/parser.ex:162:17: Timex.Parse.Timezones.Posix.parse_tz/3887888     warning: a struct for Timex.PosixTimezone is expected on struct update:889890         %Timex.PosixTimezone{rule | dst_start: dst_start, dst_end: dst_end}891892     but got type:893894         dynamic()895896     where "rule" was given the type:897898         # type: dynamic()899         # from: lib/parse/posix/parser.ex:185:36900         rule901902     when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"903904     type warning found at:905     │906 190 │           {:ok, %TZ{rule | dst_start: dst_start, dst_end: dst_end}, rest}907     │                 ~908     │909     └─ lib/parse/posix/parser.ex:190:17: Timex.Parse.Timezones.Posix.parse_tz/3910911     warning: the following clause will never match:912913         :error ->914915     it is expected to match on type:916917         dynamic({:error, :invalid_number, binary()})918919     type warning found at:920     │921 264 │       :error ->922     │       ~~~~~~~~~923     │924     └─ lib/parse/posix/parser.ex:264: Timex.Parse.Timezones.Posix.parse_month_week_day/3925926    warning: the following pattern will never match:927928        {y, m, d} <- to_erl_datetime(date)929930    because the right-hand side has type:931932        dynamic(933          {:error, :invalid_date} or934            {:ok, {{integer(), integer(), integer()}, {integer(), integer(), integer()}}}935        )936937    where "date" was given the type:938939        # type: dynamic({...})940        # from: lib/datetime/erlang.ex:7:17941        date942943    type warning found at:944    │945  8 │     with {y, m, d} <- to_erl_datetime(date),946    │          ~947    │948    └─ lib/datetime/erlang.ex:8:10: Timex.Protocol.Tuple.to_julian/1949950     warning: the following clause is redundant:951952         def shift(_, _)953954     it has type:955956         dynamic(%Date{}), dynamic()957958     previous clauses have already matched on the following types:959960         %Date{}, term()961962     │963 227 │   def shift(_, _), do: {:error, :badarg}964     │       ~965     │966     └─ lib/date/date.ex:227:7: Timex.Protocol.Date.shift/2967968     warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:969970         %Timex.Parse.ZoneInfo.Parser.Zone{zone | transitions: transitions, leaps: leaps}971972     but got type:973974         dynamic(%{..., leaps: term(), transitions: term()})975976     where "zone" was given the types:977978         # type: dynamic(%{..., rule: term()} or %{..., transitions: term()})979         # from: lib/parse/zoneinfo/parser.ex:156:28980         {:ok, zone, rest} <- parse_content(1, data, %Timex.Parse.ZoneInfo.Parser.Zone{..., version: 1})981982         # type: dynamic(%{..., transitions: term()})983         # from: lib/parse/zoneinfo/parser.ex:157:26984         Enum.sort_by(zone.transitions, fn tx -> tx.starts_at end)985986         # type: dynamic(%{..., leaps: term(), transitions: term()})987         # from: lib/parse/zoneinfo/parser.ex:158:20988         Enum.sort_by(zone.leaps, fn leap -> leap.epoch end)989990     when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"991992     type warning found at:993     │994 159 │       {:ok, %Zone{zone | transitions: transitions, leaps: leaps}, rest}995     │             ~996     │997     └─ lib/parse/zoneinfo/parser.ex:159:13: Timex.Parse.ZoneInfo.Parser.parse_versioned_content/2998999     warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:10001001         %Timex.Parse.ZoneInfo.Parser.Zone{zone | transitions: times}10021003     but got type:10041005         dynamic()10061007     where "zone" was given the type:10081009         # type: dynamic()1010         # from: lib/parse/zoneinfo/parser.ex:270:921011         zone10121013     when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"10141015     type warning found at:1016     │1017 272 │     parse_transition_info(version, rest, header, %Zone{zone | transitions: times})1018     │                                                  ~1019     │1020     └─ lib/parse/zoneinfo/parser.ex:272:50: Timex.Parse.ZoneInfo.Parser.parse_transition_times/410211022     warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:10231024         %Timex.Parse.ZoneInfo.Parser.Zone{zone | leaps: leaps}10251026     but got type:10271028         dynamic()10291030     where "zone" was given the type:10311032         # type: dynamic()1033         # from: lib/parse/zoneinfo/parser.ex:330:791034         zone10351036     when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"10371038     type warning found at:1039     │1040 344 │     parse_flags(version, rest, header, %Zone{zone | leaps: leaps})1041     │                                        ~1042     │1043     └─ lib/parse/zoneinfo/parser.ex:344:40: Timex.Parse.ZoneInfo.Parser.parse_leap_seconds/410441045     warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:10461047         %Timex.Parse.ZoneInfo.Parser.Zone{zone | transitions: transitions}10481049     but got type:10501051         dynamic(%{..., transitions: term()})10521053     where "zone" was given the type:10541055         # type: dynamic(%{..., transitions: term()})1056         # from: lib/parse/zoneinfo/parser.ex:354:151057         Enum.with_index(zone.transitions)10581059     when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"10601061     type warning found at:1062     │1063 362 │       parse_posixtz_string(version, rest, %Zone{zone | transitions: transitions})1064     │                                           ~1065     │1066     └─ lib/parse/zoneinfo/parser.ex:362:43: Timex.Parse.ZoneInfo.Parser.parse_flags/410671068     warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:10691070         %Timex.Parse.ZoneInfo.Parser.Zone{zone | transitions: transitions}10711072     but got type:10731074         dynamic(%{..., transitions: term()})10751076     where "zone" was given the type:10771078         # type: dynamic(%{..., transitions: term()})1079         # from: lib/parse/zoneinfo/parser.ex:354:151080         Enum.with_index(zone.transitions)10811082     when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"10831084     type warning found at:1085     │1086 364 │       {:ok, %Zone{zone | transitions: transitions}, rest}1087     │             ~1088     │1089     └─ lib/parse/zoneinfo/parser.ex:364:13: Timex.Parse.ZoneInfo.Parser.parse_flags/410901091     warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:10921093         %Timex.Parse.ZoneInfo.Parser.Zone{zone | rule: rule}10941095     but got type:10961097         dynamic()10981099     where "zone" was given the type:11001101         # type: dynamic()1102         # from: lib/parse/zoneinfo/parser.ex:369:621103         zone11041105     when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"11061107     type warning found at:1108     │1109 372 │       {:ok, %Zone{zone | rule: rule}, format_rest <> rest}1110     │             ~1111     │1112     └─ lib/parse/zoneinfo/parser.ex:372:13: Timex.Parse.ZoneInfo.Parser.parse_posixtz_string/311131114     warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:11151116         %Timex.Parse.ZoneInfo.Parser.Rule{rule | std_abbr: abbr, dst_abbr: abbr}11171118     but got type:11191120         dynamic()11211122     where "rule" was given the type:11231124         # type: dynamic()1125         # from: lib/parse/zoneinfo/parser.ex:383:331126         rule11271128     when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"11291130     type warning found at:1131     │1132 385 │       parse_tz(:std_offset, rest, %Rule{rule | std_abbr: abbr, dst_abbr: abbr})1133     │                                   ~1134     │1135     └─ lib/parse/zoneinfo/parser.ex:385:35: Timex.Parse.ZoneInfo.Parser.parse_tz/311361137     warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:11381139         %Timex.Parse.ZoneInfo.Parser.Rule{rule | std_offset: offset, dst_offset: offset}11401141     but got type:11421143         dynamic()11441145     where "rule" was given the type:11461147         # type: dynamic()1148         # from: lib/parse/zoneinfo/parser.ex:389:351149         rule11501151     when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"11521153     type warning found at:1154     │1155 391 │       parse_tz(:dst_abbr, rest, %Rule{rule | std_offset: offset, dst_offset: offset})1156     │                                 ~1157     │1158     └─ lib/parse/zoneinfo/parser.ex:391:33: Timex.Parse.ZoneInfo.Parser.parse_tz/311591160     warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:11611162         %Timex.Parse.ZoneInfo.Parser.Rule{rule | dst_abbr: abbr}11631164     but got type:11651166         dynamic()11671168     where "rule" was given the type:11691170         # type: dynamic()1171         # from: lib/parse/zoneinfo/parser.ex:405:331172         rule11731174     when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"11751176     type warning found at:1177     │1178 407 │          rule = %Rule{rule | dst_abbr: abbr} do1179     │                 ~1180     │1181     └─ lib/parse/zoneinfo/parser.ex:407:17: Timex.Parse.ZoneInfo.Parser.parse_tz/311821183     warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:11841185         %Timex.Parse.ZoneInfo.Parser.Rule{rule | dst_offset: offset}11861187     but got type:11881189         dynamic()11901191     where "rule" was given the type:11921193         # type: dynamic()1194         # from: lib/parse/zoneinfo/parser.ex:424:351195         rule11961197     when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"11981199     type warning found at:1200     │1201 426 │          rule = %Rule{rule | dst_offset: offset} do1202     │                 ~1203     │1204     └─ lib/parse/zoneinfo/parser.ex:426:17: Timex.Parse.ZoneInfo.Parser.parse_tz/312051206     warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:12071208         %Timex.Parse.ZoneInfo.Parser.Rule{rule | start_time: start_time, end_time: end_time}12091210     but got type:12111212         dynamic()12131214     where "rule" was given the type:12151216         # type: dynamic()1217         # from: lib/parse/zoneinfo/parser.ex:449:361218         rule12191220     when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"12211222     type warning found at:1223     │1224 454 │           {:ok, %Rule{rule | start_time: start_time, end_time: end_time}, rest}1225     │                 ~1226     │1227     └─ lib/parse/zoneinfo/parser.ex:454:17: Timex.Parse.ZoneInfo.Parser.parse_tz/312281229     warning: the following clause will never match:12301231         :error ->12321233     it is expected to match on type:12341235         dynamic({:error, :invalid_number, binary()})12361237     type warning found at:1238     │1239 528 │       :error ->1240     │       ~~~~~~~~~1241     │1242     └─ lib/parse/zoneinfo/parser.ex:528: Timex.Parse.ZoneInfo.Parser.parse_month_week_day/312431244Generated timex 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 Phoenix.Endpoint1314     │1315 202 │   require Phoenix.Endpoint1316     │   ~1317     │1318     └─ lib/phoenix/socket.ex:202:313191320    warning: unused require Phoenix.Endpoint1321    │1322  6 │   require Phoenix.Endpoint1323    │   ~1324    │1325    └─ lib/phoenix/channel/server.ex:6:313261327    warning: unused require Logger1328    │1329 70 │   require Logger1330    │   ~1331    │1332    └─ lib/phoenix/socket/pool_supervisor.ex:70: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: the following clause will never match:15441545        {:error, reason} ->15461547    because it attempts to match on the result of:15481549        IO.binwrite(state.file, data)15501551    which has type:15521553        dynamic(not {:error, term()})15541555    type warning found at:1556    │1557 23 │       {:error, reason} -> {:error, reason, state}1558    │       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1559    │1560    └─ lib/phoenix_live_view/upload_tmp_file_writer.ex:23: Phoenix.LiveView.UploadTmpFileWriter.write_chunk/215611562     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:15631564         %Phoenix.LiveView.UploadEntry{1565           entry1566           | preflighted?: entry.preflighted? || Enum.__in__(entry.ref, refs)1567         }15681569     but got type:15701571         dynamic()15721573     where "entry" was given the type:15741575         # type: dynamic()1576         # from: lib/phoenix_live_view/upload_config.ex:362:171577         entry <- conf.entries15781579     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"15801581     type warning found at:1582     │1583 363 │         %UploadEntry{entry | preflighted?: entry.preflighted? || entry.ref in refs}1584     │         ~1585     │1586     └─ lib/phoenix_live_view/upload_config.ex:363:9: Phoenix.LiveView.UploadConfig.mark_preflighted/215871588     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:15891590         %Phoenix.LiveView.UploadEntry{entry | valid?: true, uuid: generate_uuid()}15911592     but got type:15931594         dynamic()15951596     where "entry" was given the type:15971598         # type: dynamic()1599         # from: lib/phoenix_live_view/upload_config.ex:572:301600         entry16011602     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"16031604     type warning found at:1605     │1606 573 │     entry = %UploadEntry{entry | valid?: true, uuid: generate_uuid()}1607     │             ~1608     │1609     └─ lib/phoenix_live_view/upload_config.ex:573:13: Phoenix.LiveView.UploadConfig.put_valid_entry/216101611     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:16121613         %Phoenix.LiveView.UploadEntry{entry | valid?: false}16141615     but got type:16161617         dynamic()16181619     where "entry" was given the type:16201621         # type: dynamic()1622         # from: lib/phoenix_live_view/upload_config.ex:585:321623         entry16241625     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"16261627     type warning found at:1628     │1629 586 │     entry = %UploadEntry{entry | valid?: false}1630     │             ~1631     │1632     └─ lib/phoenix_live_view/upload_config.ex:586:13: Phoenix.LiveView.UploadConfig.put_invalid_entry/316331634      warning: the following clause is redundant:16351636          def update(assigns, _key, fun) when is_function(fun, 1) or is_function(fun, 2)16371638      it has type:16391640          dynamic(), dynamic(), dynamic((none() -> term()) or (none(), none() -> term()))16411642      previous clauses have already matched on the following types:16431644          %Phoenix.LiveView.Socket{}, term(), (none(), none() -> term())1645          %Phoenix.LiveView.Socket{}, term(), (none() -> term())1646          term(), term(), (none(), none() -> term())1647          term(), term(), (none() -> term())16481649      │1650 1378 │   def update(assigns, _key, fun) when is_function(fun, 1) or is_function(fun, 2) do1651      │       ~1652      │1653      └─ lib/phoenix_component.ex:1378:7: Phoenix.Component.update/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: a struct for Phoenix.LiveViewTest.ClientProxy is expected on struct update:16861687         %Phoenix.LiveViewTest.ClientProxy{view | rendered: rendered}16881689     but got type:16901691         dynamic(%{..., rendered: map()})16921693     where "view" was given the type:16941695         # type: dynamic(%{..., rendered: map()})1696         # from: lib/phoenix_live_view/test/client_proxy.ex:727:261697         Phoenix.LiveViewTest.DOM.merge_diff(view.rendered, diff)16981699     when defining the variable "view", you must also pattern match on "%Phoenix.LiveViewTest.ClientProxy{}"17001701     type warning found at:1702     │1703 728 │           new_view = %ClientProxy{view | rendered: rendered}1704     │                      ~1705     │1706     └─ lib/phoenix_live_view/test/client_proxy.ex:728:22: Phoenix.LiveViewTest.ClientProxy.merge_rendered/317071708     warning: the right-hand side of || (shown as ... below) will never be executed:17091710         conn.private[:live_view_connect_info] || prune_conn(conn) || ...17111712     because the left-hand side always evaluates to:17131714         dynamic(not false and not nil)17151716     where "conn" was given the types:17171718         # type: dynamic(%Plug.Conn{assigns: %{..., live_module: term()}, status: integer()})1719         # from: lib/phoenix_live_view/test/live_view_test.ex:319:721720         %Plug.Conn{status: 200, assigns: %{live_module: live_module}} = conn17211722         # type: dynamic(%Plug.Conn{1723           assigns: %{..., live_module: term()},1724           private:1725             %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or1726               non_struct_map(),1727           status: integer()1728         })1729         # from: lib/phoenix_live_view/test/live_view_test.ex:333:351730         conn.private[:live_view_connect_params]17311732     type warning found at:1733     │1734 334 │       connect_info: conn.private[:live_view_connect_info] || prune_conn(conn) || %{},1735     │       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1736     │1737     └─ lib/phoenix_live_view/test/live_view_test.ex:334: Phoenix.LiveViewTest.connect_from_static_token/217381739     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"