Build log
nerves_system_bbb
flowy 0.1.6 · fail · run flowy-0.1.6-1791185200071
2216 of 2216 lines
1Resolving Hex dependencies...2Resolution completed in 0.521s3Unchanged:4 castore 1.0.215 circular_buffer 1.1.06 combine 0.10.07 cowboy 2.19.08 cowboy_telemetry 0.4.09 cowlib 2.20.0 VULNERABLE!10 EEF-CVE-2026-43966 (MEDIUM)11 aka: CVE-2026-43966, GHSA-w4f7-4cxr-rv3c12 HTTP Response Splitting via Non-VCHAR Bytes in cow_http_struct_hd:escape_string/213 https://osv.dev/vulnerability/EEF-CVE-2026-439661415 EEF-CVE-2026-43969 (LOW)16 aka: CVE-2026-43969, GHSA-g2wm-735q-3f5617 Cookie Request Header Injection via Unvalidated Encoder in cow_cookie:cookie/118 https://osv.dev/vulnerability/EEF-CVE-2026-4396919 db_connection 2.10.220 decimal 3.1.121 earmark 1.4.49 RETIRED! VULNERABLE!22 (deprecated) Earmark is no longer maintained. Migrate to a replacement, for example MDEx (https://hex.pm/packages/mdex).2324 EEF-CVE-2026-48591 (MEDIUM)25 aka: CVE-2026-48591, GHSA-52mm-h59v-f3c726 Stored XSS via unescaped HTML attribute values in earmark27 https://osv.dev/vulnerability/EEF-CVE-2026-4859128 ecto 3.14.229 ecto_sql 3.14.030 elixir_make 0.10.031 esbuild 0.10.032 expo 1.1.133 finch 0.24.034 flowy 0.1.635 gettext 0.26.236 heroicons 0.5.637 hpax 1.1.038 inflex 2.1.039 interactive_cmd 0.1.440 jason 1.4.541 joken 2.7.042 jose 1.11.1243 makeup 1.2.344 makeup_elixir 0.16.245 mime 2.0.746 mint 1.11.047 nerves 2.0.0-pre.248 nerves_discovery 0.1.549 nerves_logging 0.2.450 nerves_runtime 0.13.1351 nerves_system_bbb 2.30.252 nerves_system_br 1.34.453 nerves_system_mangopi_mq_pro 0.17.254 nerves_system_qemu_aarch64 0.4.255 nerves_system_rpi0 2.1.256 nerves_system_rpi4 2.1.257 nerves_system_rpi5 2.1.258 nerves_system_trellis 0.5.059 nerves_system_x86_64 1.34.260 nerves_toolchain_aarch64_nerves_linux_gnu 15.3.161 nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.162 nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.163 nerves_toolchain_riscv64_nerves_linux_gnu 15.3.164 nerves_toolchain_x86_64_nerves_linux_musl 15.3.165 nerves_uevent 0.1.766 nimble_options 1.1.167 nimble_parsec 1.4.268 nimble_pool 1.1.069 oauth2 2.1.170 octo_fetch 0.5.071 paleta 0.1.072 phoenix 1.7.2473 phoenix_html 3.3.474 phoenix_live_view 0.20.17 VULNERABLE!75 EEF-CVE-2026-64941 (LOW)76 aka: CVE-2026-64941, GHSA-36m4-rm57-3prf77 Open redirect in Phoenix.LiveView.validate_local_url!/2 via ASCII tab, LF and CR78 https://osv.dev/vulnerability/EEF-CVE-2026-6494179 phoenix_pubsub 2.3.080 phoenix_template 1.1.081 plug 1.20.382 plug_cowboy 2.9.083 plug_crypto 2.2.084 postgrex 0.22.485 prom_ex 1.9.086 property_table 0.3.487 ranch 2.3.088 recase 0.9.189 ring_logger 0.11.790 ssl_verify_fun 1.1.791 tablet 0.3.392 tailwind 0.5.193 telemetry 1.4.294 telemetry_metrics 0.6.295 telemetry_metrics_prometheus_core 1.2.196 telemetry_poller 1.3.097 tesla 1.21.398 timex 3.7.1399 toolshed 0.5.0100 tzdata 1.2.2101 uboot_env 1.0.2102 ueberauth 0.10.5103 ueberauth_okta 0.3.1104 websock 0.5.3105 websock_adapter 0.5.9106* Getting flowy (Hex package)107* Getting nerves (Hex package)108* Getting ring_logger (Hex package)109* Getting toolshed (Hex package)110* Getting nerves_runtime (Hex package)111* Getting nerves_system_bbb (Hex package)112* Getting nerves_system_mangopi_mq_pro (Hex package)113* Getting nerves_system_qemu_aarch64 (Hex package)114* Getting nerves_system_rpi0 (Hex package)115* Getting nerves_system_rpi4 (Hex package)116* Getting nerves_system_rpi5 (Hex package)117* Getting nerves_system_trellis (Hex package)118* Getting nerves_system_x86_64 (Hex package)119* Getting nerves_system_br (Hex package)120* Getting nerves_toolchain_x86_64_nerves_linux_musl (Hex package)121* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)122* Getting nerves_toolchain_aarch64_nerves_linux_gnu (Hex package)123* Getting nerves_toolchain_armv6_nerves_linux_gnueabihf (Hex package)124* Getting nerves_toolchain_riscv64_nerves_linux_gnu (Hex package)125* Getting nerves_logging (Hex package)126* Getting nerves_uevent (Hex package)127* Getting uboot_env (Hex package)128* Getting elixir_make (Hex package)129* Getting property_table (Hex package)130* Getting circular_buffer (Hex package)131* Getting interactive_cmd (Hex package)132* Getting nerves_discovery (Hex package)133* Getting tablet (Hex package)134* Getting ecto_sql (Hex package)135* Getting finch (Hex package)136* Getting jason (Hex package)137* Getting joken (Hex package)138* Getting nimble_options (Hex package)139* Getting oauth2 (Hex package)140* Getting paleta (Hex package)141* Getting phoenix (Hex package)142* Getting phoenix_live_view (Hex package)143* Getting postgrex (Hex package)144* Getting prom_ex (Hex package)145* Getting recase (Hex package)146* Getting telemetry (Hex package)147* Getting ueberauth (Hex package)148* Getting ueberauth_okta (Hex package)149* Getting plug (Hex package)150* Getting mime (Hex package)151* Getting plug_crypto (Hex package)152* Getting octo_fetch (Hex package)153* Getting plug_cowboy (Hex package)154* Getting telemetry_metrics (Hex package)155* Getting telemetry_metrics_prometheus_core (Hex package)156* Getting telemetry_poller (Hex package)157* Getting cowboy (Hex package)158* Getting cowboy_telemetry (Hex package)159* Getting cowlib (Hex package)160* Getting ranch (Hex package)161* Getting castore (Hex package)162* Getting ssl_verify_fun (Hex package)163* Getting db_connection (Hex package)164* Getting decimal (Hex package)165* Getting phoenix_html (Hex package)166* Getting phoenix_template (Hex package)167* Getting phoenix_pubsub (Hex package)168* Getting websock_adapter (Hex package)169* Getting websock (Hex package)170* Getting earmark (Hex package)171* Getting esbuild (Hex package)172* Getting heroicons (Hex package)173* Getting inflex (Hex package)174* Getting makeup (Hex package)175* Getting makeup_elixir (Hex package)176* Getting tailwind (Hex package)177* Getting timex (Hex package)178* Getting combine (Hex package)179* Getting gettext (Hex package)180* Getting tzdata (Hex package)181* Getting expo (Hex package)182* Getting nimble_parsec (Hex package)183* Getting tesla (Hex package)184* Getting jose (Hex package)185* Getting mint (Hex package)186* Getting nimble_pool (Hex package)187* Getting hpax (Hex package)188* Getting ecto (Hex package)189Found retired packages, see above for details190Found packages with security advisories, see above for details191You have added/upgraded packages you could sponsor, run `mix hex.sponsor` to learn more192==> nerves_system_br193Generated nerves_system_br app194==> combine195Compiling 6 files (.ex)196 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 operator197 │198 26 │ <<bits::bitstring-size(n), rest::bitstring>> ->199 │ ~200 │201 └─ lib/combine/parsers/binary.ex:26:30: Combine.Parsers.Binary.bits_impl/2202203 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 operator204 │205 48 │ <<bits::bitstring-size(bits_size), rest::bitstring>> ->206 │ ~207 │208 └─ lib/combine/parsers/binary.ex:48:30: Combine.Parsers.Binary.bytes_impl/2209210 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 operator211 │212 70 │ <<int::big-unsigned-size(size), rest::bitstring>> ->213 │ ~214 │215 └─ lib/combine/parsers/binary.ex:70:36: Combine.Parsers.Binary.uint_impl/3216217 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 operator218 │219 77 │ <<int::little-unsigned-size(size), rest::bitstring>> ->220 │ ~221 │222 └─ lib/combine/parsers/binary.ex:77:39: Combine.Parsers.Binary.uint_impl/3223224 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 operator225 │226 101 │ <<int::big-signed-size(size), rest::bitstring>> ->227 │ ~228 │229 └─ lib/combine/parsers/binary.ex:101:34: Combine.Parsers.Binary.int_impl/3230231 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 operator232 │233 108 │ <<int::little-signed-size(size), rest::bitstring>> ->234 │ ~235 │236 └─ lib/combine/parsers/binary.ex:108:37: Combine.Parsers.Binary.int_impl/3237238 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 operator239 │240 128 │ <<num::float-size(size), rest::bitstring>> ->241 │ ~242 │243 └─ lib/combine/parsers/binary.ex:128:25: Combine.Parsers.Binary.float_impl/2244245 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 operator246 │247 432 │ <<^expected::binary-size(byte_size), rest::binary>> ->248 │ ~249 │250 └─ lib/combine/parsers/text.ex:432:34: Combine.Parsers.Text.string_impl/2251252 warning: the following clause is redundant:253254 defp word_of_impl(%Combine.ParserState{...} = state, _pattern)255256 it has type:257258 dynamic(%Combine.ParserState{status: :ok}), dynamic()259260 previous clauses have already matched on the following types:261262 %Combine.ParserState{status: :error}, term()263 %Combine.ParserState{status: :ok}, term()264265 │266 488 │ defp word_of_impl(%ParserState{status: :ok} = state, _pattern) do267 │ ~268 │269 └─ lib/combine/parsers/text.ex:488:8: Combine.Parsers.Text.word_of_impl/2270271Generated combine app272==> mime273Compiling 1 file (.ex)274Generated mime app275==> circular_buffer276Compiling 1 file (.ex)277Generated circular_buffer app278==> nimble_options279Compiling 3 files (.ex)280Generated nimble_options app281==> plug_crypto282Compiling 5 files (.ex)283Generated plug_crypto app284==> hpax285Compiling 4 files (.ex)286Generated hpax app287==> recase288Compiling 15 files (.ex)289Generated recase app290==> jose291Compiling 113 files (.erl)292src/jose_server.erl:137:7: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.293Compile directive 'nowarn_deprecated_catch' can be used to suppress294warnings in selected modules.295% 137| _ = catch jose_jwa:unsecured_signing(UnsecuredSigning),296% | ^297298src/jose_server.erl:797:7: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.299Compile directive 'nowarn_deprecated_catch' can be used to suppress300warnings in selected modules.301% 797| case catch jose_crypto_compat:crypto_one_time(Cipher, Key, PlainText, true) of302% | ^303304src/jose_server.erl:799:9: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.305Compile directive 'nowarn_deprecated_catch' can be used to suppress306warnings in selected modules.307% 799| case catch jose_crypto_compat:crypto_one_time(Cipher, Key, CipherText, false) of308% | ^309310src/jose_server.erl:809:7: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.311Compile directive 'nowarn_deprecated_catch' can be used to suppress312warnings in selected modules.313% 809| case catch jose_crypto_compat:crypto_one_time(Cipher, Key, IV, PlainText, true) of314% | ^315316src/jose_server.erl:811:9: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.317Compile directive 'nowarn_deprecated_catch' can be used to suppress318warnings in selected modules.319% 811| case catch jose_crypto_compat:crypto_one_time(Cipher, Key, IV, CipherText, false) of320% | ^321322src/jose_server.erl:821:7: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.323Compile directive 'nowarn_deprecated_catch' can be used to suppress324warnings in selected modules.325% 821| case catch jose_crypto_compat:crypto_one_time(Cipher, Key, IV, {AAD, PlainText}, true) of326% | ^327328src/jose_server.erl:823:9: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.329Compile directive 'nowarn_deprecated_catch' can be used to suppress330warnings in selected modules.331% 823| case catch jose_crypto_compat:crypto_one_time(Cipher, Key, IV, {AAD, CipherText, CipherTag}, false) of332% | ^333334src/jose_server.erl:837:7: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.335Compile directive 'nowarn_deprecated_catch' can be used to suppress336warnings in selected modules.337% 837| case catch public_key:encrypt_public(PlainText, PublicKey, FutureOptions) of338% | ^339340src/jose_server.erl:840:9: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.341Compile directive 'nowarn_deprecated_catch' can be used to suppress342warnings in selected modules.343% 840| case catch public_key:decrypt_private(CipherText, PrivateKey, FutureOptions) of344% | ^345346src/jose_server.erl:842:11: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.347Compile directive 'nowarn_deprecated_catch' can be used to suppress348warnings in selected modules.349% 842| case catch public_key:decrypt_private(rsa_ciphertext(Algorithm), PrivateKey, FutureOptions) of350% | ^351352src/jose_server.erl:859:7: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.353Compile directive 'nowarn_deprecated_catch' can be used to suppress354warnings in selected modules.355% 859| case catch public_key:encrypt_public(PlainText, PublicKey, LegacyOptions) of356% | ^357358src/jose_server.erl:862:9: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.359Compile directive 'nowarn_deprecated_catch' can be used to suppress360warnings in selected modules.361% 862| case catch public_key:decrypt_private(CipherText, PrivateKey, LegacyOptions) of362% | ^363364src/jose_server.erl:864:11: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.365Compile directive 'nowarn_deprecated_catch' can be used to suppress366warnings in selected modules.367% 864| case catch public_key:decrypt_private(rsa_ciphertext(Algorithm), PrivateKey, LegacyOptions) of368% | ^369370src/jose_server.erl:882:7: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.371Compile directive 'nowarn_deprecated_catch' can be used to suppress372warnings in selected modules.373% 882| case catch public_key:sign(Message, DigestType, PrivateKey, Options) of374% | ^375376src/jose_server.erl:885:9: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.377Compile directive 'nowarn_deprecated_catch' can be used to suppress378warnings in selected modules.379% 885| case catch public_key:verify(Message, DigestType, Signature, PublicKey, Options) of380% | ^381382src/jose_server.erl:897:7: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.383Compile directive 'nowarn_deprecated_catch' can be used to suppress384warnings in selected modules.385% 897| case catch public_key:sign(Message, DigestType, PrivateKey) of386% | ^387388src/jose_server.erl:900:9: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.389Compile directive 'nowarn_deprecated_catch' can be used to suppress390warnings in selected modules.391% 900| case catch public_key:verify(Message, DigestType, Signature, PublicKey) of392% | ^393394src/jwa/jose_jwa.erl:230:7: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.395Compile directive 'nowarn_deprecated_catch' can be used to suppress396warnings in selected modules.397% 230| case catch block_cipher(Cipher) of398% | ^399400src/jwa/jose_jwa.erl:238:7: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.401Compile directive 'nowarn_deprecated_catch' can be used to suppress402warnings in selected modules.403% 238| case catch ?MAYBE_START_JOSE(ets:lookup_element(?TAB, chacha20_poly1305_module, 2)) of404% | ^405406src/jwa/jose_jwa.erl:246:7: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.407Compile directive 'nowarn_deprecated_catch' can be used to suppress408warnings in selected modules.409% 246| case catch rsa_crypt(Padding) of410% | ^411412src/jwa/jose_jwa.erl:254:7: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.413Compile directive 'nowarn_deprecated_catch' can be used to suppress414warnings in selected modules.415% 254| case catch rsa_sign(Padding) of416% | ^417418src/jwa/jose_jwa.erl:262:7: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.419Compile directive 'nowarn_deprecated_catch' can be used to suppress420warnings in selected modules.421% 262| case catch ?MAYBE_START_JOSE(ets:lookup_element(?TAB, xchacha20_poly1305_module, 2)) of422% | ^423424Compiling 8 files (.ex)425Generated jose app426==> nerves_compatibility_test427===> Analyzing applications...428===> Compiling ranch429==> ssl_verify_fun430Compiling 7 files (.erl)431Generated ssl_verify_fun app432==> tzdata433Compiling 18 files (.ex)434Generated tzdata app435==> tablet436Compiling 2 files (.ex)437Generated tablet app438==> inflex439Compiling 6 files (.ex)440Generated inflex app441==> elixir_make442Compiling 8 files (.ex)443Generated elixir_make app444==> nerves_logging445 CC kmsg_tailer.o446 LD kmsg_tailer447Compiling 5 files (.ex)448Generated nerves_logging app449==> castore450Compiling 1 file (.ex)451Generated castore app452==> octo_fetch453Compiling 3 files (.ex)454Generated octo_fetch app455==> mint456Compiling 1 file (.erl)457Compiling 21 files (.ex)458Generated mint app459==> earmark460Compiling 2 files (.xrl)461Compiling 1 file (.yrl)462Compiling 3 files (.erl)463Compiling 61 files (.ex)464 warning: unused require Logger465 │466 3 │ require Logger467 │ ~468 │469 └─ lib/earmark_parser/line_scanner.ex:3:3470471 warning: this clause of defp _maybe_remove_paras/2 is never used (or it will always fail/warn when invoked)472 │473 616 │ defp _maybe_remove_paras(ast, %Options{inner_html: true}) do474 │ ~475 │476 └─ lib/earmark/transform.ex:616:8: Earmark.Transform._maybe_remove_paras/2477478Generated earmark app479==> nerves_compatibility_test480===> Analyzing applications...481===> Compiling cowlib482==> nerves_discovery483Compiling 5 files (.ex)484Generated nerves_discovery app485==> ring_logger486Compiling 7 files (.ex)487Generated ring_logger app488==> decimal489Compiling 4 files (.ex)490Generated decimal app491==> jason492Compiling 10 files (.ex)493Generated jason app494==> esbuild495Compiling 4 files (.ex)496Generated esbuild app497==> interactive_cmd498Compiling 1 file (.ex)499Generated interactive_cmd app500==> nerves501Compiling 65 files (.ex)502 warning: redefining module Mix.Tasks.Nerves.Init (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Mix.Tasks.Nerves.Init.beam)503 │504 6 │ defmodule Mix.Tasks.Nerves.Init do505 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~506 │507 └─ lib/mix/tasks/nerves.init.ex:6: Mix.Tasks.Nerves.Init (module)508509 warning: redefining module Nerves (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.beam)510 │511 6 │ defmodule Nerves do512 │ ~~~~~~~~~~~~~~~~~~~513 │514 └─ lib/nerves.ex:6: Nerves (module)515516 warning: redefining module Nerves.ArtifactResolver (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.ArtifactResolver.beam)517 │518 5 │ defmodule Nerves.ArtifactResolver do519 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~520 │521 └─ lib/nerves/artifact_resolver.ex:5: Nerves.ArtifactResolver (module)522523 warning: redefining module Nerves.BuildAction.AppModes (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.AppModes.beam)524 │525 6 │ defmodule Nerves.BuildAction.AppModes do526 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~527 │528 └─ lib/nerves/build_action/app_modes.ex:6: Nerves.BuildAction.AppModes (module)529530 warning: redefining module Nerves.BuildAction.CheckExecutables (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.CheckExecutables.beam)531 │532 5 │ defmodule Nerves.BuildAction.CheckExecutables do533 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~534 │535 └─ lib/nerves/build_action/check_executables.ex:5: Nerves.BuildAction.CheckExecutables (module)536537 warning: redefining module Nerves.BuildAction.Erlinit (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.Erlinit.beam)538 │539 8 │ defmodule Nerves.BuildAction.Erlinit do540 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~541 │542 └─ lib/nerves/build_action/erlinit.ex:8: Nerves.BuildAction.Erlinit (module)543544 warning: redefining module Nerves.BuildAction.Firmware (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.Firmware.beam)545 │546 5 │ defmodule Nerves.BuildAction.Firmware do547 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~548 │549 └─ lib/nerves/build_action/firmware.ex:5: Nerves.BuildAction.Firmware (module)550551 warning: redefining module Nerves.BuildAction.IExStartupCheck (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.IExStartupCheck.beam)552 │553 7 │ defmodule Nerves.BuildAction.IExStartupCheck do554 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~555 │556 └─ lib/nerves/build_action/iex_startup_check.ex:7: Nerves.BuildAction.IExStartupCheck (module)557558 warning: redefining module Nerves.BuildAction.NervesV1System (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1System.beam)559 │560 5 │ defmodule Nerves.BuildAction.NervesV1System do561 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~562 │563 └─ lib/nerves/build_action/nerves_v1_system.ex:5: Nerves.BuildAction.NervesV1System (module)564565 warning: redefining module Nerves.BuildAction.NervesV1Toolchain (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1Toolchain.beam)566 │567 5 │ defmodule Nerves.BuildAction.NervesV1Toolchain do568 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~569 │570 └─ lib/nerves/build_action/nerves_v1_toolchain.ex:5: Nerves.BuildAction.NervesV1Toolchain (module)571572 warning: redefining module Nerves.BuildAction.Rootfs (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.Rootfs.beam)573 │574 5 │ defmodule Nerves.BuildAction.Rootfs do575 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~576 │577 └─ lib/nerves/build_action/rootfs.ex:5: Nerves.BuildAction.Rootfs (module)578579 warning: redefining module Nerves.BuildAction.SortApps (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.SortApps.beam)580 │581 6 │ defmodule Nerves.BuildAction.SortApps do582 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~583 │584 └─ lib/nerves/build_action/sort_apps.ex:6: Nerves.BuildAction.SortApps (module)585586 warning: redefining module Nerves.BuildAction.StripAll (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.StripAll.beam)587 │588 5 │ defmodule Nerves.BuildAction.StripAll do589 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~590 │591 └─ lib/nerves/build_action/strip_all.ex:5: Nerves.BuildAction.StripAll (module)592593 warning: redefining module Nerves.BuildAction.Trimmer (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.Trimmer.beam)594 │595 5 │ defmodule Nerves.BuildAction.Trimmer do596 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~597 │598 └─ lib/nerves/build_action/trimmer.ex:5: Nerves.BuildAction.Trimmer (module)599600 warning: redefining module Nerves.BuildPlan (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildPlan.beam)601 │602 5 │ defmodule Nerves.BuildPlan do603 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~604 │605 └─ lib/nerves/build_plan.ex:5: Nerves.BuildPlan (module)606607 warning: redefining module Nerves.BuildPlan.Checks (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildPlan.Checks.beam)608 │609 5 │ defmodule Nerves.BuildPlan.Checks do610 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~611 │612 └─ lib/nerves/build_plan/checks.ex:5: Nerves.BuildPlan.Checks (module)613614 warning: redefining module Nerves.Container (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.Container.beam)615 │616 6 │ defmodule Nerves.Container do617 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~618 │619 └─ lib/nerves/container.ex:6: Nerves.Container (module)620621 warning: redefining module Nerves.Fingerprint (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.Fingerprint.beam)622 │623 5 │ defmodule Nerves.Fingerprint do624 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~625 │626 └─ lib/nerves/fingerprint.ex:5: Nerves.Fingerprint (module)627628 warning: redefining module Nerves.MixPackage (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.MixPackage.beam)629 │630 5 │ defmodule Nerves.MixPackage do631 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~632 │633 └─ lib/nerves/mix_package.ex:5: Nerves.MixPackage (module)634635 warning: redefining module Nerves.Paths (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.Paths.beam)636 │637 5 │ defmodule Nerves.Paths do638 │ ~~~~~~~~~~~~~~~~~~~~~~~~~639 │640 └─ lib/nerves/paths.ex:5: Nerves.Paths (module)641642 warning: redefining module Nerves.TargetTuple (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.TargetTuple.beam)643 │644 5 │ defmodule Nerves.TargetTuple do645 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~646 │647 └─ lib/nerves/target_tuple.ex:5: Nerves.TargetTuple (module)648649Generated nerves app650==> nerves_toolchain_armv7_nerves_linux_gnueabihf651Compiling 1 file (.ex)652Generated nerves_toolchain_armv7_nerves_linux_gnueabihf app653==> nimble_parsec654Compiling 4 files (.ex)655Generated nimble_parsec app656==> makeup657Compiling 15 files (.ex)658Generated makeup app659==> makeup_elixir660Compiling 6 files (.ex)661Compiling lib/makeup/lexers/elixir_lexer.ex (it's taking more than 10s)662Generated makeup_elixir app663==> nerves_compatibility_test664===> Analyzing applications...665===> Compiling telemetry666==> telemetry_metrics667Compiling 7 files (.ex)668 warning: unused require Logger669 │670 391 │ require Logger671 │ ~672 │673 └─ lib/telemetry_metrics.ex:391:3674675Generated telemetry_metrics app676==> telemetry_metrics_prometheus_core677Compiling 9 files (.ex)678 warning: unused require Logger679 │680 148 │ require Logger681 │ ~682 │683 └─ lib/core.ex:148:3684685warning: first..last inside match is deprecated, you must always match on the step: first..last//var or first..last//_ if you want to ignore it686 lib/core/registry.ex:87: TelemetryMetricsPrometheus.Core.Registry.validate_distribution_buckets!/1687688Generated telemetry_metrics_prometheus_core app689==> nerves_compatibility_test690===> Analyzing applications...691===> Compiling telemetry_poller692==> db_connection693Compiling 18 files (.ex)694Generated db_connection app695==> ecto696Compiling 56 files (.ex)697Generated ecto app698==> nerves_compatibility_test699===> Analyzing applications...700===> Compiling cowboy701==> expo702Compiling 2 files (.erl)703Compiling 22 files (.ex)704Generated expo app705==> gettext706Compiling 18 files (.ex)707 warning: unused require Gettext.Macros708 │709 594 │ require Gettext.Macros710 │ ~711 │712 └─ lib/gettext.ex:594:3713714 warning: Kernel.ParallelCompiler.async/1 is deprecated. Use `pmap/2` instead715 │716 426 │ Kernel.ParallelCompiler.async(fn ->717 │ ~718 │719 └─ lib/gettext/compiler.ex:426:39: Gettext.Compiler.compile_po_files/3720721 warning: the following clause is redundant:722723 defp ensure_empty_msgstr!(%Expo.Message.Plural{} = message)724725 it has type:726727 dynamic(%Expo.Message.Plural{})728729 previous clauses have already matched on the following types:730731 %Expo.Message.Singular{}732 %Expo.Message.Plural{}733734 │735 391 │ defp ensure_empty_msgstr!(%Message.Plural{} = message) do736 │ ~737 │738 └─ lib/gettext/extractor.ex:391:8: Gettext.Extractor.ensure_empty_msgstr!/1739740Generated gettext app741==> phoenix_pubsub742Compiling 12 files (.ex)743Generated phoenix_pubsub app744==> plug745Compiling 1 file (.erl)746Compiling 42 files (.ex)747Generated plug app748==> ueberauth749Compiling 9 files (.ex)750Generated ueberauth app751==> phoenix_html752Compiling 9 files (.ex)753 warning: comparison between distinct types found:754755 id == nil756757 given types:758759 dynamic(not false and not nil and not binary()) == nil760761 where "id" was given the types:762763 # type: dynamic(not false and not nil)764 # from: lib/phoenix_html/form_data.ex:92:8765 id = Keyword.get(opts, :id) || name766767 # type: dynamic(not false and not nil and not binary())768 # from: lib/phoenix_html/form_data.ex:94:12769 is_binary(id)770771 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 false772773 type warning found at:774 │775 94 │ unless is_binary(id) or is_nil(id) do776 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~777 │778 └─ lib/phoenix_html/form_data.ex:94: Phoenix.HTML.FormData.Atom.to_form/2779780 warning: the 1st pattern in clause will never match:781782 60783784 because it is expected to receive type:785786 dynamic(empty_list() or non_empty_list(term(), term()))787788 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())789790 type warning found at:791 │792 56 │ def to_iodata(?<), do: "<"793 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~794 │795 └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/1796797 warning: the 1st pattern in clause will never match:798799 62800801 because it is expected to receive type:802803 dynamic(empty_list() or non_empty_list(term(), term()))804805 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())806807 type warning found at:808 │809 57 │ def to_iodata(?>), do: ">"810 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~811 │812 └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/1813814 warning: the 1st pattern in clause will never match:815816 38817818 because it is expected to receive type:819820 dynamic(empty_list() or non_empty_list(term(), term()))821822 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())823824 type warning found at:825 │826 58 │ def to_iodata(?&), do: "&"827 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~828 │829 └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/1830831 warning: the 1st pattern in clause will never match:832833 34834835 because it is expected to receive type:836837 dynamic(empty_list() or non_empty_list(term(), term()))838839 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())840841 type warning found at:842 │843 59 │ def to_iodata(?"), do: """844 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~845 │846 └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/1847848 warning: the 1st pattern in clause will never match:849850 39851852 because it is expected to receive type:853854 dynamic(empty_list() or non_empty_list(term(), term()))855856 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())857858 type warning found at:859 │860 60 │ def to_iodata(?'), do: "'"861 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~862 │863 └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/1864865 warning: the 1st pattern in clause will never match:866867 {:safe, data}868869 because it is expected to receive type:870871 dynamic(empty_list() or non_empty_list(term(), term()))872873 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())874875 type warning found at:876 │877 76 │ def to_iodata({:safe, data}) do878 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~879 │880 └─ lib/phoenix_html/safe.ex:76: Phoenix.HTML.Safe.List.to_iodata/1881882 warning: the following clause is redundant:883884 def to_iodata(other)885886 it has type:887888 dynamic(empty_list() or non_empty_list(term(), term()))889890 previous clauses have already matched on the following types:891892 non_empty_list(term(), term())893 empty_list()894895 │896 80 │ def to_iodata(other) do897 │ ~898 │899 └─ lib/phoenix_html/safe.ex:80:7: Phoenix.HTML.Safe.List.to_iodata/1900901 warning: the 1st pattern in clause will never match:902903 h904905 because it is expected to receive type:906907 dynamic(empty_list() or non_empty_list(term(), term()))908909 where "h" was given the type:910911 # type: integer()912 # from: lib/phoenix_html/safe.ex:62:25913 is_integer(h)914915 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())916917 type warning found at:918 │919 62 │ def to_iodata(h) when is_integer(h) and h <= 255 do920 │ ~921 │922 └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/1923924 warning: the 1st pattern in clause will never match:925926 h927928 because it is expected to receive type:929930 dynamic(empty_list() or non_empty_list(term(), term()))931932 where "h" was given the type:933934 # type: integer()935 # from: lib/phoenix_html/safe.ex:66:25936 is_integer(h)937938 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())939940 type warning found at:941 │942 66 │ def to_iodata(h) when is_integer(h) do943 │ ~944 │945 └─ lib/phoenix_html/safe.ex:66:17: Phoenix.HTML.Safe.List.to_iodata/1946947 warning: the 1st pattern in clause will never match:948949 h950951 because it is expected to receive type:952953 dynamic(empty_list() or non_empty_list(term(), term()))954955 where "h" was given the type:956957 # type: binary()958 # from: lib/phoenix_html/safe.ex:72:25959 is_binary(h)960961 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())962963 type warning found at:964 │965 72 │ def to_iodata(h) when is_binary(h) do966 │ ~967 │968 └─ lib/phoenix_html/safe.ex:72:17: Phoenix.HTML.Safe.List.to_iodata/1969970Generated phoenix_html app971==> phoenix_template972Compiling 4 files (.ex)973Generated phoenix_template app974warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"975 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2976 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1977 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5978 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2979 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4980 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2981982==> postgrex983Compiling 70 files (.ex)984Generated postgrex app985==> ecto_sql986Compiling 25 files (.ex)987Generated ecto_sql app988==> joken989Compiling 8 files (.ex)990Generated joken app991==> uboot_env992Compiling 5 files (.ex)993Generated uboot_env app994==> timex995Compiling 62 files (.ex)996 warning: default arguments in protocol definitions is deprecated997 │998 84 │ def compare(a, b, granularity \\ :microsecond)999 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1000 │1001 └─ lib/comparable/comparable.ex:84: Timex.Comparable (module)10021003 warning: default arguments in protocol definitions is deprecated1004 │1005 139 │ def diff(a, b, granularity \\ :microsecond)1006 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1007 │1008 └─ lib/comparable/comparable.ex:139: Timex.Comparable (module)10091010 warning: protocols can only define functions without implementation via def/1, found: compare/2, diff/21011 │1012 1 │ defprotocol Timex.Comparable do1013 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1014 │1015 └─ lib/comparable/comparable.ex:1: Timex.Comparable (module)10161017 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 operator1018 │1019 317 │ <<abbrevs::bytes(len), rest::binary>> = data1020 │ ~1021 │1022 └─ lib/parse/zoneinfo/parser.ex:317:22: Timex.Parse.ZoneInfo.Parser.parse_abbreviations/410231024 warning: default arguments in protocol definitions is deprecated1025 │1026 48 │ def to_datetime(datetime, timezone \\ :utc)1027 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1028 │1029 └─ lib/protocol.ex:48: Timex.Protocol (module)10301031 warning: protocols can only define functions without implementation via def/1, found: to_datetime/11032 │1033 1 │ defprotocol Timex.Protocol do1034 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1035 │1036 └─ lib/protocol.ex:1: Timex.Protocol (module)10371038 warning: unused require Timex.Macros1039 │1040 5 │ require Timex.Macros1041 │ ~1042 │1043 └─ lib/comparable/tuple.ex:5:310441045 warning: unused require Timex.Macros1046 │1047 5 │ require Timex.Macros1048 │ ~1049 │1050 └─ lib/comparable/naivedatetime.ex:5:310511052 warning: unused require Bitwise1053 │1054 5 │ require Bitwise1055 │ ~1056 │1057 └─ lib/calendar/julian.ex:5:310581059Compiling lib/l10n/gettext.ex (it's taking more than 10s)1060 warning: the following clause will never match:10611062 {ty, a, b} when ty === :gap or ty === :ambiguous ->10631064 it is expected to match on type:10651066 dynamic({:error, term()} and not {:ok, %{..., time_zone: term()}})10671068 where "ty" was given the type:10691070 # type: :ambiguous or :gap1071 # from: lib/timezone/timezone.ex:5481072 ty in [:gap, :ambiguous]10731074 type warning found at:1075 │1076 548 │ {ty, a, b} when ty in [:gap, :ambiguous] ->1077 │ ~1078 │1079 └─ lib/timezone/timezone.ex:548:7: Timex.Timezone.convert/210801081 warning: a struct for Timex.PosixTimezone is expected on struct update:10821083 %Timex.PosixTimezone{rule | std_abbr: abbr}10841085 but got type:10861087 dynamic()10881089 where "rule" was given the type:10901091 # type: dynamic()1092 # from: lib/parse/posix/parser.ex:119:331093 rule10941095 when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"10961097 type warning found at:1098 │1099 121 │ parse_tz(:std_offset, rest, %TZ{rule | std_abbr: abbr})1100 │ ~1101 │1102 └─ lib/parse/posix/parser.ex:121:35: Timex.Parse.Timezones.Posix.parse_tz/311031104 warning: a struct for Timex.PosixTimezone is expected on struct update:11051106 %Timex.PosixTimezone{rule | std_offset: offset}11071108 but got type:11091110 dynamic()11111112 where "rule" was given the type:11131114 # type: dynamic()1115 # from: lib/parse/posix/parser.ex:125:351116 rule11171118 when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"11191120 type warning found at:1121 │1122 127 │ parse_tz(:dst_abbr, rest, %TZ{rule | std_offset: offset})1123 │ ~1124 │1125 └─ lib/parse/posix/parser.ex:127:33: Timex.Parse.Timezones.Posix.parse_tz/311261127 warning: a struct for Timex.PosixTimezone is expected on struct update:11281129 %Timex.PosixTimezone{rule | dst_abbr: abbr}11301131 but got type:11321133 dynamic()11341135 where "rule" was given the type:11361137 # type: dynamic()1138 # from: lib/parse/posix/parser.ex:141:331139 rule11401141 when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"11421143 type warning found at:1144 │1145 143 │ rule = %TZ{rule | dst_abbr: abbr} do1146 │ ~1147 │1148 └─ lib/parse/posix/parser.ex:143:17: Timex.Parse.Timezones.Posix.parse_tz/311491150 warning: a struct for Timex.PosixTimezone is expected on struct update:11511152 %Timex.PosixTimezone{rule | dst_offset: offset}11531154 but got type:11551156 dynamic()11571158 where "rule" was given the type:11591160 # type: dynamic()1161 # from: lib/parse/posix/parser.ex:160:351162 rule11631164 when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"11651166 type warning found at:1167 │1168 162 │ rule = %TZ{rule | dst_offset: offset} do1169 │ ~1170 │1171 └─ lib/parse/posix/parser.ex:162:17: Timex.Parse.Timezones.Posix.parse_tz/311721173 warning: a struct for Timex.PosixTimezone is expected on struct update:11741175 %Timex.PosixTimezone{rule | dst_start: dst_start, dst_end: dst_end}11761177 but got type:11781179 dynamic()11801181 where "rule" was given the type:11821183 # type: dynamic()1184 # from: lib/parse/posix/parser.ex:185:361185 rule11861187 when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"11881189 type warning found at:1190 │1191 190 │ {:ok, %TZ{rule | dst_start: dst_start, dst_end: dst_end}, rest}1192 │ ~1193 │1194 └─ lib/parse/posix/parser.ex:190:17: Timex.Parse.Timezones.Posix.parse_tz/311951196 warning: the following clause will never match:11971198 :error ->11991200 it is expected to match on type:12011202 dynamic({:error, :invalid_number, binary()})12031204 type warning found at:1205 │1206 264 │ :error ->1207 │ ~~~~~~~~~1208 │1209 └─ lib/parse/posix/parser.ex:264: Timex.Parse.Timezones.Posix.parse_month_week_day/312101211 warning: the following pattern will never match:12121213 {y, m, d} <- to_erl_datetime(date)12141215 because the right-hand side has type:12161217 dynamic(1218 {:error, :invalid_date} or1219 {:ok, {{integer(), integer(), integer()}, {integer(), integer(), integer()}}}1220 )12211222 where "date" was given the type:12231224 # type: dynamic({...})1225 # from: lib/datetime/erlang.ex:7:171226 date12271228 type warning found at:1229 │1230 8 │ with {y, m, d} <- to_erl_datetime(date),1231 │ ~1232 │1233 └─ lib/datetime/erlang.ex:8:10: Timex.Protocol.Tuple.to_julian/112341235 warning: the following clause is redundant:12361237 def shift(_, _)12381239 it has type:12401241 dynamic(%Date{}), dynamic()12421243 previous clauses have already matched on the following types:12441245 %Date{}, term()12461247 │1248 227 │ def shift(_, _), do: {:error, :badarg}1249 │ ~1250 │1251 └─ lib/date/date.ex:227:7: Timex.Protocol.Date.shift/212521253 warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:12541255 %Timex.Parse.ZoneInfo.Parser.Zone{zone | transitions: transitions, leaps: leaps}12561257 but got type:12581259 dynamic(%{..., leaps: term(), transitions: term()})12601261 where "zone" was given the types:12621263 # type: dynamic(%{..., rule: term()} or %{..., transitions: term()})1264 # from: lib/parse/zoneinfo/parser.ex:156:281265 {:ok, zone, rest} <- parse_content(1, data, %Timex.Parse.ZoneInfo.Parser.Zone{..., version: 1})12661267 # type: dynamic(%{..., transitions: term()})1268 # from: lib/parse/zoneinfo/parser.ex:157:261269 Enum.sort_by(zone.transitions, fn tx -> tx.starts_at end)12701271 # type: dynamic(%{..., leaps: term(), transitions: term()})1272 # from: lib/parse/zoneinfo/parser.ex:158:201273 Enum.sort_by(zone.leaps, fn leap -> leap.epoch end)12741275 when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"12761277 type warning found at:1278 │1279 159 │ {:ok, %Zone{zone | transitions: transitions, leaps: leaps}, rest}1280 │ ~1281 │1282 └─ lib/parse/zoneinfo/parser.ex:159:13: Timex.Parse.ZoneInfo.Parser.parse_versioned_content/212831284 warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:12851286 %Timex.Parse.ZoneInfo.Parser.Zone{zone | transitions: times}12871288 but got type:12891290 dynamic()12911292 where "zone" was given the type:12931294 # type: dynamic()1295 # from: lib/parse/zoneinfo/parser.ex:270:921296 zone12971298 when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"12991300 type warning found at:1301 │1302 272 │ parse_transition_info(version, rest, header, %Zone{zone | transitions: times})1303 │ ~1304 │1305 └─ lib/parse/zoneinfo/parser.ex:272:50: Timex.Parse.ZoneInfo.Parser.parse_transition_times/413061307 warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:13081309 %Timex.Parse.ZoneInfo.Parser.Zone{zone | leaps: leaps}13101311 but got type:13121313 dynamic()13141315 where "zone" was given the type:13161317 # type: dynamic()1318 # from: lib/parse/zoneinfo/parser.ex:330:791319 zone13201321 when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"13221323 type warning found at:1324 │1325 344 │ parse_flags(version, rest, header, %Zone{zone | leaps: leaps})1326 │ ~1327 │1328 └─ lib/parse/zoneinfo/parser.ex:344:40: Timex.Parse.ZoneInfo.Parser.parse_leap_seconds/413291330 warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:13311332 %Timex.Parse.ZoneInfo.Parser.Zone{zone | transitions: transitions}13331334 but got type:13351336 dynamic(%{..., transitions: term()})13371338 where "zone" was given the type:13391340 # type: dynamic(%{..., transitions: term()})1341 # from: lib/parse/zoneinfo/parser.ex:354:151342 Enum.with_index(zone.transitions)13431344 when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"13451346 type warning found at:1347 │1348 362 │ parse_posixtz_string(version, rest, %Zone{zone | transitions: transitions})1349 │ ~1350 │1351 └─ lib/parse/zoneinfo/parser.ex:362:43: Timex.Parse.ZoneInfo.Parser.parse_flags/413521353 warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:13541355 %Timex.Parse.ZoneInfo.Parser.Zone{zone | transitions: transitions}13561357 but got type:13581359 dynamic(%{..., transitions: term()})13601361 where "zone" was given the type:13621363 # type: dynamic(%{..., transitions: term()})1364 # from: lib/parse/zoneinfo/parser.ex:354:151365 Enum.with_index(zone.transitions)13661367 when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"13681369 type warning found at:1370 │1371 364 │ {:ok, %Zone{zone | transitions: transitions}, rest}1372 │ ~1373 │1374 └─ lib/parse/zoneinfo/parser.ex:364:13: Timex.Parse.ZoneInfo.Parser.parse_flags/413751376 warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:13771378 %Timex.Parse.ZoneInfo.Parser.Zone{zone | rule: rule}13791380 but got type:13811382 dynamic()13831384 where "zone" was given the type:13851386 # type: dynamic()1387 # from: lib/parse/zoneinfo/parser.ex:369:621388 zone13891390 when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"13911392 type warning found at:1393 │1394 372 │ {:ok, %Zone{zone | rule: rule}, format_rest <> rest}1395 │ ~1396 │1397 └─ lib/parse/zoneinfo/parser.ex:372:13: Timex.Parse.ZoneInfo.Parser.parse_posixtz_string/313981399 warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:14001401 %Timex.Parse.ZoneInfo.Parser.Rule{rule | std_abbr: abbr, dst_abbr: abbr}14021403 but got type:14041405 dynamic()14061407 where "rule" was given the type:14081409 # type: dynamic()1410 # from: lib/parse/zoneinfo/parser.ex:383:331411 rule14121413 when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"14141415 type warning found at:1416 │1417 385 │ parse_tz(:std_offset, rest, %Rule{rule | std_abbr: abbr, dst_abbr: abbr})1418 │ ~1419 │1420 └─ lib/parse/zoneinfo/parser.ex:385:35: Timex.Parse.ZoneInfo.Parser.parse_tz/314211422 warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:14231424 %Timex.Parse.ZoneInfo.Parser.Rule{rule | std_offset: offset, dst_offset: offset}14251426 but got type:14271428 dynamic()14291430 where "rule" was given the type:14311432 # type: dynamic()1433 # from: lib/parse/zoneinfo/parser.ex:389:351434 rule14351436 when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"14371438 type warning found at:1439 │1440 391 │ parse_tz(:dst_abbr, rest, %Rule{rule | std_offset: offset, dst_offset: offset})1441 │ ~1442 │1443 └─ lib/parse/zoneinfo/parser.ex:391:33: Timex.Parse.ZoneInfo.Parser.parse_tz/314441445 warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:14461447 %Timex.Parse.ZoneInfo.Parser.Rule{rule | dst_abbr: abbr}14481449 but got type:14501451 dynamic()14521453 where "rule" was given the type:14541455 # type: dynamic()1456 # from: lib/parse/zoneinfo/parser.ex:405:331457 rule14581459 when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"14601461 type warning found at:1462 │1463 407 │ rule = %Rule{rule | dst_abbr: abbr} do1464 │ ~1465 │1466 └─ lib/parse/zoneinfo/parser.ex:407:17: Timex.Parse.ZoneInfo.Parser.parse_tz/314671468 warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:14691470 %Timex.Parse.ZoneInfo.Parser.Rule{rule | dst_offset: offset}14711472 but got type:14731474 dynamic()14751476 where "rule" was given the type:14771478 # type: dynamic()1479 # from: lib/parse/zoneinfo/parser.ex:424:351480 rule14811482 when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"14831484 type warning found at:1485 │1486 426 │ rule = %Rule{rule | dst_offset: offset} do1487 │ ~1488 │1489 └─ lib/parse/zoneinfo/parser.ex:426:17: Timex.Parse.ZoneInfo.Parser.parse_tz/314901491 warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:14921493 %Timex.Parse.ZoneInfo.Parser.Rule{rule | start_time: start_time, end_time: end_time}14941495 but got type:14961497 dynamic()14981499 where "rule" was given the type:15001501 # type: dynamic()1502 # from: lib/parse/zoneinfo/parser.ex:449:361503 rule15041505 when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"15061507 type warning found at:1508 │1509 454 │ {:ok, %Rule{rule | start_time: start_time, end_time: end_time}, rest}1510 │ ~1511 │1512 └─ lib/parse/zoneinfo/parser.ex:454:17: Timex.Parse.ZoneInfo.Parser.parse_tz/315131514 warning: the following clause will never match:15151516 :error ->15171518 it is expected to match on type:15191520 dynamic({:error, :invalid_number, binary()})15211522 type warning found at:1523 │1524 528 │ :error ->1525 │ ~~~~~~~~~1526 │1527 └─ lib/parse/zoneinfo/parser.ex:528: Timex.Parse.ZoneInfo.Parser.parse_month_week_day/315281529Generated timex app1530==> nimble_pool1531Compiling 2 files (.ex)1532Generated nimble_pool app1533==> finch1534Compiling 23 files (.ex)1535Generated finch app1536==> tesla1537Compiling 57 files (.ex)1538Generated tesla app1539==> oauth21540Compiling 13 files (.ex)1541Generated oauth2 app1542==> ueberauth_okta1543Compiling 3 files (.ex)1544 warning: unused require Jason1545 │1546 16 │ require Jason1547 │ ~1548 │1549 └─ lib/ueberauth/strategy/okta/oauth.ex:16:315501551Generated ueberauth_okta app1552==> nerves_system_bbb1553Generated nerves_system_bbb app1554==> property_table1555Compiling 8 files (.ex)1556Generated property_table app1557==> nerves_uevent1558 CC uevent.o1559 LD uevent1560Compiling 5 files (.ex)1561Generated nerves_uevent app1562==> nerves_runtime1563Compiling 14 files (.ex)1564Generated nerves_runtime app1565==> toolshed1566Compiling 5 files (.ex)1567Generated toolshed app1568==> tailwind1569Compiling 3 files (.ex)1570Generated tailwind app1571==> nerves_compatibility_test1572===> Analyzing applications...1573===> Compiling cowboy_telemetry1574==> plug_cowboy1575Compiling 5 files (.ex)1576Generated plug_cowboy app1577==> websock1578Compiling 1 file (.ex)1579Generated websock app1580==> websock_adapter1581Compiling 4 files (.ex)1582Generated websock_adapter app1583warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1584 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21585 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11586 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51587 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21588 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41589 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/215901591==> phoenix1592Compiling 71 files (.ex)1593 warning: unused require Logger1594 │1595 9 │ require Logger1596 │ ~1597 │1598 └─ lib/phoenix/config.ex:9:315991600 warning: unused require Logger1601 │1602 281 │ require Logger1603 │ ~1604 │1605 └─ lib/phoenix/endpoint.ex:281:316061607 warning: unused require Phoenix.Endpoint1608 │1609 6 │ require Phoenix.Endpoint1610 │ ~1611 │1612 └─ lib/phoenix/controller.ex:6:316131614 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 operator1615 │1616 46 │ <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix1617 │ ~1618 │1619 └─ lib/phoenix/naming.ex:46:29: Phoenix.Naming.unsuffix/216201621 warning: unused require Phoenix.Endpoint1622 │1623 17 │ require Phoenix.Endpoint1624 │ ~1625 │1626 └─ lib/phoenix/endpoint/render_errors.ex:17:316271628 warning: unused require Phoenix.Endpoint1629 │1630 6 │ require Phoenix.Endpoint1631 │ ~1632 │1633 └─ lib/phoenix/channel/server.ex:6:316341635 warning: unused require Logger1636 │1637 70 │ require Logger1638 │ ~1639 │1640 └─ lib/phoenix/socket/pool_supervisor.ex:70:316411642 warning: unused require Phoenix.Endpoint1643 │1644 202 │ require Phoenix.Endpoint1645 │ ~1646 │1647 └─ lib/phoenix/socket.ex:202:316481649 warning: unused require Logger1650 │1651 100 │ require Logger1652 │ ~1653 │1654 └─ lib/phoenix/token.ex:100:316551656 warning: comparison between distinct types found:16571658 merge_all != []16591660 given types:16611662 dynamic(non_empty_list({atom(), term()})) != empty_list()16631664 where "merge_all" was given the type:16651666 # type: dynamic(non_empty_list({atom(), term()}))1667 # from: lib/phoenix/router/route.ex:121:151668 merge_all = merge_params ++ merge_private ++ merge_assigns16691670 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 false16711672 type warning found at:1673 │1674 123 │ if merge_all != [] do1675 │ ~1676 │1677 └─ lib/phoenix/router/route.ex:123:18: Phoenix.Router.Route.build_prepare/116781679 warning: a struct for Plug.Conn is expected on struct update:16801681 %Plug.Conn{conn | state: :sent}16821683 but got type:16841685 dynamic()16861687 where "conn" was given the type:16881689 # type: dynamic()1690 # from: lib/phoenix/endpoint/render_errors.ex:55:171691 conn16921693 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"16941695 type warning found at:1696 │1697 60 │ %Plug.Conn{conn | state: :sent}1698 │ ~1699 │1700 └─ lib/phoenix/endpoint/render_errors.ex:60:11: Phoenix.Endpoint.RenderErrors.__catch__/517011702 warning: a struct for Plug.Conn is expected on struct update:17031704 %Plug.Conn{conn | query_params: %{}, params: %{}}17051706 but got type:17071708 dynamic(%{..., params: %Plug.Conn.Unfetched{}})17091710 where "conn" was given the types:17111712 # type: dynamic(%{..., params: term()})1713 # from: lib/phoenix/endpoint/render_errors.ex:133:171714 conn.params17151716 # type: dynamic(%{..., params: %Plug.Conn.Unfetched{}})1717 # from: lib/phoenix/endpoint/render_errors.ex:133:171718 conn.params17191720 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"17211722 type warning found at:1723 │1724 134 │ %Plug.Conn.Unfetched{} -> %Plug.Conn{conn | query_params: %{}, params: %{}}1725 │ ~1726 │1727 └─ lib/phoenix/endpoint/render_errors.ex:134:35: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/117281729 warning: a struct for Plug.Conn is expected on struct update:17301731 %Plug.Conn{conn | query_params: %{}, params: params}17321733 but got type:17341735 dynamic(%{..., params: not %Plug.Conn.Unfetched{}})17361737 where "conn" was given the types:17381739 # type: dynamic(%{..., params: term()})1740 # from: lib/phoenix/endpoint/render_errors.ex:133:171741 conn.params17421743 # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})1744 # from: lib/phoenix/endpoint/render_errors.ex:133:171745 conn.params17461747 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"17481749 type warning found at:1750 │1751 135 │ params -> %Plug.Conn{conn | query_params: %{}, params: params}1752 │ ~1753 │1754 └─ lib/phoenix/endpoint/render_errors.ex:135:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/117551756 warning: a struct for Plug.Conn is expected on struct update:17571758 %Plug.Conn{conn | params: params}17591760 but got type:17611762 dynamic(%{..., params: map()})17631764 where "conn" was given the type:17651766 # type: dynamic(%{..., params: map()})1767 # from: lib/phoenix/controller.ex:1327:171768 Map.get(conn.params, required_key)17691770 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"17711772 type warning found at:1773 │1774 1334 │ %Plug.Conn{conn | params: params}1775 │ ~1776 │1777 └─ lib/phoenix/controller.ex:1334:5: Phoenix.Controller.scrub_params/217781779Generated phoenix app1780warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1781 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21782 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11783 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51784 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21785 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41786 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/217871788==> phoenix_live_view1789Compiling 39 files (.ex)1790 warning: unused require Logger1791 │1792 48 │ require Logger1793 │ ~1794 │1795 └─ lib/phoenix_live_view/socket.ex:48:317961797 warning: unused require Phoenix.ChannelTest1798 │1799 183 │ require Phoenix.ChannelTest1800 │ ~1801 │1802 └─ lib/phoenix_live_view/test/live_view_test.ex:183:318031804 warning: unused require Phoenix.ConnTest1805 │1806 182 │ require Phoenix.ConnTest1807 │ ~1808 │1809 └─ lib/phoenix_live_view/test/live_view_test.ex:182:318101811 warning: unused require Phoenix.ChannelTest1812 │1813 5 │ require Phoenix.ChannelTest1814 │ ~1815 │1816 └─ lib/phoenix_live_view/test/upload_client.ex:5:318171818 warning: unused require Logger1819 │1820 6 │ require Logger1821 │ ~1822 │1823 └─ lib/phoenix_live_view/upload_channel.ex:6:318241825 warning: a struct for Phoenix.LiveView.Socket is expected on struct update:18261827 %Phoenix.LiveView.Socket{1828 socket1829 | assigns: Map.merge(temp_assigns, socket.assigns),1830 private:1831 Map.update(1832 socket.private,1833 :temporary_assigns,1834 temp_assigns,1835 &Map.merge(&1, temp_assigns)1836 )1837 }18381839 but got type:18401841 dynamic()18421843 where "socket" was given the type:18441845 # type: dynamic()1846 # from: lib/phoenix_live_view/utils.ex:415:281847 socket18481849 when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"18501851 type warning found at:1852 │1853 422 │ %Socket{1854 │ ~1855 │1856 └─ lib/phoenix_live_view/utils.ex:422:5: Phoenix.LiveView.Utils.handle_mount_option/318571858 warning: the following clause will never match:18591860 {:error, reason} ->18611862 because it attempts to match on the result of:18631864 IO.binwrite(state.file, data)18651866 which has type:18671868 dynamic(not {:error, term()})18691870 type warning found at:1871 │1872 23 │ {:error, reason} -> {:error, reason, state}1873 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1874 │1875 └─ lib/phoenix_live_view/upload_tmp_file_writer.ex:23: Phoenix.LiveView.UploadTmpFileWriter.write_chunk/218761877 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:18781879 %Phoenix.LiveView.UploadEntry{1880 entry1881 | preflighted?: entry.preflighted? || Enum.__in__(entry.ref, refs)1882 }18831884 but got type:18851886 dynamic()18871888 where "entry" was given the type:18891890 # type: dynamic()1891 # from: lib/phoenix_live_view/upload_config.ex:362:171892 entry <- conf.entries18931894 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"18951896 type warning found at:1897 │1898 363 │ %UploadEntry{entry | preflighted?: entry.preflighted? || entry.ref in refs}1899 │ ~1900 │1901 └─ lib/phoenix_live_view/upload_config.ex:363:9: Phoenix.LiveView.UploadConfig.mark_preflighted/219021903 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:19041905 %Phoenix.LiveView.UploadEntry{entry | valid?: true, uuid: generate_uuid()}19061907 but got type:19081909 dynamic()19101911 where "entry" was given the type:19121913 # type: dynamic()1914 # from: lib/phoenix_live_view/upload_config.ex:572:301915 entry19161917 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"19181919 type warning found at:1920 │1921 573 │ entry = %UploadEntry{entry | valid?: true, uuid: generate_uuid()}1922 │ ~1923 │1924 └─ lib/phoenix_live_view/upload_config.ex:573:13: Phoenix.LiveView.UploadConfig.put_valid_entry/219251926 warning: the following clause is redundant:19271928 def update(assigns, _key, fun) when is_function(fun, 1) or is_function(fun, 2)19291930 it has type:19311932 dynamic(), dynamic(), dynamic((none() -> term()) or (none(), none() -> term()))19331934 previous clauses have already matched on the following types:19351936 %Phoenix.LiveView.Socket{}, term(), (none(), none() -> term())1937 %Phoenix.LiveView.Socket{}, term(), (none() -> term())1938 term(), term(), (none(), none() -> term())1939 term(), term(), (none() -> term())19401941 │1942 1378 │ def update(assigns, _key, fun) when is_function(fun, 1) or is_function(fun, 2) do1943 │ ~1944 │1945 └─ lib/phoenix_component.ex:1378:7: Phoenix.Component.update/319461947 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:19481949 %Phoenix.LiveView.UploadEntry{entry | valid?: false}19501951 but got type:19521953 dynamic()19541955 where "entry" was given the type:19561957 # type: dynamic()1958 # from: lib/phoenix_live_view/upload_config.ex:585:321959 entry19601961 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"19621963 type warning found at:1964 │1965 586 │ entry = %UploadEntry{entry | valid?: false}1966 │ ~1967 │1968 └─ lib/phoenix_live_view/upload_config.ex:586:13: Phoenix.LiveView.UploadConfig.put_invalid_entry/319691970 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:19711972 %Phoenix.LiveView.UploadEntry{entry | cancelled?: true}19731974 but got type:19751976 dynamic()19771978 where "entry" was given the type:19791980 # type: dynamic()1981 # from: lib/phoenix_live_view/upload_config.ex:669:421982 entry19831984 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"19851986 type warning found at:1987 │1988 669 │ update_entry(conf, entry.ref, fn entry -> %UploadEntry{entry | cancelled?: true} end)1989 │ ~1990 │1991 └─ lib/phoenix_live_view/upload_config.ex:669:51: Phoenix.LiveView.UploadConfig.cancel_entry/219921993 warning: Logger.disable/1 is deprecated. Use Logger.put_process_level(pid, :none) instead1994 │1995 73 │ Logger.disable(self())1996 │ ~1997 │1998 └─ lib/phoenix_live_view/test/client_proxy.ex:73:12: Phoenix.LiveViewTest.ClientProxy.init/119992000 warning: the right-hand side of || (shown as ... below) will never be executed:20012002 conn.private[:live_view_connect_info] || prune_conn(conn) || ...20032004 because the left-hand side always evaluates to:20052006 dynamic(not false and not nil)20072008 where "conn" was given the types:20092010 # type: dynamic(%Plug.Conn{assigns: %{..., live_module: term()}, status: integer()})2011 # from: lib/phoenix_live_view/test/live_view_test.ex:319:722012 %Plug.Conn{status: 200, assigns: %{live_module: live_module}} = conn20132014 # type: dynamic(%Plug.Conn{2015 assigns: %{..., live_module: term()},2016 private:2017 %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or2018 non_struct_map(),2019 status: integer()2020 })2021 # from: lib/phoenix_live_view/test/live_view_test.ex:333:352022 conn.private[:live_view_connect_params]20232024 type warning found at:2025 │2026 334 │ connect_info: conn.private[:live_view_connect_info] || prune_conn(conn) || %{},2027 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2028 │2029 └─ lib/phoenix_live_view/test/live_view_test.ex:334: Phoenix.LiveViewTest.connect_from_static_token/220302031 warning: a struct for Phoenix.LiveViewTest.ClientProxy is expected on struct update:20322033 %Phoenix.LiveViewTest.ClientProxy{view | rendered: rendered}20342035 but got type:20362037 dynamic(%{..., rendered: map()})20382039 where "view" was given the type:20402041 # type: dynamic(%{..., rendered: map()})2042 # from: lib/phoenix_live_view/test/client_proxy.ex:727:262043 Phoenix.LiveViewTest.DOM.merge_diff(view.rendered, diff)20442045 when defining the variable "view", you must also pattern match on "%Phoenix.LiveViewTest.ClientProxy{}"20462047 type warning found at:2048 │2049 728 │ new_view = %ClientProxy{view | rendered: rendered}2050 │ ~2051 │2052 └─ lib/phoenix_live_view/test/client_proxy.ex:728:22: Phoenix.LiveViewTest.ClientProxy.merge_rendered/320532054 warning: a struct for Phoenix.LiveView.Socket is expected on struct update:20552056 %Phoenix.LiveView.Socket{2057 socket2058 | assigns: %Phoenix.LiveView.Socket.AssignsNotInSocket{__assigns__: assigns}2059 }20602061 but got type:20622063 dynamic(%{..., assigns: term()})20642065 where "socket" was given the type:20662067 # type: dynamic(%{..., assigns: term()})2068 # from: lib/phoenix_live_view/renderer.ex:121:432069 %{assigns: assigns} = socket20702071 when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"20722073 type warning found at:2074 │2075 122 │ socket = %Socket{socket | assigns: %Socket.AssignsNotInSocket{__assigns__: assigns}}2076 │ ~2077 │2078 └─ lib/phoenix_live_view/renderer.ex:122:14: Phoenix.LiveView.Renderer.render_assigns/120792080 warning: the following pattern will never match:20812082 template = Phoenix.LiveView.Utils.normalize_layout(template)20832084 because the right-hand side has type:20852086 none()20872088 where "template" was given the types:20892090 # type: binary()2091 # from: lib/phoenix_live_view/router.ex:299:662092 is_binary(template)20932094 # type: binary()2095 # from: lib/phoenix_live_view/router.ex2096 {:root_layout, {mod, template}}20972098 type warning found at:2099 │2100 300 │ template = Phoenix.LiveView.Utils.normalize_layout(template)2101 │ ~2102 │2103 └─ lib/phoenix_live_view/router.ex:300:18: Phoenix.LiveView.Router.validate_live_session_opts/321042105 warning: the following pattern will never match:21062107 template = Phoenix.LiveView.Utils.normalize_layout(template)21082109 because the right-hand side has type:21102111 none()21122113 where "template" was given the types:21142115 # type: binary()2116 # from: lib/phoenix_live_view/router.ex:316:612117 is_binary(template)21182119 # type: binary()2120 # from: lib/phoenix_live_view/router.ex2121 {:layout, {mod, template}}21222123 type warning found at:2124 │2125 317 │ template = Phoenix.LiveView.Utils.normalize_layout(template)2126 │ ~2127 │2128 └─ lib/phoenix_live_view/router.ex:317:18: Phoenix.LiveView.Router.validate_live_session_opts/321292130 warning: the following clause is redundant:21312132 def to_iodata(%_{} = struct)21332134 it has type:21352136 dynamic(%Phoenix.LiveView.Rendered{})21372138 previous clauses have already matched on the following types:21392140 %Phoenix.LiveView.Rendered{}21412142 │2143 152 │ def to_iodata(%_{} = struct) do2144 │ ~2145 │2146 └─ lib/phoenix_live_view/engine.ex:152:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/121472148 warning: the 1st pattern in clause will never match:21492150 nil21512152 because it is expected to receive type:21532154 dynamic(%Phoenix.LiveView.Rendered{})21552156 hint: defimpl for Phoenix.LiveView.Rendered requires its callbacks to match exclusively on %Phoenix.LiveView.Rendered{}21572158 type warning found at:2159 │2160 156 │ def to_iodata(nil) do2161 │ ~~~~~~~~~~~~~~~~~~~~~2162 │2163 └─ lib/phoenix_live_view/engine.ex:156: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/121642165 warning: the following clause is redundant:21662167 def to_iodata(other)21682169 it has type:21702171 dynamic(%Phoenix.LiveView.Rendered{})21722173 previous clauses have already matched on the following types:21742175 %Phoenix.LiveView.Rendered{}21762177 │2178 160 │ def to_iodata(other) do2179 │ ~2180 │2181 └─ lib/phoenix_live_view/engine.ex:160:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/121822183 warning: this clause of defp class_names/1 is never used (or it will always fail/warn when invoked)2184 │2185 903 │ defp class_names(nil), do: []2186 │ ~2187 │2188 └─ lib/phoenix_live_view/js.ex:903:8: Phoenix.LiveView.JS.class_names/121892190Generated phoenix_live_view app2191warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"2192 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/22193 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/12194 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/52195 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/22196 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/42197 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/221982199==> heroicons2200Compiling 3 files (.ex)2201Compiling lib/heroicons.ex (it's taking more than 10s)2202Generated heroicons app2203==> paleta2204Compiling 67 files (.ex)2205 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)2206 │2207 56 │ <%= live_component(Paleta.Components.Live.GlobalSearch,2208 │ ^^^^^^^^^^^^^^2209 │2210 └─ lib/components/app_header.ex:56:17: Paleta.Components.AppHeader."app_header (overridable 1)"/1221122122213== Compilation error in file lib/components/app_header.ex ==2214** (CompileError) lib/components/app_header.ex: cannot compile module Paleta.Components.AppHeader (errors have been logged)22152216could 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"