Build log
nerves_system_trellis
flowy 0.1.6 · fail · run flowy-0.1.6-1791185200071
2215 of 2215 lines
1Resolving Hex dependencies...2Resolution completed in 1.419s3Unchanged: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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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==> nerves_system_trellis654Generated nerves_system_trellis 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)699Generated ecto app700==> nerves_compatibility_test701===> Analyzing applications...702===> Compiling cowboy703==> expo704Compiling 2 files (.erl)705Compiling 22 files (.ex)706Generated expo app707==> gettext708Compiling 18 files (.ex)709 warning: unused require Gettext.Macros710 │711 594 │ require Gettext.Macros712 │ ~713 │714 └─ lib/gettext.ex:594:3715716 warning: the following clause is redundant:717718 defp ensure_empty_msgstr!(%Expo.Message.Plural{} = message)719720 it has type:721722 dynamic(%Expo.Message.Plural{})723724 previous clauses have already matched on the following types:725726 %Expo.Message.Singular{}727 %Expo.Message.Plural{}728729 │730 391 │ defp ensure_empty_msgstr!(%Message.Plural{} = message) do731 │ ~732 │733 └─ lib/gettext/extractor.ex:391:8: Gettext.Extractor.ensure_empty_msgstr!/1734735 warning: Kernel.ParallelCompiler.async/1 is deprecated. Use `pmap/2` instead736 │737 426 │ Kernel.ParallelCompiler.async(fn ->738 │ ~739 │740 └─ lib/gettext/compiler.ex:426:39: Gettext.Compiler.compile_po_files/3741742Generated gettext app743==> phoenix_pubsub744Compiling 12 files (.ex)745Generated phoenix_pubsub app746==> plug747Compiling 1 file (.erl)748Compiling 42 files (.ex)749Generated plug app750==> ueberauth751Compiling 9 files (.ex)752Generated ueberauth app753==> phoenix_html754Compiling 9 files (.ex)755 warning: comparison between distinct types found:756757 id == nil758759 given types:760761 dynamic(not false and not nil and not binary()) == nil762763 where "id" was given the types:764765 # type: dynamic(not false and not nil)766 # from: lib/phoenix_html/form_data.ex:92:8767 id = Keyword.get(opts, :id) || name768769 # type: dynamic(not false and not nil and not binary())770 # from: lib/phoenix_html/form_data.ex:94:12771 is_binary(id)772773 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 false774775 type warning found at:776 │777 94 │ unless is_binary(id) or is_nil(id) do778 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~779 │780 └─ lib/phoenix_html/form_data.ex:94: Phoenix.HTML.FormData.Atom.to_form/2781782 warning: the 1st pattern in clause will never match:783784 60785786 because it is expected to receive type:787788 dynamic(empty_list() or non_empty_list(term(), term()))789790 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())791792 type warning found at:793 │794 56 │ def to_iodata(?<), do: "<"795 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~796 │797 └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/1798799 warning: the 1st pattern in clause will never match:800801 62802803 because it is expected to receive type:804805 dynamic(empty_list() or non_empty_list(term(), term()))806807 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())808809 type warning found at:810 │811 57 │ def to_iodata(?>), do: ">"812 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~813 │814 └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/1815816 warning: the 1st pattern in clause will never match:817818 38819820 because it is expected to receive type:821822 dynamic(empty_list() or non_empty_list(term(), term()))823824 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())825826 type warning found at:827 │828 58 │ def to_iodata(?&), do: "&"829 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~830 │831 └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/1832833 warning: the 1st pattern in clause will never match:834835 34836837 because it is expected to receive type:838839 dynamic(empty_list() or non_empty_list(term(), term()))840841 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())842843 type warning found at:844 │845 59 │ def to_iodata(?"), do: """846 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~847 │848 └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/1849850 warning: the 1st pattern in clause will never match:851852 39853854 because it is expected to receive type:855856 dynamic(empty_list() or non_empty_list(term(), term()))857858 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())859860 type warning found at:861 │862 60 │ def to_iodata(?'), do: "'"863 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~864 │865 └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/1866867 warning: the 1st pattern in clause will never match:868869 {:safe, data}870871 because it is expected to receive type:872873 dynamic(empty_list() or non_empty_list(term(), term()))874875 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())876877 type warning found at:878 │879 76 │ def to_iodata({:safe, data}) do880 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~881 │882 └─ lib/phoenix_html/safe.ex:76: Phoenix.HTML.Safe.List.to_iodata/1883884 warning: the following clause is redundant:885886 def to_iodata(other)887888 it has type:889890 dynamic(empty_list() or non_empty_list(term(), term()))891892 previous clauses have already matched on the following types:893894 non_empty_list(term(), term())895 empty_list()896897 │898 80 │ def to_iodata(other) do899 │ ~900 │901 └─ lib/phoenix_html/safe.ex:80:7: Phoenix.HTML.Safe.List.to_iodata/1902903 warning: the 1st pattern in clause will never match:904905 h906907 because it is expected to receive type:908909 dynamic(empty_list() or non_empty_list(term(), term()))910911 where "h" was given the type:912913 # type: integer()914 # from: lib/phoenix_html/safe.ex:62:25915 is_integer(h)916917 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())918919 type warning found at:920 │921 62 │ def to_iodata(h) when is_integer(h) and h <= 255 do922 │ ~923 │924 └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/1925926 warning: the 1st pattern in clause will never match:927928 h929930 because it is expected to receive type:931932 dynamic(empty_list() or non_empty_list(term(), term()))933934 where "h" was given the type:935936 # type: integer()937 # from: lib/phoenix_html/safe.ex:66:25938 is_integer(h)939940 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())941942 type warning found at:943 │944 66 │ def to_iodata(h) when is_integer(h) do945 │ ~946 │947 └─ lib/phoenix_html/safe.ex:66:17: Phoenix.HTML.Safe.List.to_iodata/1948949 warning: the 1st pattern in clause will never match:950951 h952953 because it is expected to receive type:954955 dynamic(empty_list() or non_empty_list(term(), term()))956957 where "h" was given the type:958959 # type: binary()960 # from: lib/phoenix_html/safe.ex:72:25961 is_binary(h)962963 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())964965 type warning found at:966 │967 72 │ def to_iodata(h) when is_binary(h) do968 │ ~969 │970 └─ lib/phoenix_html/safe.ex:72:17: Phoenix.HTML.Safe.List.to_iodata/1971972Generated phoenix_html app973==> phoenix_template974Compiling 4 files (.ex)975Generated phoenix_template app976warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"977 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2978 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1979 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5980 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2981 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4982 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2983984==> postgrex985Compiling 70 files (.ex)986Generated postgrex app987==> ecto_sql988Compiling 25 files (.ex)989Generated ecto_sql app990==> joken991Compiling 8 files (.ex)992Generated joken app993==> uboot_env994Compiling 5 files (.ex)995Generated uboot_env app996==> timex997Compiling 62 files (.ex)998 warning: default arguments in protocol definitions is deprecated999 │1000 84 │ def compare(a, b, granularity \\ :microsecond)1001 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1002 │1003 └─ lib/comparable/comparable.ex:84: Timex.Comparable (module)10041005 warning: default arguments in protocol definitions is deprecated1006 │1007 139 │ def diff(a, b, granularity \\ :microsecond)1008 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1009 │1010 └─ lib/comparable/comparable.ex:139: Timex.Comparable (module)10111012 warning: protocols can only define functions without implementation via def/1, found: compare/2, diff/21013 │1014 1 │ defprotocol Timex.Comparable do1015 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1016 │1017 └─ lib/comparable/comparable.ex:1: Timex.Comparable (module)10181019 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 operator1020 │1021 317 │ <<abbrevs::bytes(len), rest::binary>> = data1022 │ ~1023 │1024 └─ lib/parse/zoneinfo/parser.ex:317:22: Timex.Parse.ZoneInfo.Parser.parse_abbreviations/410251026 warning: default arguments in protocol definitions is deprecated1027 │1028 48 │ def to_datetime(datetime, timezone \\ :utc)1029 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1030 │1031 └─ lib/protocol.ex:48: Timex.Protocol (module)10321033 warning: protocols can only define functions without implementation via def/1, found: to_datetime/11034 │1035 1 │ defprotocol Timex.Protocol do1036 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1037 │1038 └─ lib/protocol.ex:1: Timex.Protocol (module)10391040 warning: unused require Timex.Macros1041 │1042 5 │ require Timex.Macros1043 │ ~1044 │1045 └─ lib/comparable/tuple.ex:5:310461047 warning: unused require Timex.Macros1048 │1049 5 │ require Timex.Macros1050 │ ~1051 │1052 └─ lib/comparable/naivedatetime.ex:5:310531054 warning: unused require Bitwise1055 │1056 5 │ require Bitwise1057 │ ~1058 │1059 └─ lib/calendar/julian.ex:5:310601061Compiling lib/l10n/gettext.ex (it's taking more than 10s)1062 warning: the following clause will never match:10631064 {ty, a, b} when ty === :gap or ty === :ambiguous ->10651066 it is expected to match on type:10671068 dynamic({:error, term()} and not {:ok, %{..., time_zone: term()}})10691070 where "ty" was given the type:10711072 # type: :ambiguous or :gap1073 # from: lib/timezone/timezone.ex:5481074 ty in [:gap, :ambiguous]10751076 type warning found at:1077 │1078 548 │ {ty, a, b} when ty in [:gap, :ambiguous] ->1079 │ ~1080 │1081 └─ lib/timezone/timezone.ex:548:7: Timex.Timezone.convert/210821083 warning: a struct for Timex.PosixTimezone is expected on struct update:10841085 %Timex.PosixTimezone{rule | std_abbr: abbr}10861087 but got type:10881089 dynamic()10901091 where "rule" was given the type:10921093 # type: dynamic()1094 # from: lib/parse/posix/parser.ex:119:331095 rule10961097 when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"10981099 type warning found at:1100 │1101 121 │ parse_tz(:std_offset, rest, %TZ{rule | std_abbr: abbr})1102 │ ~1103 │1104 └─ lib/parse/posix/parser.ex:121:35: Timex.Parse.Timezones.Posix.parse_tz/311051106 warning: a struct for Timex.PosixTimezone is expected on struct update:11071108 %Timex.PosixTimezone{rule | std_offset: offset}11091110 but got type:11111112 dynamic()11131114 where "rule" was given the type:11151116 # type: dynamic()1117 # from: lib/parse/posix/parser.ex:125:351118 rule11191120 when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"11211122 type warning found at:1123 │1124 127 │ parse_tz(:dst_abbr, rest, %TZ{rule | std_offset: offset})1125 │ ~1126 │1127 └─ lib/parse/posix/parser.ex:127:33: Timex.Parse.Timezones.Posix.parse_tz/311281129 warning: a struct for Timex.PosixTimezone is expected on struct update:11301131 %Timex.PosixTimezone{rule | dst_abbr: abbr}11321133 but got type:11341135 dynamic()11361137 where "rule" was given the type:11381139 # type: dynamic()1140 # from: lib/parse/posix/parser.ex:141:331141 rule11421143 when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"11441145 type warning found at:1146 │1147 143 │ rule = %TZ{rule | dst_abbr: abbr} do1148 │ ~1149 │1150 └─ lib/parse/posix/parser.ex:143:17: Timex.Parse.Timezones.Posix.parse_tz/311511152 warning: a struct for Timex.PosixTimezone is expected on struct update:11531154 %Timex.PosixTimezone{rule | dst_offset: offset}11551156 but got type:11571158 dynamic()11591160 where "rule" was given the type:11611162 # type: dynamic()1163 # from: lib/parse/posix/parser.ex:160:351164 rule11651166 when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"11671168 type warning found at:1169 │1170 162 │ rule = %TZ{rule | dst_offset: offset} do1171 │ ~1172 │1173 └─ lib/parse/posix/parser.ex:162:17: Timex.Parse.Timezones.Posix.parse_tz/311741175 warning: a struct for Timex.PosixTimezone is expected on struct update:11761177 %Timex.PosixTimezone{rule | dst_start: dst_start, dst_end: dst_end}11781179 but got type:11801181 dynamic()11821183 where "rule" was given the type:11841185 # type: dynamic()1186 # from: lib/parse/posix/parser.ex:185:361187 rule11881189 when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"11901191 type warning found at:1192 │1193 190 │ {:ok, %TZ{rule | dst_start: dst_start, dst_end: dst_end}, rest}1194 │ ~1195 │1196 └─ lib/parse/posix/parser.ex:190:17: Timex.Parse.Timezones.Posix.parse_tz/311971198 warning: the following clause will never match:11991200 :error ->12011202 it is expected to match on type:12031204 dynamic({:error, :invalid_number, binary()})12051206 type warning found at:1207 │1208 264 │ :error ->1209 │ ~~~~~~~~~1210 │1211 └─ lib/parse/posix/parser.ex:264: Timex.Parse.Timezones.Posix.parse_month_week_day/312121213 warning: the following pattern will never match:12141215 {y, m, d} <- to_erl_datetime(date)12161217 because the right-hand side has type:12181219 dynamic(1220 {:error, :invalid_date} or1221 {:ok, {{integer(), integer(), integer()}, {integer(), integer(), integer()}}}1222 )12231224 where "date" was given the type:12251226 # type: dynamic({...})1227 # from: lib/datetime/erlang.ex:7:171228 date12291230 type warning found at:1231 │1232 8 │ with {y, m, d} <- to_erl_datetime(date),1233 │ ~1234 │1235 └─ lib/datetime/erlang.ex:8:10: Timex.Protocol.Tuple.to_julian/112361237 warning: the following clause is redundant:12381239 def shift(_, _)12401241 it has type:12421243 dynamic(%Date{}), dynamic()12441245 previous clauses have already matched on the following types:12461247 %Date{}, term()12481249 │1250 227 │ def shift(_, _), do: {:error, :badarg}1251 │ ~1252 │1253 └─ lib/date/date.ex:227:7: Timex.Protocol.Date.shift/212541255 warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:12561257 %Timex.Parse.ZoneInfo.Parser.Zone{zone | transitions: transitions, leaps: leaps}12581259 but got type:12601261 dynamic(%{..., leaps: term(), transitions: term()})12621263 where "zone" was given the types:12641265 # type: dynamic(%{..., rule: term()} or %{..., transitions: term()})1266 # from: lib/parse/zoneinfo/parser.ex:156:281267 {:ok, zone, rest} <- parse_content(1, data, %Timex.Parse.ZoneInfo.Parser.Zone{..., version: 1})12681269 # type: dynamic(%{..., transitions: term()})1270 # from: lib/parse/zoneinfo/parser.ex:157:261271 Enum.sort_by(zone.transitions, fn tx -> tx.starts_at end)12721273 # type: dynamic(%{..., leaps: term(), transitions: term()})1274 # from: lib/parse/zoneinfo/parser.ex:158:201275 Enum.sort_by(zone.leaps, fn leap -> leap.epoch end)12761277 when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"12781279 type warning found at:1280 │1281 159 │ {:ok, %Zone{zone | transitions: transitions, leaps: leaps}, rest}1282 │ ~1283 │1284 └─ lib/parse/zoneinfo/parser.ex:159:13: Timex.Parse.ZoneInfo.Parser.parse_versioned_content/212851286 warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:12871288 %Timex.Parse.ZoneInfo.Parser.Zone{zone | transitions: times}12891290 but got type:12911292 dynamic()12931294 where "zone" was given the type:12951296 # type: dynamic()1297 # from: lib/parse/zoneinfo/parser.ex:270:921298 zone12991300 when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"13011302 type warning found at:1303 │1304 272 │ parse_transition_info(version, rest, header, %Zone{zone | transitions: times})1305 │ ~1306 │1307 └─ lib/parse/zoneinfo/parser.ex:272:50: Timex.Parse.ZoneInfo.Parser.parse_transition_times/413081309 warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:13101311 %Timex.Parse.ZoneInfo.Parser.Zone{zone | leaps: leaps}13121313 but got type:13141315 dynamic()13161317 where "zone" was given the type:13181319 # type: dynamic()1320 # from: lib/parse/zoneinfo/parser.ex:330:791321 zone13221323 when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"13241325 type warning found at:1326 │1327 344 │ parse_flags(version, rest, header, %Zone{zone | leaps: leaps})1328 │ ~1329 │1330 └─ lib/parse/zoneinfo/parser.ex:344:40: Timex.Parse.ZoneInfo.Parser.parse_leap_seconds/413311332 warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:13331334 %Timex.Parse.ZoneInfo.Parser.Zone{zone | transitions: transitions}13351336 but got type:13371338 dynamic(%{..., transitions: term()})13391340 where "zone" was given the type:13411342 # type: dynamic(%{..., transitions: term()})1343 # from: lib/parse/zoneinfo/parser.ex:354:151344 Enum.with_index(zone.transitions)13451346 when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"13471348 type warning found at:1349 │1350 362 │ parse_posixtz_string(version, rest, %Zone{zone | transitions: transitions})1351 │ ~1352 │1353 └─ lib/parse/zoneinfo/parser.ex:362:43: Timex.Parse.ZoneInfo.Parser.parse_flags/413541355 warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:13561357 %Timex.Parse.ZoneInfo.Parser.Zone{zone | transitions: transitions}13581359 but got type:13601361 dynamic(%{..., transitions: term()})13621363 where "zone" was given the type:13641365 # type: dynamic(%{..., transitions: term()})1366 # from: lib/parse/zoneinfo/parser.ex:354:151367 Enum.with_index(zone.transitions)13681369 when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"13701371 type warning found at:1372 │1373 364 │ {:ok, %Zone{zone | transitions: transitions}, rest}1374 │ ~1375 │1376 └─ lib/parse/zoneinfo/parser.ex:364:13: Timex.Parse.ZoneInfo.Parser.parse_flags/413771378 warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:13791380 %Timex.Parse.ZoneInfo.Parser.Zone{zone | rule: rule}13811382 but got type:13831384 dynamic()13851386 where "zone" was given the type:13871388 # type: dynamic()1389 # from: lib/parse/zoneinfo/parser.ex:369:621390 zone13911392 when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"13931394 type warning found at:1395 │1396 372 │ {:ok, %Zone{zone | rule: rule}, format_rest <> rest}1397 │ ~1398 │1399 └─ lib/parse/zoneinfo/parser.ex:372:13: Timex.Parse.ZoneInfo.Parser.parse_posixtz_string/314001401 warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:14021403 %Timex.Parse.ZoneInfo.Parser.Rule{rule | std_abbr: abbr, dst_abbr: abbr}14041405 but got type:14061407 dynamic()14081409 where "rule" was given the type:14101411 # type: dynamic()1412 # from: lib/parse/zoneinfo/parser.ex:383:331413 rule14141415 when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"14161417 type warning found at:1418 │1419 385 │ parse_tz(:std_offset, rest, %Rule{rule | std_abbr: abbr, dst_abbr: abbr})1420 │ ~1421 │1422 └─ lib/parse/zoneinfo/parser.ex:385:35: Timex.Parse.ZoneInfo.Parser.parse_tz/314231424 warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:14251426 %Timex.Parse.ZoneInfo.Parser.Rule{rule | std_offset: offset, dst_offset: offset}14271428 but got type:14291430 dynamic()14311432 where "rule" was given the type:14331434 # type: dynamic()1435 # from: lib/parse/zoneinfo/parser.ex:389:351436 rule14371438 when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"14391440 type warning found at:1441 │1442 391 │ parse_tz(:dst_abbr, rest, %Rule{rule | std_offset: offset, dst_offset: offset})1443 │ ~1444 │1445 └─ lib/parse/zoneinfo/parser.ex:391:33: Timex.Parse.ZoneInfo.Parser.parse_tz/314461447 warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:14481449 %Timex.Parse.ZoneInfo.Parser.Rule{rule | dst_abbr: abbr}14501451 but got type:14521453 dynamic()14541455 where "rule" was given the type:14561457 # type: dynamic()1458 # from: lib/parse/zoneinfo/parser.ex:405:331459 rule14601461 when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"14621463 type warning found at:1464 │1465 407 │ rule = %Rule{rule | dst_abbr: abbr} do1466 │ ~1467 │1468 └─ lib/parse/zoneinfo/parser.ex:407:17: Timex.Parse.ZoneInfo.Parser.parse_tz/314691470 warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:14711472 %Timex.Parse.ZoneInfo.Parser.Rule{rule | dst_offset: offset}14731474 but got type:14751476 dynamic()14771478 where "rule" was given the type:14791480 # type: dynamic()1481 # from: lib/parse/zoneinfo/parser.ex:424:351482 rule14831484 when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"14851486 type warning found at:1487 │1488 426 │ rule = %Rule{rule | dst_offset: offset} do1489 │ ~1490 │1491 └─ lib/parse/zoneinfo/parser.ex:426:17: Timex.Parse.ZoneInfo.Parser.parse_tz/314921493 warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:14941495 %Timex.Parse.ZoneInfo.Parser.Rule{rule | start_time: start_time, end_time: end_time}14961497 but got type:14981499 dynamic()15001501 where "rule" was given the type:15021503 # type: dynamic()1504 # from: lib/parse/zoneinfo/parser.ex:449:361505 rule15061507 when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"15081509 type warning found at:1510 │1511 454 │ {:ok, %Rule{rule | start_time: start_time, end_time: end_time}, rest}1512 │ ~1513 │1514 └─ lib/parse/zoneinfo/parser.ex:454:17: Timex.Parse.ZoneInfo.Parser.parse_tz/315151516 warning: the following clause will never match:15171518 :error ->15191520 it is expected to match on type:15211522 dynamic({:error, :invalid_number, binary()})15231524 type warning found at:1525 │1526 528 │ :error ->1527 │ ~~~~~~~~~1528 │1529 └─ lib/parse/zoneinfo/parser.ex:528: Timex.Parse.ZoneInfo.Parser.parse_month_week_day/315301531Generated timex app1532==> nimble_pool1533Compiling 2 files (.ex)1534Generated nimble_pool app1535==> finch1536Compiling 23 files (.ex)1537Generated finch app1538==> tesla1539Compiling 57 files (.ex)1540Generated tesla app1541==> oauth21542Compiling 13 files (.ex)1543Generated oauth2 app1544==> ueberauth_okta1545Compiling 3 files (.ex)1546 warning: unused require Jason1547 │1548 16 │ require Jason1549 │ ~1550 │1551 └─ lib/ueberauth/strategy/okta/oauth.ex:16:315521553Generated ueberauth_okta 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 Phoenix.Endpoint1636 │1637 202 │ require Phoenix.Endpoint1638 │ ~1639 │1640 └─ lib/phoenix/socket.ex:202:316411642 warning: unused require Logger1643 │1644 70 │ require Logger1645 │ ~1646 │1647 └─ lib/phoenix/socket/pool_supervisor.ex:70: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: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:19271928 %Phoenix.LiveView.UploadEntry{entry | valid?: false}19291930 but got type:19311932 dynamic()19331934 where "entry" was given the type:19351936 # type: dynamic()1937 # from: lib/phoenix_live_view/upload_config.ex:585:321938 entry19391940 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"19411942 type warning found at:1943 │1944 586 │ entry = %UploadEntry{entry | valid?: false}1945 │ ~1946 │1947 └─ lib/phoenix_live_view/upload_config.ex:586:13: Phoenix.LiveView.UploadConfig.put_invalid_entry/319481949 warning: the following clause is redundant:19501951 def update(assigns, _key, fun) when is_function(fun, 1) or is_function(fun, 2)19521953 it has type:19541955 dynamic(), dynamic(), dynamic((none() -> term()) or (none(), none() -> term()))19561957 previous clauses have already matched on the following types:19581959 %Phoenix.LiveView.Socket{}, term(), (none(), none() -> term())1960 %Phoenix.LiveView.Socket{}, term(), (none() -> term())1961 term(), term(), (none(), none() -> term())1962 term(), term(), (none() -> term())19631964 │1965 1378 │ def update(assigns, _key, fun) when is_function(fun, 1) or is_function(fun, 2) do1966 │ ~1967 │1968 └─ lib/phoenix_component.ex:1378:7: Phoenix.Component.update/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: a struct for Phoenix.LiveViewTest.ClientProxy is expected on struct update:20012002 %Phoenix.LiveViewTest.ClientProxy{view | rendered: rendered}20032004 but got type:20052006 dynamic(%{..., rendered: map()})20072008 where "view" was given the type:20092010 # type: dynamic(%{..., rendered: map()})2011 # from: lib/phoenix_live_view/test/client_proxy.ex:727:262012 Phoenix.LiveViewTest.DOM.merge_diff(view.rendered, diff)20132014 when defining the variable "view", you must also pattern match on "%Phoenix.LiveViewTest.ClientProxy{}"20152016 type warning found at:2017 │2018 728 │ new_view = %ClientProxy{view | rendered: rendered}2019 │ ~2020 │2021 └─ lib/phoenix_live_view/test/client_proxy.ex:728:22: Phoenix.LiveViewTest.ClientProxy.merge_rendered/320222023 warning: the right-hand side of || (shown as ... below) will never be executed:20242025 conn.private[:live_view_connect_info] || prune_conn(conn) || ...20262027 because the left-hand side always evaluates to:20282029 dynamic(not false and not nil)20302031 where "conn" was given the types:20322033 # type: dynamic(%Plug.Conn{assigns: %{..., live_module: term()}, status: integer()})2034 # from: lib/phoenix_live_view/test/live_view_test.ex:319:722035 %Plug.Conn{status: 200, assigns: %{live_module: live_module}} = conn20362037 # type: dynamic(%Plug.Conn{2038 assigns: %{..., live_module: term()},2039 private:2040 %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or2041 non_struct_map(),2042 status: integer()2043 })2044 # from: lib/phoenix_live_view/test/live_view_test.ex:333:352045 conn.private[:live_view_connect_params]20462047 type warning found at:2048 │2049 334 │ connect_info: conn.private[:live_view_connect_info] || prune_conn(conn) || %{},2050 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2051 │2052 └─ lib/phoenix_live_view/test/live_view_test.ex:334: Phoenix.LiveViewTest.connect_from_static_token/220532054 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)2201Generated heroicons app2202==> paleta2203Compiling 67 files (.ex)2204 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)2205 │2206 56 │ <%= live_component(Paleta.Components.Live.GlobalSearch,2207 │ ^^^^^^^^^^^^^^2208 │2209 └─ lib/components/app_header.ex:56:17: Paleta.Components.AppHeader."app_header (overridable 1)"/1221022112212== Compilation error in file lib/components/app_header.ex ==2213** (CompileError) lib/components/app_header.ex: cannot compile module Paleta.Components.AppHeader (errors have been logged)22142215could 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"