Build log
nerves_system_qemu_aarch64
paleta 0.1.0 · fail · run paleta-0.1.0-1791031886408
1902 of 1902 lines
1Resolving Hex dependencies...2Resolution completed in 0.193s3Unchanged: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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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_aarch64_nerves_linux_gnu419Compiling 1 file (.ex)420Generated nerves_toolchain_aarch64_nerves_linux_gnu app421==> nerves_system_qemu_aarch64422Compiling 1 file (.ex)423Generated nerves_system_qemu_aarch64 app424==> nimble_parsec425Compiling 4 files (.ex)426Generated nimble_parsec app427==> makeup428Compiling 15 files (.ex)429Generated makeup app430==> makeup_elixir431Compiling 6 files (.ex)432Compiling lib/makeup/lexers/elixir_lexer.ex (it's taking more than 10s)433Generated makeup_elixir app434==> nerves_compatibility_test435===> Analyzing applications...436===> Compiling telemetry437==> expo438Compiling 2 files (.erl)439Compiling 22 files (.ex)440Generated expo app441==> gettext442Compiling 18 files (.ex)443 warning: unused require Gettext.Macros444 │445 594 │ require Gettext.Macros446 │ ~447 │448 └─ lib/gettext.ex:594:3449450 warning: the following clause is redundant:451452 defp ensure_empty_msgstr!(%Expo.Message.Plural{} = message)453454 it has type:455456 dynamic(%Expo.Message.Plural{})457458 previous clauses have already matched on the following types:459460 %Expo.Message.Singular{}461 %Expo.Message.Plural{}462463 │464 391 │ defp ensure_empty_msgstr!(%Message.Plural{} = message) do465 │ ~466 │467 └─ lib/gettext/extractor.ex:391:8: Gettext.Extractor.ensure_empty_msgstr!/1468469 warning: Kernel.ParallelCompiler.async/1 is deprecated. Use `pmap/2` instead470 │471 426 │ Kernel.ParallelCompiler.async(fn ->472 │ ~473 │474 └─ lib/gettext/compiler.ex:426:39: Gettext.Compiler.compile_po_files/3475476Generated gettext app477==> phoenix_pubsub478Compiling 12 files (.ex)479Generated phoenix_pubsub app480==> plug481Compiling 1 file (.erl)482Compiling 42 files (.ex)483Generated plug app484==> phoenix_html485Compiling 9 files (.ex)486 warning: comparison between distinct types found:487488 id == nil489490 given types:491492 dynamic(not false and not nil and not binary()) == nil493494 where "id" was given the types:495496 # type: dynamic(not false and not nil)497 # from: lib/phoenix_html/form_data.ex:92:8498 id = Keyword.get(opts, :id) || name499500 # type: dynamic(not false and not nil and not binary())501 # from: lib/phoenix_html/form_data.ex:94:12502 is_binary(id)503504 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 false505506 type warning found at:507 │508 94 │ unless is_binary(id) or is_nil(id) do509 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~510 │511 └─ lib/phoenix_html/form_data.ex:94: Phoenix.HTML.FormData.Atom.to_form/2512513 warning: the 1st pattern in clause will never match:514515 60516517 because it is expected to receive type:518519 dynamic(empty_list() or non_empty_list(term(), term()))520521 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())522523 type warning found at:524 │525 56 │ def to_iodata(?<), do: "<"526 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~527 │528 └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/1529530 warning: the 1st pattern in clause will never match:531532 62533534 because it is expected to receive type:535536 dynamic(empty_list() or non_empty_list(term(), term()))537538 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())539540 type warning found at:541 │542 57 │ def to_iodata(?>), do: ">"543 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~544 │545 └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/1546547 warning: the 1st pattern in clause will never match:548549 38550551 because it is expected to receive type:552553 dynamic(empty_list() or non_empty_list(term(), term()))554555 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())556557 type warning found at:558 │559 58 │ def to_iodata(?&), do: "&"560 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~561 │562 └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/1563564 warning: the 1st pattern in clause will never match:565566 34567568 because it is expected to receive type:569570 dynamic(empty_list() or non_empty_list(term(), term()))571572 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())573574 type warning found at:575 │576 59 │ def to_iodata(?"), do: """577 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~578 │579 └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/1580581 warning: the 1st pattern in clause will never match:582583 39584585 because it is expected to receive type:586587 dynamic(empty_list() or non_empty_list(term(), term()))588589 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())590591 type warning found at:592 │593 60 │ def to_iodata(?'), do: "'"594 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~595 │596 └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/1597598 warning: the 1st pattern in clause will never match:599600 {:safe, data}601602 because it is expected to receive type:603604 dynamic(empty_list() or non_empty_list(term(), term()))605606 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())607608 type warning found at:609 │610 76 │ def to_iodata({:safe, data}) do611 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~612 │613 └─ lib/phoenix_html/safe.ex:76: Phoenix.HTML.Safe.List.to_iodata/1614615 warning: the following clause is redundant:616617 def to_iodata(other)618619 it has type:620621 dynamic(empty_list() or non_empty_list(term(), term()))622623 previous clauses have already matched on the following types:624625 non_empty_list(term(), term())626 empty_list()627628 │629 80 │ def to_iodata(other) do630 │ ~631 │632 └─ lib/phoenix_html/safe.ex:80:7: Phoenix.HTML.Safe.List.to_iodata/1633634 warning: the 1st pattern in clause will never match:635636 h637638 because it is expected to receive type:639640 dynamic(empty_list() or non_empty_list(term(), term()))641642 where "h" was given the type:643644 # type: integer()645 # from: lib/phoenix_html/safe.ex:62:25646 is_integer(h)647648 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())649650 type warning found at:651 │652 62 │ def to_iodata(h) when is_integer(h) and h <= 255 do653 │ ~654 │655 └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/1656657 warning: the 1st pattern in clause will never match:658659 h660661 because it is expected to receive type:662663 dynamic(empty_list() or non_empty_list(term(), term()))664665 where "h" was given the type:666667 # type: integer()668 # from: lib/phoenix_html/safe.ex:66:25669 is_integer(h)670671 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())672673 type warning found at:674 │675 66 │ def to_iodata(h) when is_integer(h) do676 │ ~677 │678 └─ lib/phoenix_html/safe.ex:66:17: Phoenix.HTML.Safe.List.to_iodata/1679680 warning: the 1st pattern in clause will never match:681682 h683684 because it is expected to receive type:685686 dynamic(empty_list() or non_empty_list(term(), term()))687688 where "h" was given the type:689690 # type: binary()691 # from: lib/phoenix_html/safe.ex:72:25692 is_binary(h)693694 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())695696 type warning found at:697 │698 72 │ def to_iodata(h) when is_binary(h) do699 │ ~700 │701 └─ lib/phoenix_html/safe.ex:72:17: Phoenix.HTML.Safe.List.to_iodata/1702703Generated phoenix_html app704==> phoenix_template705Compiling 4 files (.ex)706Generated phoenix_template app707==> uboot_env708Compiling 5 files (.ex)709Generated uboot_env app710==> timex711Compiling 62 files (.ex)712 warning: default arguments in protocol definitions is deprecated713 │714 84 │ def compare(a, b, granularity \\ :microsecond)715 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~716 │717 └─ lib/comparable/comparable.ex:84: Timex.Comparable (module)718719 warning: default arguments in protocol definitions is deprecated720 │721 139 │ def diff(a, b, granularity \\ :microsecond)722 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~723 │724 └─ lib/comparable/comparable.ex:139: Timex.Comparable (module)725726 warning: protocols can only define functions without implementation via def/1, found: compare/2, diff/2727 │728 1 │ defprotocol Timex.Comparable do729 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~730 │731 └─ lib/comparable/comparable.ex:1: Timex.Comparable (module)732733 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 operator734 │735 317 │ <<abbrevs::bytes(len), rest::binary>> = data736 │ ~737 │738 └─ lib/parse/zoneinfo/parser.ex:317:22: Timex.Parse.ZoneInfo.Parser.parse_abbreviations/4739740 warning: default arguments in protocol definitions is deprecated741 │742 48 │ def to_datetime(datetime, timezone \\ :utc)743 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~744 │745 └─ lib/protocol.ex:48: Timex.Protocol (module)746747 warning: protocols can only define functions without implementation via def/1, found: to_datetime/1748 │749 1 │ defprotocol Timex.Protocol do750 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~751 │752 └─ lib/protocol.ex:1: Timex.Protocol (module)753754 warning: unused require Timex.Macros755 │756 5 │ require Timex.Macros757 │ ~758 │759 └─ lib/comparable/tuple.ex:5:3760761 warning: unused require Timex.Macros762 │763 5 │ require Timex.Macros764 │ ~765 │766 └─ lib/comparable/naivedatetime.ex:5:3767768 warning: unused require Bitwise769 │770 5 │ require Bitwise771 │ ~772 │773 └─ lib/calendar/julian.ex:5:3774775Compiling lib/l10n/gettext.ex (it's taking more than 10s)776 warning: the following clause will never match:777778 {ty, a, b} when ty === :gap or ty === :ambiguous ->779780 it is expected to match on type:781782 dynamic({:error, term()} and not {:ok, %{..., time_zone: term()}})783784 where "ty" was given the type:785786 # type: :ambiguous or :gap787 # from: lib/timezone/timezone.ex:548788 ty in [:gap, :ambiguous]789790 type warning found at:791 │792 548 │ {ty, a, b} when ty in [:gap, :ambiguous] ->793 │ ~794 │795 └─ lib/timezone/timezone.ex:548:7: Timex.Timezone.convert/2796797 warning: a struct for Timex.PosixTimezone is expected on struct update:798799 %Timex.PosixTimezone{rule | std_abbr: abbr}800801 but got type:802803 dynamic()804805 where "rule" was given the type:806807 # type: dynamic()808 # from: lib/parse/posix/parser.ex:119:33809 rule810811 when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"812813 type warning found at:814 │815 121 │ parse_tz(:std_offset, rest, %TZ{rule | std_abbr: abbr})816 │ ~817 │818 └─ lib/parse/posix/parser.ex:121:35: Timex.Parse.Timezones.Posix.parse_tz/3819820 warning: a struct for Timex.PosixTimezone is expected on struct update:821822 %Timex.PosixTimezone{rule | std_offset: offset}823824 but got type:825826 dynamic()827828 where "rule" was given the type:829830 # type: dynamic()831 # from: lib/parse/posix/parser.ex:125:35832 rule833834 when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"835836 type warning found at:837 │838 127 │ parse_tz(:dst_abbr, rest, %TZ{rule | std_offset: offset})839 │ ~840 │841 └─ lib/parse/posix/parser.ex:127:33: Timex.Parse.Timezones.Posix.parse_tz/3842843 warning: a struct for Timex.PosixTimezone is expected on struct update:844845 %Timex.PosixTimezone{rule | dst_abbr: abbr}846847 but got type:848849 dynamic()850851 where "rule" was given the type:852853 # type: dynamic()854 # from: lib/parse/posix/parser.ex:141:33855 rule856857 when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"858859 type warning found at:860 │861 143 │ rule = %TZ{rule | dst_abbr: abbr} do862 │ ~863 │864 └─ lib/parse/posix/parser.ex:143:17: Timex.Parse.Timezones.Posix.parse_tz/3865866 warning: a struct for Timex.PosixTimezone is expected on struct update:867868 %Timex.PosixTimezone{rule | dst_offset: offset}869870 but got type:871872 dynamic()873874 where "rule" was given the type:875876 # type: dynamic()877 # from: lib/parse/posix/parser.ex:160:35878 rule879880 when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"881882 type warning found at:883 │884 162 │ rule = %TZ{rule | dst_offset: offset} do885 │ ~886 │887 └─ lib/parse/posix/parser.ex:162:17: Timex.Parse.Timezones.Posix.parse_tz/3888889 warning: a struct for Timex.PosixTimezone is expected on struct update:890891 %Timex.PosixTimezone{rule | dst_start: dst_start, dst_end: dst_end}892893 but got type:894895 dynamic()896897 where "rule" was given the type:898899 # type: dynamic()900 # from: lib/parse/posix/parser.ex:185:36901 rule902903 when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"904905 type warning found at:906 │907 190 │ {:ok, %TZ{rule | dst_start: dst_start, dst_end: dst_end}, rest}908 │ ~909 │910 └─ lib/parse/posix/parser.ex:190:17: Timex.Parse.Timezones.Posix.parse_tz/3911912 warning: the following clause will never match:913914 :error ->915916 it is expected to match on type:917918 dynamic({:error, :invalid_number, binary()})919920 type warning found at:921 │922 264 │ :error ->923 │ ~~~~~~~~~924 │925 └─ lib/parse/posix/parser.ex:264: Timex.Parse.Timezones.Posix.parse_month_week_day/3926927 warning: the following pattern will never match:928929 {y, m, d} <- to_erl_datetime(date)930931 because the right-hand side has type:932933 dynamic(934 {:error, :invalid_date} or935 {:ok, {{integer(), integer(), integer()}, {integer(), integer(), integer()}}}936 )937938 where "date" was given the type:939940 # type: dynamic({...})941 # from: lib/datetime/erlang.ex:7:17942 date943944 type warning found at:945 │946 8 │ with {y, m, d} <- to_erl_datetime(date),947 │ ~948 │949 └─ lib/datetime/erlang.ex:8:10: Timex.Protocol.Tuple.to_julian/1950951 warning: the following clause is redundant:952953 def shift(_, _)954955 it has type:956957 dynamic(%Date{}), dynamic()958959 previous clauses have already matched on the following types:960961 %Date{}, term()962963 │964 227 │ def shift(_, _), do: {:error, :badarg}965 │ ~966 │967 └─ lib/date/date.ex:227:7: Timex.Protocol.Date.shift/2968969 warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:970971 %Timex.Parse.ZoneInfo.Parser.Zone{zone | transitions: transitions, leaps: leaps}972973 but got type:974975 dynamic(%{..., leaps: term(), transitions: term()})976977 where "zone" was given the types:978979 # type: dynamic(%{..., rule: term()} or %{..., transitions: term()})980 # from: lib/parse/zoneinfo/parser.ex:156:28981 {:ok, zone, rest} <- parse_content(1, data, %Timex.Parse.ZoneInfo.Parser.Zone{..., version: 1})982983 # type: dynamic(%{..., transitions: term()})984 # from: lib/parse/zoneinfo/parser.ex:157:26985 Enum.sort_by(zone.transitions, fn tx -> tx.starts_at end)986987 # type: dynamic(%{..., leaps: term(), transitions: term()})988 # from: lib/parse/zoneinfo/parser.ex:158:20989 Enum.sort_by(zone.leaps, fn leap -> leap.epoch end)990991 when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"992993 type warning found at:994 │995 159 │ {:ok, %Zone{zone | transitions: transitions, leaps: leaps}, rest}996 │ ~997 │998 └─ lib/parse/zoneinfo/parser.ex:159:13: Timex.Parse.ZoneInfo.Parser.parse_versioned_content/29991000 warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:10011002 %Timex.Parse.ZoneInfo.Parser.Zone{zone | transitions: times}10031004 but got type:10051006 dynamic()10071008 where "zone" was given the type:10091010 # type: dynamic()1011 # from: lib/parse/zoneinfo/parser.ex:270:921012 zone10131014 when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"10151016 type warning found at:1017 │1018 272 │ parse_transition_info(version, rest, header, %Zone{zone | transitions: times})1019 │ ~1020 │1021 └─ lib/parse/zoneinfo/parser.ex:272:50: Timex.Parse.ZoneInfo.Parser.parse_transition_times/410221023 warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:10241025 %Timex.Parse.ZoneInfo.Parser.Zone{zone | leaps: leaps}10261027 but got type:10281029 dynamic()10301031 where "zone" was given the type:10321033 # type: dynamic()1034 # from: lib/parse/zoneinfo/parser.ex:330:791035 zone10361037 when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"10381039 type warning found at:1040 │1041 344 │ parse_flags(version, rest, header, %Zone{zone | leaps: leaps})1042 │ ~1043 │1044 └─ lib/parse/zoneinfo/parser.ex:344:40: Timex.Parse.ZoneInfo.Parser.parse_leap_seconds/410451046 warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:10471048 %Timex.Parse.ZoneInfo.Parser.Zone{zone | transitions: transitions}10491050 but got type:10511052 dynamic(%{..., transitions: term()})10531054 where "zone" was given the type:10551056 # type: dynamic(%{..., transitions: term()})1057 # from: lib/parse/zoneinfo/parser.ex:354:151058 Enum.with_index(zone.transitions)10591060 when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"10611062 type warning found at:1063 │1064 362 │ parse_posixtz_string(version, rest, %Zone{zone | transitions: transitions})1065 │ ~1066 │1067 └─ lib/parse/zoneinfo/parser.ex:362:43: Timex.Parse.ZoneInfo.Parser.parse_flags/410681069 warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:10701071 %Timex.Parse.ZoneInfo.Parser.Zone{zone | transitions: transitions}10721073 but got type:10741075 dynamic(%{..., transitions: term()})10761077 where "zone" was given the type:10781079 # type: dynamic(%{..., transitions: term()})1080 # from: lib/parse/zoneinfo/parser.ex:354:151081 Enum.with_index(zone.transitions)10821083 when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"10841085 type warning found at:1086 │1087 364 │ {:ok, %Zone{zone | transitions: transitions}, rest}1088 │ ~1089 │1090 └─ lib/parse/zoneinfo/parser.ex:364:13: Timex.Parse.ZoneInfo.Parser.parse_flags/410911092 warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:10931094 %Timex.Parse.ZoneInfo.Parser.Zone{zone | rule: rule}10951096 but got type:10971098 dynamic()10991100 where "zone" was given the type:11011102 # type: dynamic()1103 # from: lib/parse/zoneinfo/parser.ex:369:621104 zone11051106 when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"11071108 type warning found at:1109 │1110 372 │ {:ok, %Zone{zone | rule: rule}, format_rest <> rest}1111 │ ~1112 │1113 └─ lib/parse/zoneinfo/parser.ex:372:13: Timex.Parse.ZoneInfo.Parser.parse_posixtz_string/311141115 warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:11161117 %Timex.Parse.ZoneInfo.Parser.Rule{rule | std_abbr: abbr, dst_abbr: abbr}11181119 but got type:11201121 dynamic()11221123 where "rule" was given the type:11241125 # type: dynamic()1126 # from: lib/parse/zoneinfo/parser.ex:383:331127 rule11281129 when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"11301131 type warning found at:1132 │1133 385 │ parse_tz(:std_offset, rest, %Rule{rule | std_abbr: abbr, dst_abbr: abbr})1134 │ ~1135 │1136 └─ lib/parse/zoneinfo/parser.ex:385:35: Timex.Parse.ZoneInfo.Parser.parse_tz/311371138 warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:11391140 %Timex.Parse.ZoneInfo.Parser.Rule{rule | std_offset: offset, dst_offset: offset}11411142 but got type:11431144 dynamic()11451146 where "rule" was given the type:11471148 # type: dynamic()1149 # from: lib/parse/zoneinfo/parser.ex:389:351150 rule11511152 when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"11531154 type warning found at:1155 │1156 391 │ parse_tz(:dst_abbr, rest, %Rule{rule | std_offset: offset, dst_offset: offset})1157 │ ~1158 │1159 └─ lib/parse/zoneinfo/parser.ex:391:33: Timex.Parse.ZoneInfo.Parser.parse_tz/311601161 warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:11621163 %Timex.Parse.ZoneInfo.Parser.Rule{rule | dst_abbr: abbr}11641165 but got type:11661167 dynamic()11681169 where "rule" was given the type:11701171 # type: dynamic()1172 # from: lib/parse/zoneinfo/parser.ex:405:331173 rule11741175 when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"11761177 type warning found at:1178 │1179 407 │ rule = %Rule{rule | dst_abbr: abbr} do1180 │ ~1181 │1182 └─ lib/parse/zoneinfo/parser.ex:407:17: Timex.Parse.ZoneInfo.Parser.parse_tz/311831184 warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:11851186 %Timex.Parse.ZoneInfo.Parser.Rule{rule | dst_offset: offset}11871188 but got type:11891190 dynamic()11911192 where "rule" was given the type:11931194 # type: dynamic()1195 # from: lib/parse/zoneinfo/parser.ex:424:351196 rule11971198 when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"11991200 type warning found at:1201 │1202 426 │ rule = %Rule{rule | dst_offset: offset} do1203 │ ~1204 │1205 └─ lib/parse/zoneinfo/parser.ex:426:17: Timex.Parse.ZoneInfo.Parser.parse_tz/312061207 warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:12081209 %Timex.Parse.ZoneInfo.Parser.Rule{rule | start_time: start_time, end_time: end_time}12101211 but got type:12121213 dynamic()12141215 where "rule" was given the type:12161217 # type: dynamic()1218 # from: lib/parse/zoneinfo/parser.ex:449:361219 rule12201221 when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"12221223 type warning found at:1224 │1225 454 │ {:ok, %Rule{rule | start_time: start_time, end_time: end_time}, rest}1226 │ ~1227 │1228 └─ lib/parse/zoneinfo/parser.ex:454:17: Timex.Parse.ZoneInfo.Parser.parse_tz/312291230 warning: the following clause will never match:12311232 :error ->12331234 it is expected to match on type:12351236 dynamic({:error, :invalid_number, binary()})12371238 type warning found at:1239 │1240 528 │ :error ->1241 │ ~~~~~~~~~1242 │1243 └─ lib/parse/zoneinfo/parser.ex:528: Timex.Parse.ZoneInfo.Parser.parse_month_week_day/312441245Generated timex app1246==> property_table1247Compiling 8 files (.ex)1248Generated property_table app1249==> nerves_uevent1250 CC uevent.o1251 LD uevent1252Compiling 5 files (.ex)1253Generated nerves_uevent app1254==> nerves_runtime1255Compiling 14 files (.ex)1256Generated nerves_runtime app1257==> toolshed1258Compiling 5 files (.ex)1259Generated toolshed app1260==> tailwind1261Compiling 3 files (.ex)1262Generated tailwind app1263==> websock1264Compiling 1 file (.ex)1265Generated websock app1266==> websock_adapter1267Compiling 4 files (.ex)1268Generated websock_adapter app1269warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1270 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21271 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11272 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51273 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21274 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41275 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/212761277==> phoenix1278Compiling 71 files (.ex)1279 warning: unused require Logger1280 │1281 9 │ require Logger1282 │ ~1283 │1284 └─ lib/phoenix/config.ex:9:312851286 warning: unused require Logger1287 │1288 281 │ require Logger1289 │ ~1290 │1291 └─ lib/phoenix/endpoint.ex:281:312921293 warning: unused require Phoenix.Endpoint1294 │1295 6 │ require Phoenix.Endpoint1296 │ ~1297 │1298 └─ lib/phoenix/controller.ex:6:312991300 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 operator1301 │1302 46 │ <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix1303 │ ~1304 │1305 └─ lib/phoenix/naming.ex:46:29: Phoenix.Naming.unsuffix/213061307 warning: unused require Phoenix.Endpoint1308 │1309 17 │ require Phoenix.Endpoint1310 │ ~1311 │1312 └─ lib/phoenix/endpoint/render_errors.ex:17:313131314 warning: unused require Phoenix.Endpoint1315 │1316 6 │ require Phoenix.Endpoint1317 │ ~1318 │1319 └─ lib/phoenix/channel/server.ex:6:313201321 warning: unused require Phoenix.Endpoint1322 │1323 202 │ require Phoenix.Endpoint1324 │ ~1325 │1326 └─ lib/phoenix/socket.ex:202:313271328 warning: unused require Logger1329 │1330 70 │ require Logger1331 │ ~1332 │1333 └─ lib/phoenix/socket/pool_supervisor.ex:70:313341335 warning: unused require Logger1336 │1337 100 │ require Logger1338 │ ~1339 │1340 └─ lib/phoenix/token.ex:100:313411342 warning: comparison between distinct types found:13431344 merge_all != []13451346 given types:13471348 dynamic(non_empty_list({atom(), term()})) != empty_list()13491350 where "merge_all" was given the type:13511352 # type: dynamic(non_empty_list({atom(), term()}))1353 # from: lib/phoenix/router/route.ex:121:151354 merge_all = merge_params ++ merge_private ++ merge_assigns13551356 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 false13571358 type warning found at:1359 │1360 123 │ if merge_all != [] do1361 │ ~1362 │1363 └─ lib/phoenix/router/route.ex:123:18: Phoenix.Router.Route.build_prepare/113641365 warning: a struct for Plug.Conn is expected on struct update:13661367 %Plug.Conn{conn | state: :sent}13681369 but got type:13701371 dynamic()13721373 where "conn" was given the type:13741375 # type: dynamic()1376 # from: lib/phoenix/endpoint/render_errors.ex:55:171377 conn13781379 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"13801381 type warning found at:1382 │1383 60 │ %Plug.Conn{conn | state: :sent}1384 │ ~1385 │1386 └─ lib/phoenix/endpoint/render_errors.ex:60:11: Phoenix.Endpoint.RenderErrors.__catch__/513871388 warning: a struct for Plug.Conn is expected on struct update:13891390 %Plug.Conn{conn | query_params: %{}, params: %{}}13911392 but got type:13931394 dynamic(%{..., params: %Plug.Conn.Unfetched{}})13951396 where "conn" was given the types:13971398 # type: dynamic(%{..., params: term()})1399 # from: lib/phoenix/endpoint/render_errors.ex:133:171400 conn.params14011402 # type: dynamic(%{..., params: %Plug.Conn.Unfetched{}})1403 # from: lib/phoenix/endpoint/render_errors.ex:133:171404 conn.params14051406 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"14071408 type warning found at:1409 │1410 134 │ %Plug.Conn.Unfetched{} -> %Plug.Conn{conn | query_params: %{}, params: %{}}1411 │ ~1412 │1413 └─ lib/phoenix/endpoint/render_errors.ex:134:35: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/114141415 warning: a struct for Plug.Conn is expected on struct update:14161417 %Plug.Conn{conn | query_params: %{}, params: params}14181419 but got type:14201421 dynamic(%{..., params: not %Plug.Conn.Unfetched{}})14221423 where "conn" was given the types:14241425 # type: dynamic(%{..., params: term()})1426 # from: lib/phoenix/endpoint/render_errors.ex:133:171427 conn.params14281429 # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})1430 # from: lib/phoenix/endpoint/render_errors.ex:133:171431 conn.params14321433 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"14341435 type warning found at:1436 │1437 135 │ params -> %Plug.Conn{conn | query_params: %{}, params: params}1438 │ ~1439 │1440 └─ lib/phoenix/endpoint/render_errors.ex:135:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/114411442 warning: a struct for Plug.Conn is expected on struct update:14431444 %Plug.Conn{conn | params: params}14451446 but got type:14471448 dynamic(%{..., params: map()})14491450 where "conn" was given the type:14511452 # type: dynamic(%{..., params: map()})1453 # from: lib/phoenix/controller.ex:1327:171454 Map.get(conn.params, required_key)14551456 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"14571458 type warning found at:1459 │1460 1334 │ %Plug.Conn{conn | params: params}1461 │ ~1462 │1463 └─ lib/phoenix/controller.ex:1334:5: Phoenix.Controller.scrub_params/214641465Generated phoenix app1466warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1467 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21468 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11469 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51470 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21471 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41472 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/214731474==> phoenix_live_view1475Compiling 39 files (.ex)1476 warning: unused require Logger1477 │1478 48 │ require Logger1479 │ ~1480 │1481 └─ lib/phoenix_live_view/socket.ex:48:314821483 warning: unused require Phoenix.ChannelTest1484 │1485 183 │ require Phoenix.ChannelTest1486 │ ~1487 │1488 └─ lib/phoenix_live_view/test/live_view_test.ex:183:314891490 warning: unused require Phoenix.ConnTest1491 │1492 182 │ require Phoenix.ConnTest1493 │ ~1494 │1495 └─ lib/phoenix_live_view/test/live_view_test.ex:182:314961497 warning: unused require Phoenix.ChannelTest1498 │1499 5 │ require Phoenix.ChannelTest1500 │ ~1501 │1502 └─ lib/phoenix_live_view/test/upload_client.ex:5:315031504 warning: unused require Logger1505 │1506 6 │ require Logger1507 │ ~1508 │1509 └─ lib/phoenix_live_view/upload_channel.ex:6:315101511 warning: a struct for Phoenix.LiveView.Socket is expected on struct update:15121513 %Phoenix.LiveView.Socket{1514 socket1515 | assigns: Map.merge(temp_assigns, socket.assigns),1516 private:1517 Map.update(1518 socket.private,1519 :temporary_assigns,1520 temp_assigns,1521 &Map.merge(&1, temp_assigns)1522 )1523 }15241525 but got type:15261527 dynamic()15281529 where "socket" was given the type:15301531 # type: dynamic()1532 # from: lib/phoenix_live_view/utils.ex:415:281533 socket15341535 when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"15361537 type warning found at:1538 │1539 422 │ %Socket{1540 │ ~1541 │1542 └─ lib/phoenix_live_view/utils.ex:422:5: Phoenix.LiveView.Utils.handle_mount_option/315431544 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:15451546 %Phoenix.LiveView.UploadEntry{1547 entry1548 | preflighted?: entry.preflighted? || Enum.__in__(entry.ref, refs)1549 }15501551 but got type:15521553 dynamic()15541555 where "entry" was given the type:15561557 # type: dynamic()1558 # from: lib/phoenix_live_view/upload_config.ex:362:171559 entry <- conf.entries15601561 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"15621563 type warning found at:1564 │1565 363 │ %UploadEntry{entry | preflighted?: entry.preflighted? || entry.ref in refs}1566 │ ~1567 │1568 └─ lib/phoenix_live_view/upload_config.ex:363:9: Phoenix.LiveView.UploadConfig.mark_preflighted/215691570 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:15711572 %Phoenix.LiveView.UploadEntry{entry | valid?: true, uuid: generate_uuid()}15731574 but got type:15751576 dynamic()15771578 where "entry" was given the type:15791580 # type: dynamic()1581 # from: lib/phoenix_live_view/upload_config.ex:572:301582 entry15831584 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"15851586 type warning found at:1587 │1588 573 │ entry = %UploadEntry{entry | valid?: true, uuid: generate_uuid()}1589 │ ~1590 │1591 └─ lib/phoenix_live_view/upload_config.ex:573:13: Phoenix.LiveView.UploadConfig.put_valid_entry/215921593 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:15941595 %Phoenix.LiveView.UploadEntry{entry | valid?: false}15961597 but got type:15981599 dynamic()16001601 where "entry" was given the type:16021603 # type: dynamic()1604 # from: lib/phoenix_live_view/upload_config.ex:585:321605 entry16061607 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"16081609 type warning found at:1610 │1611 586 │ entry = %UploadEntry{entry | valid?: false}1612 │ ~1613 │1614 └─ lib/phoenix_live_view/upload_config.ex:586:13: Phoenix.LiveView.UploadConfig.put_invalid_entry/316151616 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:16171618 %Phoenix.LiveView.UploadEntry{entry | cancelled?: true}16191620 but got type:16211622 dynamic()16231624 where "entry" was given the type:16251626 # type: dynamic()1627 # from: lib/phoenix_live_view/upload_config.ex:669:421628 entry16291630 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"16311632 type warning found at:1633 │1634 669 │ update_entry(conf, entry.ref, fn entry -> %UploadEntry{entry | cancelled?: true} end)1635 │ ~1636 │1637 └─ lib/phoenix_live_view/upload_config.ex:669:51: Phoenix.LiveView.UploadConfig.cancel_entry/216381639 warning: the following clause is redundant:16401641 def update(assigns, _key, fun) when is_function(fun, 1) or is_function(fun, 2)16421643 it has type:16441645 dynamic(), dynamic(), dynamic((none() -> term()) or (none(), none() -> term()))16461647 previous clauses have already matched on the following types:16481649 %Phoenix.LiveView.Socket{}, term(), (none(), none() -> term())1650 %Phoenix.LiveView.Socket{}, term(), (none() -> term())1651 term(), term(), (none(), none() -> term())1652 term(), term(), (none() -> term())16531654 │1655 1378 │ def update(assigns, _key, fun) when is_function(fun, 1) or is_function(fun, 2) do1656 │ ~1657 │1658 └─ lib/phoenix_component.ex:1378:7: Phoenix.Component.update/316591660 warning: the following clause will never match:16611662 {:error, reason} ->16631664 because it attempts to match on the result of:16651666 IO.binwrite(state.file, data)16671668 which has type:16691670 dynamic(not {:error, term()})16711672 type warning found at:1673 │1674 23 │ {:error, reason} -> {:error, reason, state}1675 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1676 │1677 └─ lib/phoenix_live_view/upload_tmp_file_writer.ex:23: Phoenix.LiveView.UploadTmpFileWriter.write_chunk/216781679 warning: Logger.disable/1 is deprecated. Use Logger.put_process_level(pid, :none) instead1680 │1681 73 │ Logger.disable(self())1682 │ ~1683 │1684 └─ lib/phoenix_live_view/test/client_proxy.ex:73:12: Phoenix.LiveViewTest.ClientProxy.init/116851686 warning: a struct for Phoenix.LiveViewTest.ClientProxy is expected on struct update:16871688 %Phoenix.LiveViewTest.ClientProxy{view | rendered: rendered}16891690 but got type:16911692 dynamic(%{..., rendered: map()})16931694 where "view" was given the type:16951696 # type: dynamic(%{..., rendered: map()})1697 # from: lib/phoenix_live_view/test/client_proxy.ex:727:261698 Phoenix.LiveViewTest.DOM.merge_diff(view.rendered, diff)16991700 when defining the variable "view", you must also pattern match on "%Phoenix.LiveViewTest.ClientProxy{}"17011702 type warning found at:1703 │1704 728 │ new_view = %ClientProxy{view | rendered: rendered}1705 │ ~1706 │1707 └─ lib/phoenix_live_view/test/client_proxy.ex:728:22: Phoenix.LiveViewTest.ClientProxy.merge_rendered/317081709 warning: a struct for Phoenix.LiveView.Socket is expected on struct update:17101711 %Phoenix.LiveView.Socket{1712 socket1713 | assigns: %Phoenix.LiveView.Socket.AssignsNotInSocket{__assigns__: assigns}1714 }17151716 but got type:17171718 dynamic(%{..., assigns: term()})17191720 where "socket" was given the type:17211722 # type: dynamic(%{..., assigns: term()})1723 # from: lib/phoenix_live_view/renderer.ex:121:431724 %{assigns: assigns} = socket17251726 when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"17271728 type warning found at:1729 │1730 122 │ socket = %Socket{socket | assigns: %Socket.AssignsNotInSocket{__assigns__: assigns}}1731 │ ~1732 │1733 └─ lib/phoenix_live_view/renderer.ex:122:14: Phoenix.LiveView.Renderer.render_assigns/117341735 warning: the right-hand side of || (shown as ... below) will never be executed:17361737 conn.private[:live_view_connect_info] || prune_conn(conn) || ...17381739 because the left-hand side always evaluates to:17401741 dynamic(not false and not nil)17421743 where "conn" was given the types:17441745 # type: dynamic(%Plug.Conn{assigns: %{..., live_module: term()}, status: integer()})1746 # from: lib/phoenix_live_view/test/live_view_test.ex:319:721747 %Plug.Conn{status: 200, assigns: %{live_module: live_module}} = conn17481749 # type: dynamic(%Plug.Conn{1750 assigns: %{..., live_module: term()},1751 private:1752 %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or1753 non_struct_map(),1754 status: integer()1755 })1756 # from: lib/phoenix_live_view/test/live_view_test.ex:333:351757 conn.private[:live_view_connect_params]17581759 type warning found at:1760 │1761 334 │ connect_info: conn.private[:live_view_connect_info] || prune_conn(conn) || %{},1762 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1763 │1764 └─ lib/phoenix_live_view/test/live_view_test.ex:334: Phoenix.LiveViewTest.connect_from_static_token/217651766 warning: the following pattern will never match:17671768 template = Phoenix.LiveView.Utils.normalize_layout(template)17691770 because the right-hand side has type:17711772 none()17731774 where "template" was given the types:17751776 # type: binary()1777 # from: lib/phoenix_live_view/router.ex:299:661778 is_binary(template)17791780 # type: binary()1781 # from: lib/phoenix_live_view/router.ex1782 {:root_layout, {mod, template}}17831784 type warning found at:1785 │1786 300 │ template = Phoenix.LiveView.Utils.normalize_layout(template)1787 │ ~1788 │1789 └─ lib/phoenix_live_view/router.ex:300:18: Phoenix.LiveView.Router.validate_live_session_opts/317901791 warning: the following clause is redundant:17921793 def to_iodata(%_{} = struct)17941795 it has type:17961797 dynamic(%Phoenix.LiveView.Rendered{})17981799 previous clauses have already matched on the following types:18001801 %Phoenix.LiveView.Rendered{}18021803 │1804 152 │ def to_iodata(%_{} = struct) do1805 │ ~1806 │1807 └─ lib/phoenix_live_view/engine.ex:152:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/118081809 warning: the 1st pattern in clause will never match:18101811 nil18121813 because it is expected to receive type:18141815 dynamic(%Phoenix.LiveView.Rendered{})18161817 hint: defimpl for Phoenix.LiveView.Rendered requires its callbacks to match exclusively on %Phoenix.LiveView.Rendered{}18181819 type warning found at:1820 │1821 156 │ def to_iodata(nil) do1822 │ ~~~~~~~~~~~~~~~~~~~~~1823 │1824 └─ lib/phoenix_live_view/engine.ex:156: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/118251826 warning: the following clause is redundant:18271828 def to_iodata(other)18291830 it has type:18311832 dynamic(%Phoenix.LiveView.Rendered{})18331834 previous clauses have already matched on the following types:18351836 %Phoenix.LiveView.Rendered{}18371838 │1839 160 │ def to_iodata(other) do1840 │ ~1841 │1842 └─ lib/phoenix_live_view/engine.ex:160:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/118431844 warning: the following pattern will never match:18451846 template = Phoenix.LiveView.Utils.normalize_layout(template)18471848 because the right-hand side has type:18491850 none()18511852 where "template" was given the types:18531854 # type: binary()1855 # from: lib/phoenix_live_view/router.ex:316:611856 is_binary(template)18571858 # type: binary()1859 # from: lib/phoenix_live_view/router.ex1860 {:layout, {mod, template}}18611862 type warning found at:1863 │1864 317 │ template = Phoenix.LiveView.Utils.normalize_layout(template)1865 │ ~1866 │1867 └─ lib/phoenix_live_view/router.ex:317:18: Phoenix.LiveView.Router.validate_live_session_opts/318681869 warning: this clause of defp class_names/1 is never used (or it will always fail/warn when invoked)1870 │1871 903 │ defp class_names(nil), do: []1872 │ ~1873 │1874 └─ lib/phoenix_live_view/js.ex:903:8: Phoenix.LiveView.JS.class_names/118751876Generated phoenix_live_view app1877warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1878 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21879 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11880 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51881 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21882 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41883 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/218841885==> heroicons1886Compiling 3 files (.ex)1887Compiling lib/heroicons.ex (it's taking more than 10s)1888Generated heroicons app1889==> paleta1890Compiling 67 files (.ex)1891 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)1892 │1893 56 │ <%= live_component(Paleta.Components.Live.GlobalSearch,1894 │ ^^^^^^^^^^^^^^1895 │1896 └─ lib/components/app_header.ex:56:17: Paleta.Components.AppHeader."app_header (overridable 1)"/1189718981899== Compilation error in file lib/components/app_header.ex ==1900** (CompileError) lib/components/app_header.ex: cannot compile module Paleta.Components.AppHeader (errors have been logged)19011902could 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"