Build log
nerves_system_rpi4
flowy 0.1.6 · fail · run flowy-0.1.6-1791185200071
2218 of 2218 lines
1Resolving Hex dependencies...2Resolution completed in 0.506s3Unchanged: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/rpi4/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/rpi4/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/rpi4/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/rpi4/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/rpi4/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.Firmware (current version loaded from /work/proj/_build/rpi4/lib/nerves/ebin/Elixir.Nerves.BuildAction.Firmware.beam)538 │539 5 │ defmodule Nerves.BuildAction.Firmware do540 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~541 │542 └─ lib/nerves/build_action/firmware.ex:5: Nerves.BuildAction.Firmware (module)543544 warning: redefining module Nerves.BuildAction.Erlinit (current version loaded from /work/proj/_build/rpi4/lib/nerves/ebin/Elixir.Nerves.BuildAction.Erlinit.beam)545 │546 8 │ defmodule Nerves.BuildAction.Erlinit do547 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~548 │549 └─ lib/nerves/build_action/erlinit.ex:8: Nerves.BuildAction.Erlinit (module)550551 warning: redefining module Nerves.BuildAction.IExStartupCheck (current version loaded from /work/proj/_build/rpi4/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/rpi4/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/rpi4/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/rpi4/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/rpi4/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/rpi4/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/rpi4/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/rpi4/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/rpi4/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/rpi4/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/rpi4/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/rpi4/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/rpi4/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/rpi4/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_aarch64_nerves_linux_gnu651Compiling 1 file (.ex)652Generated nerves_toolchain_aarch64_nerves_linux_gnu app653==> nerves_system_rpi4654Generated nerves_system_rpi4 app655==> nimble_parsec656Compiling 4 files (.ex)657Generated nimble_parsec app658==> makeup659Compiling 15 files (.ex)660Generated makeup app661==> makeup_elixir662Compiling 6 files (.ex)663Compiling lib/makeup/lexers/elixir_lexer.ex (it's taking more than 10s)664Generated makeup_elixir app665==> nerves_compatibility_test666===> Analyzing applications...667===> Compiling telemetry668==> telemetry_metrics669Compiling 7 files (.ex)670 warning: unused require Logger671 │672 391 │ require Logger673 │ ~674 │675 └─ lib/telemetry_metrics.ex:391:3676677Generated telemetry_metrics app678==> telemetry_metrics_prometheus_core679Compiling 9 files (.ex)680 warning: unused require Logger681 │682 148 │ require Logger683 │ ~684 │685 └─ lib/core.ex:148:3686687warning: first..last inside match is deprecated, you must always match on the step: first..last//var or first..last//_ if you want to ignore it688 lib/core/registry.ex:87: TelemetryMetricsPrometheus.Core.Registry.validate_distribution_buckets!/1689690Generated telemetry_metrics_prometheus_core app691==> nerves_compatibility_test692===> Analyzing applications...693===> Compiling telemetry_poller694==> db_connection695Compiling 18 files (.ex)696Generated db_connection app697==> ecto698Compiling 56 files (.ex)699Compiling lib/ecto/query/planner.ex (it's taking more than 10s)700Generated ecto app701==> nerves_compatibility_test702===> Analyzing applications...703===> Compiling cowboy704==> expo705Compiling 2 files (.erl)706Compiling 22 files (.ex)707Generated expo app708==> gettext709Compiling 18 files (.ex)710 warning: unused require Gettext.Macros711 │712 594 │ require Gettext.Macros713 │ ~714 │715 └─ lib/gettext.ex:594:3716717 warning: the following clause is redundant:718719 defp ensure_empty_msgstr!(%Expo.Message.Plural{} = message)720721 it has type:722723 dynamic(%Expo.Message.Plural{})724725 previous clauses have already matched on the following types:726727 %Expo.Message.Singular{}728 %Expo.Message.Plural{}729730 │731 391 │ defp ensure_empty_msgstr!(%Message.Plural{} = message) do732 │ ~733 │734 └─ lib/gettext/extractor.ex:391:8: Gettext.Extractor.ensure_empty_msgstr!/1735736 warning: Kernel.ParallelCompiler.async/1 is deprecated. Use `pmap/2` instead737 │738 426 │ Kernel.ParallelCompiler.async(fn ->739 │ ~740 │741 └─ lib/gettext/compiler.ex:426:39: Gettext.Compiler.compile_po_files/3742743Generated gettext app744==> phoenix_pubsub745Compiling 12 files (.ex)746Generated phoenix_pubsub app747==> plug748Compiling 1 file (.erl)749Compiling 42 files (.ex)750Generated plug app751==> ueberauth752Compiling 9 files (.ex)753Generated ueberauth app754==> phoenix_html755Compiling 9 files (.ex)756 warning: comparison between distinct types found:757758 id == nil759760 given types:761762 dynamic(not false and not nil and not binary()) == nil763764 where "id" was given the types:765766 # type: dynamic(not false and not nil)767 # from: lib/phoenix_html/form_data.ex:92:8768 id = Keyword.get(opts, :id) || name769770 # type: dynamic(not false and not nil and not binary())771 # from: lib/phoenix_html/form_data.ex:94:12772 is_binary(id)773774 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 false775776 type warning found at:777 │778 94 │ unless is_binary(id) or is_nil(id) do779 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~780 │781 └─ lib/phoenix_html/form_data.ex:94: Phoenix.HTML.FormData.Atom.to_form/2782783 warning: the 1st pattern in clause will never match:784785 60786787 because it is expected to receive type:788789 dynamic(empty_list() or non_empty_list(term(), term()))790791 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())792793 type warning found at:794 │795 56 │ def to_iodata(?<), do: "<"796 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~797 │798 └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/1799800 warning: the 1st pattern in clause will never match:801802 62803804 because it is expected to receive type:805806 dynamic(empty_list() or non_empty_list(term(), term()))807808 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())809810 type warning found at:811 │812 57 │ def to_iodata(?>), do: ">"813 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~814 │815 └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/1816817 warning: the 1st pattern in clause will never match:818819 38820821 because it is expected to receive type:822823 dynamic(empty_list() or non_empty_list(term(), term()))824825 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())826827 type warning found at:828 │829 58 │ def to_iodata(?&), do: "&"830 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~831 │832 └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/1833834 warning: the 1st pattern in clause will never match:835836 34837838 because it is expected to receive type:839840 dynamic(empty_list() or non_empty_list(term(), term()))841842 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())843844 type warning found at:845 │846 59 │ def to_iodata(?"), do: """847 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~848 │849 └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/1850851 warning: the 1st pattern in clause will never match:852853 39854855 because it is expected to receive type:856857 dynamic(empty_list() or non_empty_list(term(), term()))858859 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())860861 type warning found at:862 │863 60 │ def to_iodata(?'), do: "'"864 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~865 │866 └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/1867868 warning: the 1st pattern in clause will never match:869870 {:safe, data}871872 because it is expected to receive type:873874 dynamic(empty_list() or non_empty_list(term(), term()))875876 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())877878 type warning found at:879 │880 76 │ def to_iodata({:safe, data}) do881 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~882 │883 └─ lib/phoenix_html/safe.ex:76: Phoenix.HTML.Safe.List.to_iodata/1884885 warning: the following clause is redundant:886887 def to_iodata(other)888889 it has type:890891 dynamic(empty_list() or non_empty_list(term(), term()))892893 previous clauses have already matched on the following types:894895 non_empty_list(term(), term())896 empty_list()897898 │899 80 │ def to_iodata(other) do900 │ ~901 │902 └─ lib/phoenix_html/safe.ex:80:7: Phoenix.HTML.Safe.List.to_iodata/1903904 warning: the 1st pattern in clause will never match:905906 h907908 because it is expected to receive type:909910 dynamic(empty_list() or non_empty_list(term(), term()))911912 where "h" was given the type:913914 # type: integer()915 # from: lib/phoenix_html/safe.ex:62:25916 is_integer(h)917918 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())919920 type warning found at:921 │922 62 │ def to_iodata(h) when is_integer(h) and h <= 255 do923 │ ~924 │925 └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/1926927 warning: the 1st pattern in clause will never match:928929 h930931 because it is expected to receive type:932933 dynamic(empty_list() or non_empty_list(term(), term()))934935 where "h" was given the type:936937 # type: integer()938 # from: lib/phoenix_html/safe.ex:66:25939 is_integer(h)940941 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())942943 type warning found at:944 │945 66 │ def to_iodata(h) when is_integer(h) do946 │ ~947 │948 └─ lib/phoenix_html/safe.ex:66:17: Phoenix.HTML.Safe.List.to_iodata/1949950 warning: the 1st pattern in clause will never match:951952 h953954 because it is expected to receive type:955956 dynamic(empty_list() or non_empty_list(term(), term()))957958 where "h" was given the type:959960 # type: binary()961 # from: lib/phoenix_html/safe.ex:72:25962 is_binary(h)963964 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())965966 type warning found at:967 │968 72 │ def to_iodata(h) when is_binary(h) do969 │ ~970 │971 └─ lib/phoenix_html/safe.ex:72:17: Phoenix.HTML.Safe.List.to_iodata/1972973Generated phoenix_html app974==> phoenix_template975Compiling 4 files (.ex)976Generated phoenix_template app977warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"978 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2979 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1980 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5981 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2982 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4983 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2984985==> postgrex986Compiling 70 files (.ex)987Compiling lib/postgrex/default_types.ex (it's taking more than 10s)988Generated postgrex app989==> ecto_sql990Compiling 25 files (.ex)991Generated ecto_sql app992==> joken993Compiling 8 files (.ex)994Generated joken app995==> uboot_env996Compiling 5 files (.ex)997Generated uboot_env app998==> timex999Compiling 62 files (.ex)1000 warning: default arguments in protocol definitions is deprecated1001 │1002 84 │ def compare(a, b, granularity \\ :microsecond)1003 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1004 │1005 └─ lib/comparable/comparable.ex:84: Timex.Comparable (module)10061007 warning: default arguments in protocol definitions is deprecated1008 │1009 139 │ def diff(a, b, granularity \\ :microsecond)1010 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1011 │1012 └─ lib/comparable/comparable.ex:139: Timex.Comparable (module)10131014 warning: protocols can only define functions without implementation via def/1, found: compare/2, diff/21015 │1016 1 │ defprotocol Timex.Comparable do1017 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1018 │1019 └─ lib/comparable/comparable.ex:1: Timex.Comparable (module)10201021 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 operator1022 │1023 317 │ <<abbrevs::bytes(len), rest::binary>> = data1024 │ ~1025 │1026 └─ lib/parse/zoneinfo/parser.ex:317:22: Timex.Parse.ZoneInfo.Parser.parse_abbreviations/410271028 warning: default arguments in protocol definitions is deprecated1029 │1030 48 │ def to_datetime(datetime, timezone \\ :utc)1031 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1032 │1033 └─ lib/protocol.ex:48: Timex.Protocol (module)10341035 warning: protocols can only define functions without implementation via def/1, found: to_datetime/11036 │1037 1 │ defprotocol Timex.Protocol do1038 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1039 │1040 └─ lib/protocol.ex:1: Timex.Protocol (module)10411042 warning: unused require Timex.Macros1043 │1044 5 │ require Timex.Macros1045 │ ~1046 │1047 └─ lib/comparable/tuple.ex:5:310481049 warning: unused require Timex.Macros1050 │1051 5 │ require Timex.Macros1052 │ ~1053 │1054 └─ lib/comparable/naivedatetime.ex:5:310551056 warning: unused require Bitwise1057 │1058 5 │ require Bitwise1059 │ ~1060 │1061 └─ lib/calendar/julian.ex:5:310621063Compiling lib/l10n/gettext.ex (it's taking more than 10s)1064 warning: the following clause will never match:10651066 {ty, a, b} when ty === :gap or ty === :ambiguous ->10671068 it is expected to match on type:10691070 dynamic({:error, term()} and not {:ok, %{..., time_zone: term()}})10711072 where "ty" was given the type:10731074 # type: :ambiguous or :gap1075 # from: lib/timezone/timezone.ex:5481076 ty in [:gap, :ambiguous]10771078 type warning found at:1079 │1080 548 │ {ty, a, b} when ty in [:gap, :ambiguous] ->1081 │ ~1082 │1083 └─ lib/timezone/timezone.ex:548:7: Timex.Timezone.convert/210841085 warning: a struct for Timex.PosixTimezone is expected on struct update:10861087 %Timex.PosixTimezone{rule | std_abbr: abbr}10881089 but got type:10901091 dynamic()10921093 where "rule" was given the type:10941095 # type: dynamic()1096 # from: lib/parse/posix/parser.ex:119:331097 rule10981099 when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"11001101 type warning found at:1102 │1103 121 │ parse_tz(:std_offset, rest, %TZ{rule | std_abbr: abbr})1104 │ ~1105 │1106 └─ lib/parse/posix/parser.ex:121:35: Timex.Parse.Timezones.Posix.parse_tz/311071108 warning: a struct for Timex.PosixTimezone is expected on struct update:11091110 %Timex.PosixTimezone{rule | std_offset: offset}11111112 but got type:11131114 dynamic()11151116 where "rule" was given the type:11171118 # type: dynamic()1119 # from: lib/parse/posix/parser.ex:125:351120 rule11211122 when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"11231124 type warning found at:1125 │1126 127 │ parse_tz(:dst_abbr, rest, %TZ{rule | std_offset: offset})1127 │ ~1128 │1129 └─ lib/parse/posix/parser.ex:127:33: Timex.Parse.Timezones.Posix.parse_tz/311301131 warning: a struct for Timex.PosixTimezone is expected on struct update:11321133 %Timex.PosixTimezone{rule | dst_abbr: abbr}11341135 but got type:11361137 dynamic()11381139 where "rule" was given the type:11401141 # type: dynamic()1142 # from: lib/parse/posix/parser.ex:141:331143 rule11441145 when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"11461147 type warning found at:1148 │1149 143 │ rule = %TZ{rule | dst_abbr: abbr} do1150 │ ~1151 │1152 └─ lib/parse/posix/parser.ex:143:17: Timex.Parse.Timezones.Posix.parse_tz/311531154 warning: a struct for Timex.PosixTimezone is expected on struct update:11551156 %Timex.PosixTimezone{rule | dst_offset: offset}11571158 but got type:11591160 dynamic()11611162 where "rule" was given the type:11631164 # type: dynamic()1165 # from: lib/parse/posix/parser.ex:160:351166 rule11671168 when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"11691170 type warning found at:1171 │1172 162 │ rule = %TZ{rule | dst_offset: offset} do1173 │ ~1174 │1175 └─ lib/parse/posix/parser.ex:162:17: Timex.Parse.Timezones.Posix.parse_tz/311761177 warning: a struct for Timex.PosixTimezone is expected on struct update:11781179 %Timex.PosixTimezone{rule | dst_start: dst_start, dst_end: dst_end}11801181 but got type:11821183 dynamic()11841185 where "rule" was given the type:11861187 # type: dynamic()1188 # from: lib/parse/posix/parser.ex:185:361189 rule11901191 when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"11921193 type warning found at:1194 │1195 190 │ {:ok, %TZ{rule | dst_start: dst_start, dst_end: dst_end}, rest}1196 │ ~1197 │1198 └─ lib/parse/posix/parser.ex:190:17: Timex.Parse.Timezones.Posix.parse_tz/311991200 warning: the following clause will never match:12011202 :error ->12031204 it is expected to match on type:12051206 dynamic({:error, :invalid_number, binary()})12071208 type warning found at:1209 │1210 264 │ :error ->1211 │ ~~~~~~~~~1212 │1213 └─ lib/parse/posix/parser.ex:264: Timex.Parse.Timezones.Posix.parse_month_week_day/312141215 warning: the following pattern will never match:12161217 {y, m, d} <- to_erl_datetime(date)12181219 because the right-hand side has type:12201221 dynamic(1222 {:error, :invalid_date} or1223 {:ok, {{integer(), integer(), integer()}, {integer(), integer(), integer()}}}1224 )12251226 where "date" was given the type:12271228 # type: dynamic({...})1229 # from: lib/datetime/erlang.ex:7:171230 date12311232 type warning found at:1233 │1234 8 │ with {y, m, d} <- to_erl_datetime(date),1235 │ ~1236 │1237 └─ lib/datetime/erlang.ex:8:10: Timex.Protocol.Tuple.to_julian/112381239 warning: the following clause is redundant:12401241 def shift(_, _)12421243 it has type:12441245 dynamic(%Date{}), dynamic()12461247 previous clauses have already matched on the following types:12481249 %Date{}, term()12501251 │1252 227 │ def shift(_, _), do: {:error, :badarg}1253 │ ~1254 │1255 └─ lib/date/date.ex:227:7: Timex.Protocol.Date.shift/212561257 warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:12581259 %Timex.Parse.ZoneInfo.Parser.Zone{zone | transitions: transitions, leaps: leaps}12601261 but got type:12621263 dynamic(%{..., leaps: term(), transitions: term()})12641265 where "zone" was given the types:12661267 # type: dynamic(%{..., rule: term()} or %{..., transitions: term()})1268 # from: lib/parse/zoneinfo/parser.ex:156:281269 {:ok, zone, rest} <- parse_content(1, data, %Timex.Parse.ZoneInfo.Parser.Zone{..., version: 1})12701271 # type: dynamic(%{..., transitions: term()})1272 # from: lib/parse/zoneinfo/parser.ex:157:261273 Enum.sort_by(zone.transitions, fn tx -> tx.starts_at end)12741275 # type: dynamic(%{..., leaps: term(), transitions: term()})1276 # from: lib/parse/zoneinfo/parser.ex:158:201277 Enum.sort_by(zone.leaps, fn leap -> leap.epoch end)12781279 when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"12801281 type warning found at:1282 │1283 159 │ {:ok, %Zone{zone | transitions: transitions, leaps: leaps}, rest}1284 │ ~1285 │1286 └─ lib/parse/zoneinfo/parser.ex:159:13: Timex.Parse.ZoneInfo.Parser.parse_versioned_content/212871288 warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:12891290 %Timex.Parse.ZoneInfo.Parser.Zone{zone | transitions: times}12911292 but got type:12931294 dynamic()12951296 where "zone" was given the type:12971298 # type: dynamic()1299 # from: lib/parse/zoneinfo/parser.ex:270:921300 zone13011302 when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"13031304 type warning found at:1305 │1306 272 │ parse_transition_info(version, rest, header, %Zone{zone | transitions: times})1307 │ ~1308 │1309 └─ lib/parse/zoneinfo/parser.ex:272:50: Timex.Parse.ZoneInfo.Parser.parse_transition_times/413101311 warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:13121313 %Timex.Parse.ZoneInfo.Parser.Zone{zone | leaps: leaps}13141315 but got type:13161317 dynamic()13181319 where "zone" was given the type:13201321 # type: dynamic()1322 # from: lib/parse/zoneinfo/parser.ex:330:791323 zone13241325 when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"13261327 type warning found at:1328 │1329 344 │ parse_flags(version, rest, header, %Zone{zone | leaps: leaps})1330 │ ~1331 │1332 └─ lib/parse/zoneinfo/parser.ex:344:40: Timex.Parse.ZoneInfo.Parser.parse_leap_seconds/413331334 warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:13351336 %Timex.Parse.ZoneInfo.Parser.Zone{zone | transitions: transitions}13371338 but got type:13391340 dynamic(%{..., transitions: term()})13411342 where "zone" was given the type:13431344 # type: dynamic(%{..., transitions: term()})1345 # from: lib/parse/zoneinfo/parser.ex:354:151346 Enum.with_index(zone.transitions)13471348 when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"13491350 type warning found at:1351 │1352 362 │ parse_posixtz_string(version, rest, %Zone{zone | transitions: transitions})1353 │ ~1354 │1355 └─ lib/parse/zoneinfo/parser.ex:362:43: Timex.Parse.ZoneInfo.Parser.parse_flags/413561357 warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:13581359 %Timex.Parse.ZoneInfo.Parser.Zone{zone | transitions: transitions}13601361 but got type:13621363 dynamic(%{..., transitions: term()})13641365 where "zone" was given the type:13661367 # type: dynamic(%{..., transitions: term()})1368 # from: lib/parse/zoneinfo/parser.ex:354:151369 Enum.with_index(zone.transitions)13701371 when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"13721373 type warning found at:1374 │1375 364 │ {:ok, %Zone{zone | transitions: transitions}, rest}1376 │ ~1377 │1378 └─ lib/parse/zoneinfo/parser.ex:364:13: Timex.Parse.ZoneInfo.Parser.parse_flags/413791380 warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:13811382 %Timex.Parse.ZoneInfo.Parser.Zone{zone | rule: rule}13831384 but got type:13851386 dynamic()13871388 where "zone" was given the type:13891390 # type: dynamic()1391 # from: lib/parse/zoneinfo/parser.ex:369:621392 zone13931394 when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"13951396 type warning found at:1397 │1398 372 │ {:ok, %Zone{zone | rule: rule}, format_rest <> rest}1399 │ ~1400 │1401 └─ lib/parse/zoneinfo/parser.ex:372:13: Timex.Parse.ZoneInfo.Parser.parse_posixtz_string/314021403 warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:14041405 %Timex.Parse.ZoneInfo.Parser.Rule{rule | std_abbr: abbr, dst_abbr: abbr}14061407 but got type:14081409 dynamic()14101411 where "rule" was given the type:14121413 # type: dynamic()1414 # from: lib/parse/zoneinfo/parser.ex:383:331415 rule14161417 when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"14181419 type warning found at:1420 │1421 385 │ parse_tz(:std_offset, rest, %Rule{rule | std_abbr: abbr, dst_abbr: abbr})1422 │ ~1423 │1424 └─ lib/parse/zoneinfo/parser.ex:385:35: Timex.Parse.ZoneInfo.Parser.parse_tz/314251426 warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:14271428 %Timex.Parse.ZoneInfo.Parser.Rule{rule | std_offset: offset, dst_offset: offset}14291430 but got type:14311432 dynamic()14331434 where "rule" was given the type:14351436 # type: dynamic()1437 # from: lib/parse/zoneinfo/parser.ex:389:351438 rule14391440 when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"14411442 type warning found at:1443 │1444 391 │ parse_tz(:dst_abbr, rest, %Rule{rule | std_offset: offset, dst_offset: offset})1445 │ ~1446 │1447 └─ lib/parse/zoneinfo/parser.ex:391:33: Timex.Parse.ZoneInfo.Parser.parse_tz/314481449 warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:14501451 %Timex.Parse.ZoneInfo.Parser.Rule{rule | dst_abbr: abbr}14521453 but got type:14541455 dynamic()14561457 where "rule" was given the type:14581459 # type: dynamic()1460 # from: lib/parse/zoneinfo/parser.ex:405:331461 rule14621463 when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"14641465 type warning found at:1466 │1467 407 │ rule = %Rule{rule | dst_abbr: abbr} do1468 │ ~1469 │1470 └─ lib/parse/zoneinfo/parser.ex:407:17: Timex.Parse.ZoneInfo.Parser.parse_tz/314711472 warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:14731474 %Timex.Parse.ZoneInfo.Parser.Rule{rule | dst_offset: offset}14751476 but got type:14771478 dynamic()14791480 where "rule" was given the type:14811482 # type: dynamic()1483 # from: lib/parse/zoneinfo/parser.ex:424:351484 rule14851486 when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"14871488 type warning found at:1489 │1490 426 │ rule = %Rule{rule | dst_offset: offset} do1491 │ ~1492 │1493 └─ lib/parse/zoneinfo/parser.ex:426:17: Timex.Parse.ZoneInfo.Parser.parse_tz/314941495 warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:14961497 %Timex.Parse.ZoneInfo.Parser.Rule{rule | start_time: start_time, end_time: end_time}14981499 but got type:15001501 dynamic()15021503 where "rule" was given the type:15041505 # type: dynamic()1506 # from: lib/parse/zoneinfo/parser.ex:449:361507 rule15081509 when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"15101511 type warning found at:1512 │1513 454 │ {:ok, %Rule{rule | start_time: start_time, end_time: end_time}, rest}1514 │ ~1515 │1516 └─ lib/parse/zoneinfo/parser.ex:454:17: Timex.Parse.ZoneInfo.Parser.parse_tz/315171518 warning: the following clause will never match:15191520 :error ->15211522 it is expected to match on type:15231524 dynamic({:error, :invalid_number, binary()})15251526 type warning found at:1527 │1528 528 │ :error ->1529 │ ~~~~~~~~~1530 │1531 └─ lib/parse/zoneinfo/parser.ex:528: Timex.Parse.ZoneInfo.Parser.parse_month_week_day/315321533Generated timex app1534==> nimble_pool1535Compiling 2 files (.ex)1536Generated nimble_pool app1537==> finch1538Compiling 23 files (.ex)1539Generated finch app1540==> tesla1541Compiling 57 files (.ex)1542Generated tesla app1543==> oauth21544Compiling 13 files (.ex)1545Generated oauth2 app1546==> ueberauth_okta1547Compiling 3 files (.ex)1548 warning: unused require Jason1549 │1550 16 │ require Jason1551 │ ~1552 │1553 └─ lib/ueberauth/strategy/okta/oauth.ex:16:315541555Generated ueberauth_okta app1556==> property_table1557Compiling 8 files (.ex)1558Generated property_table app1559==> nerves_uevent1560 CC uevent.o1561 LD uevent1562Compiling 5 files (.ex)1563Generated nerves_uevent app1564==> nerves_runtime1565Compiling 14 files (.ex)1566Generated nerves_runtime app1567==> toolshed1568Compiling 5 files (.ex)1569Generated toolshed app1570==> tailwind1571Compiling 3 files (.ex)1572Generated tailwind app1573==> nerves_compatibility_test1574===> Analyzing applications...1575===> Compiling cowboy_telemetry1576==> plug_cowboy1577Compiling 5 files (.ex)1578Generated plug_cowboy app1579==> websock1580Compiling 1 file (.ex)1581Generated websock app1582==> websock_adapter1583Compiling 4 files (.ex)1584Generated websock_adapter app1585warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1586 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21587 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11588 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51589 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21590 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41591 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/215921593==> phoenix1594Compiling 71 files (.ex)1595 warning: unused require Logger1596 │1597 9 │ require Logger1598 │ ~1599 │1600 └─ lib/phoenix/config.ex:9:316011602 warning: unused require Logger1603 │1604 281 │ require Logger1605 │ ~1606 │1607 └─ lib/phoenix/endpoint.ex:281:316081609 warning: unused require Phoenix.Endpoint1610 │1611 6 │ require Phoenix.Endpoint1612 │ ~1613 │1614 └─ lib/phoenix/controller.ex:6:316151616 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 operator1617 │1618 46 │ <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix1619 │ ~1620 │1621 └─ lib/phoenix/naming.ex:46:29: Phoenix.Naming.unsuffix/216221623 warning: unused require Phoenix.Endpoint1624 │1625 17 │ require Phoenix.Endpoint1626 │ ~1627 │1628 └─ lib/phoenix/endpoint/render_errors.ex:17:316291630 warning: unused require Phoenix.Endpoint1631 │1632 6 │ require Phoenix.Endpoint1633 │ ~1634 │1635 └─ lib/phoenix/channel/server.ex:6:316361637 warning: unused require Phoenix.Endpoint1638 │1639 202 │ require Phoenix.Endpoint1640 │ ~1641 │1642 └─ lib/phoenix/socket.ex:202:316431644 warning: unused require Logger1645 │1646 70 │ require Logger1647 │ ~1648 │1649 └─ lib/phoenix/socket/pool_supervisor.ex:70:316501651 warning: unused require Logger1652 │1653 100 │ require Logger1654 │ ~1655 │1656 └─ lib/phoenix/token.ex:100:316571658 warning: comparison between distinct types found:16591660 merge_all != []16611662 given types:16631664 dynamic(non_empty_list({atom(), term()})) != empty_list()16651666 where "merge_all" was given the type:16671668 # type: dynamic(non_empty_list({atom(), term()}))1669 # from: lib/phoenix/router/route.ex:121:151670 merge_all = merge_params ++ merge_private ++ merge_assigns16711672 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 false16731674 type warning found at:1675 │1676 123 │ if merge_all != [] do1677 │ ~1678 │1679 └─ lib/phoenix/router/route.ex:123:18: Phoenix.Router.Route.build_prepare/116801681 warning: a struct for Plug.Conn is expected on struct update:16821683 %Plug.Conn{conn | state: :sent}16841685 but got type:16861687 dynamic()16881689 where "conn" was given the type:16901691 # type: dynamic()1692 # from: lib/phoenix/endpoint/render_errors.ex:55:171693 conn16941695 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"16961697 type warning found at:1698 │1699 60 │ %Plug.Conn{conn | state: :sent}1700 │ ~1701 │1702 └─ lib/phoenix/endpoint/render_errors.ex:60:11: Phoenix.Endpoint.RenderErrors.__catch__/517031704 warning: a struct for Plug.Conn is expected on struct update:17051706 %Plug.Conn{conn | query_params: %{}, params: %{}}17071708 but got type:17091710 dynamic(%{..., params: %Plug.Conn.Unfetched{}})17111712 where "conn" was given the types:17131714 # type: dynamic(%{..., params: term()})1715 # from: lib/phoenix/endpoint/render_errors.ex:133:171716 conn.params17171718 # type: dynamic(%{..., params: %Plug.Conn.Unfetched{}})1719 # from: lib/phoenix/endpoint/render_errors.ex:133:171720 conn.params17211722 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"17231724 type warning found at:1725 │1726 134 │ %Plug.Conn.Unfetched{} -> %Plug.Conn{conn | query_params: %{}, params: %{}}1727 │ ~1728 │1729 └─ lib/phoenix/endpoint/render_errors.ex:134:35: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/117301731 warning: a struct for Plug.Conn is expected on struct update:17321733 %Plug.Conn{conn | query_params: %{}, params: params}17341735 but got type:17361737 dynamic(%{..., params: not %Plug.Conn.Unfetched{}})17381739 where "conn" was given the types:17401741 # type: dynamic(%{..., params: term()})1742 # from: lib/phoenix/endpoint/render_errors.ex:133:171743 conn.params17441745 # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})1746 # from: lib/phoenix/endpoint/render_errors.ex:133:171747 conn.params17481749 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"17501751 type warning found at:1752 │1753 135 │ params -> %Plug.Conn{conn | query_params: %{}, params: params}1754 │ ~1755 │1756 └─ lib/phoenix/endpoint/render_errors.ex:135:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/117571758 warning: a struct for Plug.Conn is expected on struct update:17591760 %Plug.Conn{conn | params: params}17611762 but got type:17631764 dynamic(%{..., params: map()})17651766 where "conn" was given the type:17671768 # type: dynamic(%{..., params: map()})1769 # from: lib/phoenix/controller.ex:1327:171770 Map.get(conn.params, required_key)17711772 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"17731774 type warning found at:1775 │1776 1334 │ %Plug.Conn{conn | params: params}1777 │ ~1778 │1779 └─ lib/phoenix/controller.ex:1334:5: Phoenix.Controller.scrub_params/217801781Generated phoenix app1782warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1783 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21784 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11785 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51786 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21787 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41788 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/217891790==> phoenix_live_view1791Compiling 39 files (.ex)1792 warning: unused require Logger1793 │1794 48 │ require Logger1795 │ ~1796 │1797 └─ lib/phoenix_live_view/socket.ex:48:317981799 warning: unused require Phoenix.ChannelTest1800 │1801 183 │ require Phoenix.ChannelTest1802 │ ~1803 │1804 └─ lib/phoenix_live_view/test/live_view_test.ex:183:318051806 warning: unused require Phoenix.ConnTest1807 │1808 182 │ require Phoenix.ConnTest1809 │ ~1810 │1811 └─ lib/phoenix_live_view/test/live_view_test.ex:182:318121813 warning: unused require Phoenix.ChannelTest1814 │1815 5 │ require Phoenix.ChannelTest1816 │ ~1817 │1818 └─ lib/phoenix_live_view/test/upload_client.ex:5:318191820 warning: unused require Logger1821 │1822 6 │ require Logger1823 │ ~1824 │1825 └─ lib/phoenix_live_view/upload_channel.ex:6:318261827 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:18281829 %Phoenix.LiveView.UploadEntry{1830 entry1831 | preflighted?: entry.preflighted? || Enum.__in__(entry.ref, refs)1832 }18331834 but got type:18351836 dynamic()18371838 where "entry" was given the type:18391840 # type: dynamic()1841 # from: lib/phoenix_live_view/upload_config.ex:362:171842 entry <- conf.entries18431844 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"18451846 type warning found at:1847 │1848 363 │ %UploadEntry{entry | preflighted?: entry.preflighted? || entry.ref in refs}1849 │ ~1850 │1851 └─ lib/phoenix_live_view/upload_config.ex:363:9: Phoenix.LiveView.UploadConfig.mark_preflighted/218521853 warning: the following clause is redundant:18541855 def update(assigns, _key, fun) when is_function(fun, 1) or is_function(fun, 2)18561857 it has type:18581859 dynamic(), dynamic(), dynamic((none() -> term()) or (none(), none() -> term()))18601861 previous clauses have already matched on the following types:18621863 %Phoenix.LiveView.Socket{}, term(), (none(), none() -> term())1864 %Phoenix.LiveView.Socket{}, term(), (none() -> term())1865 term(), term(), (none(), none() -> term())1866 term(), term(), (none() -> term())18671868 │1869 1378 │ def update(assigns, _key, fun) when is_function(fun, 1) or is_function(fun, 2) do1870 │ ~1871 │1872 └─ lib/phoenix_component.ex:1378:7: Phoenix.Component.update/318731874 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:18751876 %Phoenix.LiveView.UploadEntry{entry | valid?: true, uuid: generate_uuid()}18771878 but got type:18791880 dynamic()18811882 where "entry" was given the type:18831884 # type: dynamic()1885 # from: lib/phoenix_live_view/upload_config.ex:572:301886 entry18871888 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"18891890 type warning found at:1891 │1892 573 │ entry = %UploadEntry{entry | valid?: true, uuid: generate_uuid()}1893 │ ~1894 │1895 └─ lib/phoenix_live_view/upload_config.ex:573:13: Phoenix.LiveView.UploadConfig.put_valid_entry/218961897 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:18981899 %Phoenix.LiveView.UploadEntry{entry | valid?: false}19001901 but got type:19021903 dynamic()19041905 where "entry" was given the type:19061907 # type: dynamic()1908 # from: lib/phoenix_live_view/upload_config.ex:585:321909 entry19101911 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"19121913 type warning found at:1914 │1915 586 │ entry = %UploadEntry{entry | valid?: false}1916 │ ~1917 │1918 └─ lib/phoenix_live_view/upload_config.ex:586:13: Phoenix.LiveView.UploadConfig.put_invalid_entry/319191920 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:19211922 %Phoenix.LiveView.UploadEntry{entry | cancelled?: true}19231924 but got type:19251926 dynamic()19271928 where "entry" was given the type:19291930 # type: dynamic()1931 # from: lib/phoenix_live_view/upload_config.ex:669:421932 entry19331934 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"19351936 type warning found at:1937 │1938 669 │ update_entry(conf, entry.ref, fn entry -> %UploadEntry{entry | cancelled?: true} end)1939 │ ~1940 │1941 └─ lib/phoenix_live_view/upload_config.ex:669:51: Phoenix.LiveView.UploadConfig.cancel_entry/219421943 warning: a struct for Phoenix.LiveView.Socket is expected on struct update:19441945 %Phoenix.LiveView.Socket{1946 socket1947 | assigns: Map.merge(temp_assigns, socket.assigns),1948 private:1949 Map.update(1950 socket.private,1951 :temporary_assigns,1952 temp_assigns,1953 &Map.merge(&1, temp_assigns)1954 )1955 }19561957 but got type:19581959 dynamic()19601961 where "socket" was given the type:19621963 # type: dynamic()1964 # from: lib/phoenix_live_view/utils.ex:415:281965 socket19661967 when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"19681969 type warning found at:1970 │1971 422 │ %Socket{1972 │ ~1973 │1974 └─ lib/phoenix_live_view/utils.ex:422:5: Phoenix.LiveView.Utils.handle_mount_option/319751976 warning: the following clause will never match:19771978 {:error, reason} ->19791980 because it attempts to match on the result of:19811982 IO.binwrite(state.file, data)19831984 which has type:19851986 dynamic(not {:error, term()})19871988 type warning found at:1989 │1990 23 │ {:error, reason} -> {:error, reason, state}1991 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1992 │1993 └─ lib/phoenix_live_view/upload_tmp_file_writer.ex:23: Phoenix.LiveView.UploadTmpFileWriter.write_chunk/219941995 warning: Logger.disable/1 is deprecated. Use Logger.put_process_level(pid, :none) instead1996 │1997 73 │ Logger.disable(self())1998 │ ~1999 │2000 └─ lib/phoenix_live_view/test/client_proxy.ex:73:12: Phoenix.LiveViewTest.ClientProxy.init/120012002 warning: the right-hand side of || (shown as ... below) will never be executed:20032004 conn.private[:live_view_connect_info] || prune_conn(conn) || ...20052006 because the left-hand side always evaluates to:20072008 dynamic(not false and not nil)20092010 where "conn" was given the types:20112012 # type: dynamic(%Plug.Conn{assigns: %{..., live_module: term()}, status: integer()})2013 # from: lib/phoenix_live_view/test/live_view_test.ex:319:722014 %Plug.Conn{status: 200, assigns: %{live_module: live_module}} = conn20152016 # type: dynamic(%Plug.Conn{2017 assigns: %{..., live_module: term()},2018 private:2019 %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or2020 non_struct_map(),2021 status: integer()2022 })2023 # from: lib/phoenix_live_view/test/live_view_test.ex:333:352024 conn.private[:live_view_connect_params]20252026 type warning found at:2027 │2028 334 │ connect_info: conn.private[:live_view_connect_info] || prune_conn(conn) || %{},2029 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2030 │2031 └─ lib/phoenix_live_view/test/live_view_test.ex:334: Phoenix.LiveViewTest.connect_from_static_token/220322033 warning: a struct for Phoenix.LiveViewTest.ClientProxy is expected on struct update:20342035 %Phoenix.LiveViewTest.ClientProxy{view | rendered: rendered}20362037 but got type:20382039 dynamic(%{..., rendered: map()})20402041 where "view" was given the type:20422043 # type: dynamic(%{..., rendered: map()})2044 # from: lib/phoenix_live_view/test/client_proxy.ex:727:262045 Phoenix.LiveViewTest.DOM.merge_diff(view.rendered, diff)20462047 when defining the variable "view", you must also pattern match on "%Phoenix.LiveViewTest.ClientProxy{}"20482049 type warning found at:2050 │2051 728 │ new_view = %ClientProxy{view | rendered: rendered}2052 │ ~2053 │2054 └─ lib/phoenix_live_view/test/client_proxy.ex:728:22: Phoenix.LiveViewTest.ClientProxy.merge_rendered/320552056 warning: a struct for Phoenix.LiveView.Socket is expected on struct update:20572058 %Phoenix.LiveView.Socket{2059 socket2060 | assigns: %Phoenix.LiveView.Socket.AssignsNotInSocket{__assigns__: assigns}2061 }20622063 but got type:20642065 dynamic(%{..., assigns: term()})20662067 where "socket" was given the type:20682069 # type: dynamic(%{..., assigns: term()})2070 # from: lib/phoenix_live_view/renderer.ex:121:432071 %{assigns: assigns} = socket20722073 when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"20742075 type warning found at:2076 │2077 122 │ socket = %Socket{socket | assigns: %Socket.AssignsNotInSocket{__assigns__: assigns}}2078 │ ~2079 │2080 └─ lib/phoenix_live_view/renderer.ex:122:14: Phoenix.LiveView.Renderer.render_assigns/120812082 warning: the following pattern will never match:20832084 template = Phoenix.LiveView.Utils.normalize_layout(template)20852086 because the right-hand side has type:20872088 none()20892090 where "template" was given the types:20912092 # type: binary()2093 # from: lib/phoenix_live_view/router.ex:299:662094 is_binary(template)20952096 # type: binary()2097 # from: lib/phoenix_live_view/router.ex2098 {:root_layout, {mod, template}}20992100 type warning found at:2101 │2102 300 │ template = Phoenix.LiveView.Utils.normalize_layout(template)2103 │ ~2104 │2105 └─ lib/phoenix_live_view/router.ex:300:18: Phoenix.LiveView.Router.validate_live_session_opts/321062107 warning: the following pattern will never match:21082109 template = Phoenix.LiveView.Utils.normalize_layout(template)21102111 because the right-hand side has type:21122113 none()21142115 where "template" was given the types:21162117 # type: binary()2118 # from: lib/phoenix_live_view/router.ex:316:612119 is_binary(template)21202121 # type: binary()2122 # from: lib/phoenix_live_view/router.ex2123 {:layout, {mod, template}}21242125 type warning found at:2126 │2127 317 │ template = Phoenix.LiveView.Utils.normalize_layout(template)2128 │ ~2129 │2130 └─ lib/phoenix_live_view/router.ex:317:18: Phoenix.LiveView.Router.validate_live_session_opts/321312132 warning: the following clause is redundant:21332134 def to_iodata(%_{} = struct)21352136 it has type:21372138 dynamic(%Phoenix.LiveView.Rendered{})21392140 previous clauses have already matched on the following types:21412142 %Phoenix.LiveView.Rendered{}21432144 │2145 152 │ def to_iodata(%_{} = struct) do2146 │ ~2147 │2148 └─ lib/phoenix_live_view/engine.ex:152:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/121492150 warning: the 1st pattern in clause will never match:21512152 nil21532154 because it is expected to receive type:21552156 dynamic(%Phoenix.LiveView.Rendered{})21572158 hint: defimpl for Phoenix.LiveView.Rendered requires its callbacks to match exclusively on %Phoenix.LiveView.Rendered{}21592160 type warning found at:2161 │2162 156 │ def to_iodata(nil) do2163 │ ~~~~~~~~~~~~~~~~~~~~~2164 │2165 └─ lib/phoenix_live_view/engine.ex:156: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/121662167 warning: the following clause is redundant:21682169 def to_iodata(other)21702171 it has type:21722173 dynamic(%Phoenix.LiveView.Rendered{})21742175 previous clauses have already matched on the following types:21762177 %Phoenix.LiveView.Rendered{}21782179 │2180 160 │ def to_iodata(other) do2181 │ ~2182 │2183 └─ lib/phoenix_live_view/engine.ex:160:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/121842185 warning: this clause of defp class_names/1 is never used (or it will always fail/warn when invoked)2186 │2187 903 │ defp class_names(nil), do: []2188 │ ~2189 │2190 └─ lib/phoenix_live_view/js.ex:903:8: Phoenix.LiveView.JS.class_names/121912192Generated phoenix_live_view app2193warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"2194 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/22195 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/12196 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/52197 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/22198 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/42199 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/222002201==> heroicons2202Compiling 3 files (.ex)2203Compiling lib/heroicons.ex (it's taking more than 10s)2204Generated heroicons app2205==> paleta2206Compiling 67 files (.ex)2207 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)2208 │2209 56 │ <%= live_component(Paleta.Components.Live.GlobalSearch,2210 │ ^^^^^^^^^^^^^^2211 │2212 └─ lib/components/app_header.ex:56:17: Paleta.Components.AppHeader."app_header (overridable 1)"/1221322142215== Compilation error in file lib/components/app_header.ex ==2216** (CompileError) lib/components/app_header.ex: cannot compile module Paleta.Components.AppHeader (errors have been logged)22172218could 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"