flowy

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: "&lt;"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: "&gt;"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: "&amp;"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: "&quot;"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: "&#39;"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"