memorex

Build log

nerves_system_rpi5

memorex 0.2.4 · fail · run memorex-0.2.4-1790999673734
2239 of 2239 lines
1Resolving Hex dependencies...2Resolution completed in 0.546s3Unchanged: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  dart_sass 0.7.020  db_connection 2.10.221  decimal 3.1.122  ecto 3.14.223  ecto_sql 3.14.024  elixir_make 0.10.025  esbuild 0.10.026  expo 1.1.127  gettext 0.26.228  interactive_cmd 0.1.429  jason 1.4.530  memorex 0.2.431  mime 2.0.732  nerves 2.0.0-pre.233  nerves_discovery 0.1.534  nerves_logging 0.2.435  nerves_runtime 0.13.1336  nerves_system_bbb 2.30.237  nerves_system_br 1.34.438  nerves_system_mangopi_mq_pro 0.17.239  nerves_system_qemu_aarch64 0.4.240  nerves_system_rpi0 2.1.241  nerves_system_rpi4 2.1.242  nerves_system_rpi5 2.1.243  nerves_system_trellis 0.5.044  nerves_system_x86_64 1.34.245  nerves_toolchain_aarch64_nerves_linux_gnu 15.3.146  nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.147  nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.148  nerves_toolchain_riscv64_nerves_linux_gnu 15.3.149  nerves_toolchain_x86_64_nerves_linux_musl 15.3.150  nerves_uevent 0.1.751  phoenix 1.7.2452  phoenix_ecto 4.7.053  phoenix_html 3.3.454  phoenix_live_dashboard 0.8.755  phoenix_live_view 0.20.17 VULNERABLE!56    EEF-CVE-2026-64941 (LOW)57    aka: CVE-2026-64941, GHSA-36m4-rm57-3prf58    Open redirect in Phoenix.LiveView.validate_local_url!/2 via ASCII tab, LF and CR59    https://osv.dev/vulnerability/EEF-CVE-2026-6494160  phoenix_pubsub 2.3.061  phoenix_template 1.1.062  plug 1.20.363  plug_cowboy 2.9.064  plug_crypto 2.2.065  postgrex 0.22.466  property_table 0.3.467  ranch 2.3.068  ring_logger 0.11.769  tablet 0.3.370  telemetry 1.4.271  telemetry_metrics 0.6.272  telemetry_poller 1.3.073  timex 3.7.1374  toml 0.7.075  toolshed 0.5.076  tzdata 1.2.277  uboot_env 1.0.278  uuid 1.1.879  websock 0.5.380  websock_adapter 0.5.981* Getting memorex (Hex package)82* Getting nerves (Hex package)83* Getting ring_logger (Hex package)84* Getting toolshed (Hex package)85* Getting nerves_runtime (Hex package)86* Getting nerves_system_bbb (Hex package)87* Getting nerves_system_mangopi_mq_pro (Hex package)88* Getting nerves_system_qemu_aarch64 (Hex package)89* Getting nerves_system_rpi0 (Hex package)90* Getting nerves_system_rpi4 (Hex package)91* Getting nerves_system_rpi5 (Hex package)92* Getting nerves_system_trellis (Hex package)93* Getting nerves_system_x86_64 (Hex package)94* Getting nerves_system_br (Hex package)95* Getting nerves_toolchain_x86_64_nerves_linux_musl (Hex package)96* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)97* Getting nerves_toolchain_aarch64_nerves_linux_gnu (Hex package)98* Getting nerves_toolchain_armv6_nerves_linux_gnueabihf (Hex package)99* Getting nerves_toolchain_riscv64_nerves_linux_gnu (Hex package)100* Getting nerves_logging (Hex package)101* Getting nerves_uevent (Hex package)102* Getting uboot_env (Hex package)103* Getting elixir_make (Hex package)104* Getting property_table (Hex package)105* Getting circular_buffer (Hex package)106* Getting interactive_cmd (Hex package)107* Getting nerves_discovery (Hex package)108* Getting tablet (Hex package)109* Getting dart_sass (Hex package)110* Getting ecto_sql (Hex package)111* Getting esbuild (Hex package)112* Getting gettext (Hex package)113* Getting jason (Hex package)114* Getting phoenix (Hex package)115* Getting phoenix_ecto (Hex package)116* Getting phoenix_html (Hex package)117* Getting phoenix_live_dashboard (Hex package)118* Getting phoenix_live_view (Hex package)119* Getting plug_cowboy (Hex package)120* Getting postgrex (Hex package)121* Getting telemetry_metrics (Hex package)122* Getting telemetry_poller (Hex package)123* Getting timex (Hex package)124* Getting toml (Hex package)125* Getting uuid (Hex package)126* Getting combine (Hex package)127* Getting tzdata (Hex package)128* Getting telemetry (Hex package)129* Getting db_connection (Hex package)130* Getting decimal (Hex package)131* Getting cowboy (Hex package)132* Getting cowboy_telemetry (Hex package)133* Getting plug (Hex package)134* Getting mime (Hex package)135* Getting plug_crypto (Hex package)136* Getting cowlib (Hex package)137* Getting ranch (Hex package)138* Getting phoenix_template (Hex package)139* Getting ecto (Hex package)140* Getting castore (Hex package)141* Getting phoenix_pubsub (Hex package)142* Getting websock_adapter (Hex package)143* Getting websock (Hex package)144* Getting expo (Hex package)145Found packages with security advisories, see above for details146You have added/upgraded packages you could sponsor, run `mix hex.sponsor` to learn more147==> nerves_system_br148Generated nerves_system_br app149==> combine150Compiling 6 files (.ex)151    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 operator152    │153 26 │       <<bits::bitstring-size(n), rest::bitstring>> ->154    │                              ~155    │156    └─ lib/combine/parsers/binary.ex:26:30: Combine.Parsers.Binary.bits_impl/2157158    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 operator159    │160 48 │       <<bits::bitstring-size(bits_size), rest::bitstring>> ->161    │                              ~162    │163    └─ lib/combine/parsers/binary.ex:48:30: Combine.Parsers.Binary.bytes_impl/2164165    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 operator166    │167 70 │           <<int::big-unsigned-size(size), rest::bitstring>> ->168    │                                    ~169    │170    └─ lib/combine/parsers/binary.ex:70:36: Combine.Parsers.Binary.uint_impl/3171172    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 operator173    │174 77 │           <<int::little-unsigned-size(size), rest::bitstring>> ->175    │                                       ~176    │177    └─ lib/combine/parsers/binary.ex:77:39: Combine.Parsers.Binary.uint_impl/3178179     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 operator180     │181 101 │           <<int::big-signed-size(size), rest::bitstring>> ->182     │                                  ~183     │184     └─ lib/combine/parsers/binary.ex:101:34: Combine.Parsers.Binary.int_impl/3185186     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 operator187     │188 108 │           <<int::little-signed-size(size), rest::bitstring>> ->189     │                                     ~190     │191     └─ lib/combine/parsers/binary.ex:108:37: Combine.Parsers.Binary.int_impl/3192193     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 operator194     │195 128 │       <<num::float-size(size), rest::bitstring>> ->196     │                         ~197     │198     └─ lib/combine/parsers/binary.ex:128:25: Combine.Parsers.Binary.float_impl/2199200     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 operator201     │202 432 │         <<^expected::binary-size(byte_size), rest::binary>> ->203     │                                  ~204     │205     └─ lib/combine/parsers/text.ex:432:34: Combine.Parsers.Text.string_impl/2206207     warning: the following clause is redundant:208209         defp word_of_impl(%Combine.ParserState{...} = state, _pattern)210211     it has type:212213         dynamic(%Combine.ParserState{status: :ok}), dynamic()214215     previous clauses have already matched on the following types:216217         %Combine.ParserState{status: :error}, term()218         %Combine.ParserState{status: :ok}, term()219220     │221 488 │   defp word_of_impl(%ParserState{status: :ok} = state, _pattern) do222     │        ~223     │224     └─ lib/combine/parsers/text.ex:488:8: Combine.Parsers.Text.word_of_impl/2225226Generated combine app227==> mime228Compiling 1 file (.ex)229Generated mime app230==> toml231Compiling 10 files (.ex)232     warning: using single-quoted strings to represent charlists is deprecated.233     Use ~c"" if you indeed want a charlist or use "" instead.234     You may run "mix format --migrate" to change all single-quoted235     strings to use the ~c sigil and fix this warning.236     │237 264 │   defp handle_token(lexer, original, doc, type, skip, _data, lines) when type in '-_' do238     │                                                                                  ~239     │240     └─ lib/decoder.ex:264:82241242     warning: using single-quoted strings to represent charlists is deprecated.243     Use ~c"" if you indeed want a charlist or use "" instead.244     You may run "mix format --migrate" to change all single-quoted245     strings to use the ~c sigil and fix this warning.246     │247 371 │       {:ok, {type, _skip, _data, _lines}} when type in '-+' ->248     │                                                        ~249     │250     └─ lib/decoder.ex:371:56251252     warning: using single-quoted strings to represent charlists is deprecated.253     Use ~c"" if you indeed want a charlist or use "" instead.254     You may run "mix format --migrate" to change all single-quoted255     strings to use the ~c sigil and fix this warning.256     │257 419 │           {:ok, {:alpha, _, <<c::utf8>>, _}} when c in 'eE' ->258     │                                                        ~259     │260     └─ lib/decoder.ex:419:56261262     warning: using single-quoted strings to represent charlists is deprecated.263     Use ~c"" if you indeed want a charlist or use "" instead.264     You may run "mix format --migrate" to change all single-quoted265     strings to use the ~c sigil and fix this warning.266     │267 474 │       {:ok, {:alpha, _, <<c::utf8>>, _}} when c in 'eE' ->268     │                                                    ~269     │270     └─ lib/decoder.ex:474:52271272     warning: using single-quoted strings to represent charlists is deprecated.273     Use ~c"" if you indeed want a charlist or use "" instead.274     You may run "mix format --migrate" to change all single-quoted275     strings to use the ~c sigil and fix this warning.276     │277 514 │       {:ok, {sign, _, _, _}} when sign in '-+' and last == ?e ->278     │                                           ~279     │280     └─ lib/decoder.ex:514:43281282     warning: using single-quoted strings to represent charlists is deprecated.283     Use ~c"" if you indeed want a charlist or use "" instead.284     You may run "mix format --migrate" to change all single-quoted285     strings to use the ~c sigil and fix this warning.286     │287 518 │       {:ok, {:alpha, _, <<c::utf8>>, _}} when c in 'eE' and signal == ?. ->288     │                                                    ~289     │290     └─ lib/decoder.ex:518:52291292     warning: using single-quoted strings to represent charlists is deprecated.293     Use ~c"" if you indeed want a charlist or use "" instead.294     You may run "mix format --migrate" to change all single-quoted295     strings to use the ~c sigil and fix this warning.296     │297 522 │       {:ok, {?_, skip, _, lines}} when last not in '_e.' ->298     │                                                    ~299     │300     └─ lib/decoder.ex:522:52301302     warning: using single-quoted strings to represent charlists is deprecated.303     Use ~c"" if you indeed want a charlist or use "" instead.304     You may run "mix format --migrate" to change all single-quoted305     strings to use the ~c sigil and fix this warning.306     │307 538 │       {:ok, {type, skip, data, lines}} when last in 'e.' ->308     │                                                     ~309     │310     └─ lib/decoder.ex:538:53311312     warning: using single-quoted strings to represent charlists is deprecated.313     Use ~c"" if you indeed want a charlist or use "" instead.314     You may run "mix format --migrate" to change all single-quoted315     strings to use the ~c sigil and fix this warning.316     │317 542 │       {:ok, {_type, skip, _data, lines} = token} when last not in '_e.' ->318     │                                                                   ~319     │320     └─ lib/decoder.ex:542:67321322     warning: using single-quoted strings to represent charlists is deprecated.323     Use ~c"" if you indeed want a charlist or use "" instead.324     You may run "mix format --migrate" to change all single-quoted325     strings to use the ~c sigil and fix this warning.326     │327 682 │         {:ok, {sign, _, _, _}} when sign in '-+' ->328     │                                             ~329     │330     └─ lib/decoder.ex:682:45331332     warning: using single-quoted strings to represent charlists is deprecated.333     Use ~c"" if you indeed want a charlist or use "" instead.334     You may run "mix format --migrate" to change all single-quoted335     strings to use the ~c sigil and fix this warning.336     │337 796 │       {:ok, {sign, _, _, _}} when sign in '-+' ->338     │                                           ~339     │340     └─ lib/decoder.ex:796:43341342     warning: using single-quoted strings to represent charlists is deprecated.343     Use ~c"" if you indeed want a charlist or use "" instead.344     You may run "mix format --migrate" to change all single-quoted345     strings to use the ~c sigil and fix this warning.346     │347 916 │         {:ok, {type, skip, _, lines}} when type in '-_' ->348     │                                                    ~349     │350     └─ lib/decoder.ex:916:52351352     warning: using single-quoted strings to represent charlists is deprecated.353     Use ~c"" if you indeed want a charlist or use "" instead.354     You may run "mix format --migrate" to change all single-quoted355     strings to use the ~c sigil and fix this warning.356     │357 954 │               {:ok, {type, _, _, _}} when type in '-_' ->358     │                                                   ~359     │360     └─ lib/decoder.ex:954:51361362     warning: using single-quoted strings to represent charlists is deprecated.363     Use ~c"" if you indeed want a charlist or use "" instead.364     You may run "mix format --migrate" to change all single-quoted365     strings to use the ~c sigil and fix this warning.366     │367 969 │       {:ok, {type, _, _, _}} when type in '-_' ->368     │                                           ~369     │370     └─ lib/decoder.ex:969:43371372     warning: using single-quoted strings to represent charlists is deprecated.373     Use ~c"" if you indeed want a charlist or use "" instead.374     You may run "mix format --migrate" to change all single-quoted375     strings to use the ~c sigil and fix this warning.376     │377 983 │           {:ok, {type, _, _, _}} when type in '-_' ->378     │                                               ~379     │380     └─ lib/decoder.ex:983:47381382     warning: the following clause will never match:383384         {:datetime, {:error, :invalid_date}} ->385386     it is expected to match on type:387388         dynamic(389           {:date,390            ({:error, :invalid_date} and not {:ok, {integer(), integer(), integer()}}) or391              {:error, :incompatible_calendars or :invalid_format} or {:ok, %Date{}}} and392             not {:date, {:ok, %Date{}}}393         )394395     type warning found at:396     │397 722 │       {:datetime, {:error, :invalid_date}} ->398     │       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~399     │400     └─ lib/decoder.ex:722: Toml.Decoder.datetime/3401402     warning: the following clause will never match:403404         {:datetime, {:error, reason}} ->405406     it is expected to match on type:407408         dynamic(409           {:date,410            ({:error, :invalid_date} and not {:ok, {integer(), integer(), integer()}}) or411              {:error, :incompatible_calendars or :invalid_format} or {:ok, %Date{}}} and412             not {:date, {:ok, %Date{}}}413         )414415     type warning found at:416     │417 725 │       {:datetime, {:error, reason}} ->418     │       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~419     │420     └─ lib/decoder.ex:725: Toml.Decoder.datetime/3421422     warning: the following clause will never match:423424         {:error, _, _, _} = err ->425426     it is expected to match on type:427428         dynamic(429           {:date,430            ({:error, :invalid_date} and not {:ok, {integer(), integer(), integer()}}) or431              {:error, :incompatible_calendars or :invalid_format} or {:ok, %Date{}}} and432             not {:date, {:ok, %Date{}}}433         )434435     type warning found at:436     │437 728 │       {:error, _, _, _} = err ->438     │                         ~439     │440     └─ lib/decoder.ex:728:25: Toml.Decoder.datetime/3441442     warning: the following clause will never match:443444         {:ok, {type, skip, data, lines}} ->445446     it is expected to match on type:447448         dynamic(449           {:date,450            ({:error, :invalid_date} and not {:ok, {integer(), integer(), integer()}}) or451              {:error, :incompatible_calendars or :invalid_format} or {:ok, %Date{}}} and452             not {:date, {:ok, %Date{}}}453         )454455     type warning found at:456     │457 731 │       {:ok, {type, skip, data, lines}} ->458     │       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~459     │460     └─ lib/decoder.ex:731: Toml.Decoder.datetime/3461462Generated toml app463==> circular_buffer464Compiling 1 file (.ex)465Generated circular_buffer app466==> plug_crypto467Compiling 5 files (.ex)468Generated plug_crypto app469==> nerves_compatibility_test470===> Analyzing applications...471===> Compiling ranch472==> tzdata473Compiling 18 files (.ex)474Generated tzdata app475==> tablet476Compiling 2 files (.ex)477Generated tablet app478==> elixir_make479Compiling 8 files (.ex)480Generated elixir_make app481==> nerves_logging482 CC kmsg_tailer.o483 LD kmsg_tailer484Compiling 5 files (.ex)485Generated nerves_logging app486==> castore487Compiling 1 file (.ex)488Generated castore app489==> dart_sass490Compiling 3 files (.ex)491     warning: using single-quoted strings to represent charlists is deprecated.492     Use ~c"" if you indeed want a charlist or use "" instead.493     You may run "mix format --migrate" to change all single-quoted494     strings to use the ~c sigil and fix this warning.495     │496 348 │         {'location', download} = List.keyfind(headers, 'location', 0)497     │          ~498     │499     └─ lib/dart_sass.ex:348:10500501     warning: using single-quoted strings to represent charlists is deprecated.502     Use ~c"" if you indeed want a charlist or use "" instead.503     You may run "mix format --migrate" to change all single-quoted504     strings to use the ~c sigil and fix this warning.505     │506 348 │         {'location', download} = List.keyfind(headers, 'location', 0)507     │                                                        ~508     │509     └─ lib/dart_sass.ex:348:56510511Generated dart_sass app512==> nerves_compatibility_test513===> Analyzing applications...514===> Compiling cowlib515==> nerves_discovery516Compiling 5 files (.ex)517Generated nerves_discovery app518==> ring_logger519Compiling 7 files (.ex)520Generated ring_logger app521==> decimal522Compiling 4 files (.ex)523Generated decimal app524==> jason525Compiling 10 files (.ex)526Generated jason app527==> esbuild528Compiling 4 files (.ex)529Generated esbuild app530==> interactive_cmd531Compiling 1 file (.ex)532Generated interactive_cmd app533==> nerves534Compiling 65 files (.ex)535    warning: redefining module Mix.Tasks.Nerves.Init (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Mix.Tasks.Nerves.Init.beam)536    │537  6 │ defmodule Mix.Tasks.Nerves.Init do538    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~539    │540    └─ lib/mix/tasks/nerves.init.ex:6: Mix.Tasks.Nerves.Init (module)541542    warning: redefining module Nerves (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.beam)543    │544  6 │ defmodule Nerves do545    │ ~~~~~~~~~~~~~~~~~~~546    │547    └─ lib/nerves.ex:6: Nerves (module)548549    warning: redefining module Nerves.ArtifactResolver (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.ArtifactResolver.beam)550    │551  5 │ defmodule Nerves.ArtifactResolver do552    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~553    │554    └─ lib/nerves/artifact_resolver.ex:5: Nerves.ArtifactResolver (module)555556    warning: redefining module Nerves.BuildAction.AppModes (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.AppModes.beam)557    │558  6 │ defmodule Nerves.BuildAction.AppModes do559    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~560    │561    └─ lib/nerves/build_action/app_modes.ex:6: Nerves.BuildAction.AppModes (module)562563    warning: redefining module Nerves.BuildAction.CheckExecutables (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.CheckExecutables.beam)564    │565  5 │ defmodule Nerves.BuildAction.CheckExecutables do566    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~567    │568    └─ lib/nerves/build_action/check_executables.ex:5: Nerves.BuildAction.CheckExecutables (module)569570    warning: redefining module Nerves.BuildAction.Erlinit (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.Erlinit.beam)571    │572  8 │ defmodule Nerves.BuildAction.Erlinit do573    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~574    │575    └─ lib/nerves/build_action/erlinit.ex:8: Nerves.BuildAction.Erlinit (module)576577    warning: redefining module Nerves.BuildAction.Firmware (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.Firmware.beam)578    │579  5 │ defmodule Nerves.BuildAction.Firmware do580    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~581    │582    └─ lib/nerves/build_action/firmware.ex:5: Nerves.BuildAction.Firmware (module)583584    warning: redefining module Nerves.BuildAction.IExStartupCheck (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.IExStartupCheck.beam)585    │586  7 │ defmodule Nerves.BuildAction.IExStartupCheck do587    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~588    │589    └─ lib/nerves/build_action/iex_startup_check.ex:7: Nerves.BuildAction.IExStartupCheck (module)590591    warning: redefining module Nerves.BuildAction.NervesV1System (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1System.beam)592    │593  5 │ defmodule Nerves.BuildAction.NervesV1System do594    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~595    │596    └─ lib/nerves/build_action/nerves_v1_system.ex:5: Nerves.BuildAction.NervesV1System (module)597598    warning: redefining module Nerves.BuildAction.NervesV1Toolchain (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1Toolchain.beam)599    │600  5 │ defmodule Nerves.BuildAction.NervesV1Toolchain do601    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~602    │603    └─ lib/nerves/build_action/nerves_v1_toolchain.ex:5: Nerves.BuildAction.NervesV1Toolchain (module)604605    warning: redefining module Nerves.BuildAction.Rootfs (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.Rootfs.beam)606    │607  5 │ defmodule Nerves.BuildAction.Rootfs do608    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~609    │610    └─ lib/nerves/build_action/rootfs.ex:5: Nerves.BuildAction.Rootfs (module)611612    warning: redefining module Nerves.BuildAction.SortApps (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.SortApps.beam)613    │614  6 │ defmodule Nerves.BuildAction.SortApps do615    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~616    │617    └─ lib/nerves/build_action/sort_apps.ex:6: Nerves.BuildAction.SortApps (module)618619    warning: redefining module Nerves.BuildAction.StripAll (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.StripAll.beam)620    │621  5 │ defmodule Nerves.BuildAction.StripAll do622    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~623    │624    └─ lib/nerves/build_action/strip_all.ex:5: Nerves.BuildAction.StripAll (module)625626    warning: redefining module Nerves.BuildAction.Trimmer (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.Trimmer.beam)627    │628  5 │ defmodule Nerves.BuildAction.Trimmer do629    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~630    │631    └─ lib/nerves/build_action/trimmer.ex:5: Nerves.BuildAction.Trimmer (module)632633    warning: redefining module Nerves.BuildPlan (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildPlan.beam)634    │635  5 │ defmodule Nerves.BuildPlan do636    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~637    │638    └─ lib/nerves/build_plan.ex:5: Nerves.BuildPlan (module)639640    warning: redefining module Nerves.BuildPlan.Checks (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildPlan.Checks.beam)641    │642  5 │ defmodule Nerves.BuildPlan.Checks do643    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~644    │645    └─ lib/nerves/build_plan/checks.ex:5: Nerves.BuildPlan.Checks (module)646647    warning: redefining module Nerves.Container (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.Container.beam)648    │649  6 │ defmodule Nerves.Container do650    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~651    │652    └─ lib/nerves/container.ex:6: Nerves.Container (module)653654    warning: redefining module Nerves.Fingerprint (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.Fingerprint.beam)655    │656  5 │ defmodule Nerves.Fingerprint do657    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~658    │659    └─ lib/nerves/fingerprint.ex:5: Nerves.Fingerprint (module)660661    warning: redefining module Nerves.MixPackage (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.MixPackage.beam)662    │663  5 │ defmodule Nerves.MixPackage do664    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~665    │666    └─ lib/nerves/mix_package.ex:5: Nerves.MixPackage (module)667668    warning: redefining module Nerves.Paths (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.Paths.beam)669    │670  5 │ defmodule Nerves.Paths do671    │ ~~~~~~~~~~~~~~~~~~~~~~~~~672    │673    └─ lib/nerves/paths.ex:5: Nerves.Paths (module)674675    warning: redefining module Nerves.TargetTuple (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.TargetTuple.beam)676    │677  5 │ defmodule Nerves.TargetTuple do678    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~679    │680    └─ lib/nerves/target_tuple.ex:5: Nerves.TargetTuple (module)681682Generated nerves app683==> nerves_toolchain_aarch64_nerves_linux_gnu684Compiling 1 file (.ex)685Generated nerves_toolchain_aarch64_nerves_linux_gnu app686==> nerves_system_rpi5687Generated nerves_system_rpi5 app688==> nerves_compatibility_test689===> Analyzing applications...690===> Compiling telemetry691==> telemetry_metrics692Compiling 7 files (.ex)693     warning: unused require Logger694     │695 391 │   require Logger696     │   ~697     │698     └─ lib/telemetry_metrics.ex:391:3699700Generated telemetry_metrics app701==> nerves_compatibility_test702===> Analyzing applications...703===> Compiling telemetry_poller704==> db_connection705Compiling 18 files (.ex)706Generated db_connection app707==> ecto708Compiling 56 files (.ex)709Generated ecto app710==> nerves_compatibility_test711===> Analyzing applications...712===> Compiling cowboy713==> expo714Compiling 2 files (.erl)715Compiling 22 files (.ex)716Generated expo app717==> gettext718Compiling 18 files (.ex)719     warning: unused require Gettext.Macros720     │721 594 │   require Gettext.Macros722     │   ~723     │724     └─ lib/gettext.ex:594:3725726     warning: Kernel.ParallelCompiler.async/1 is deprecated. Use `pmap/2` instead727     │728 426 │               Kernel.ParallelCompiler.async(fn ->729     │                                       ~730     │731     └─ lib/gettext/compiler.ex:426:39: Gettext.Compiler.compile_po_files/3732733     warning: the following clause is redundant:734735         defp ensure_empty_msgstr!(%Expo.Message.Plural{} = message)736737     it has type:738739         dynamic(%Expo.Message.Plural{})740741     previous clauses have already matched on the following types:742743         %Expo.Message.Singular{}744         %Expo.Message.Plural{}745746     │747 391 │   defp ensure_empty_msgstr!(%Message.Plural{} = message) do748     │        ~749     │750     └─ lib/gettext/extractor.ex:391:8: Gettext.Extractor.ensure_empty_msgstr!/1751752Generated gettext app753==> phoenix_pubsub754Compiling 12 files (.ex)755Generated phoenix_pubsub app756==> plug757Compiling 1 file (.erl)758Compiling 42 files (.ex)759Generated plug app760==> phoenix_html761Compiling 9 files (.ex)762    warning: comparison between distinct types found:763764        id == nil765766    given types:767768        dynamic(not false and not nil and not binary()) == nil769770    where "id" was given the types:771772        # type: dynamic(not false and not nil)773        # from: lib/phoenix_html/form_data.ex:92:8774        id = Keyword.get(opts, :id) || name775776        # type: dynamic(not false and not nil and not binary())777        # from: lib/phoenix_html/form_data.ex:94:12778        is_binary(id)779780    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 false781782    type warning found at:783    │784 94 │     unless is_binary(id) or is_nil(id) do785    │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~786    │787    └─ lib/phoenix_html/form_data.ex:94: Phoenix.HTML.FormData.Atom.to_form/2788789    warning: the 1st pattern in clause will never match:790791        60792793    because it is expected to receive type:794795        dynamic(empty_list() or non_empty_list(term(), term()))796797    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())798799    type warning found at:800    │801 56 │   def to_iodata(?<), do: "&lt;"802    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~803    │804    └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/1805806    warning: the 1st pattern in clause will never match:807808        62809810    because it is expected to receive type:811812        dynamic(empty_list() or non_empty_list(term(), term()))813814    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())815816    type warning found at:817    │818 57 │   def to_iodata(?>), do: "&gt;"819    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~820    │821    └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/1822823    warning: the 1st pattern in clause will never match:824825        38826827    because it is expected to receive type:828829        dynamic(empty_list() or non_empty_list(term(), term()))830831    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())832833    type warning found at:834    │835 58 │   def to_iodata(?&), do: "&amp;"836    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~837    │838    └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/1839840    warning: the 1st pattern in clause will never match:841842        34843844    because it is expected to receive type:845846        dynamic(empty_list() or non_empty_list(term(), term()))847848    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())849850    type warning found at:851    │852 59 │   def to_iodata(?"), do: "&quot;"853    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~854    │855    └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/1856857    warning: the 1st pattern in clause will never match:858859        39860861    because it is expected to receive type:862863        dynamic(empty_list() or non_empty_list(term(), term()))864865    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())866867    type warning found at:868    │869 60 │   def to_iodata(?'), do: "&#39;"870    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~871    │872    └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/1873874    warning: the 1st pattern in clause will never match:875876        {:safe, data}877878    because it is expected to receive type:879880        dynamic(empty_list() or non_empty_list(term(), term()))881882    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())883884    type warning found at:885    │886 76 │   def to_iodata({:safe, data}) do887    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~888    │889    └─ lib/phoenix_html/safe.ex:76: Phoenix.HTML.Safe.List.to_iodata/1890891    warning: the following clause is redundant:892893        def to_iodata(other)894895    it has type:896897        dynamic(empty_list() or non_empty_list(term(), term()))898899    previous clauses have already matched on the following types:900901        non_empty_list(term(), term())902        empty_list()903904    │905 80 │   def to_iodata(other) do906    │       ~907    │908    └─ lib/phoenix_html/safe.ex:80:7: Phoenix.HTML.Safe.List.to_iodata/1909910    warning: the 1st pattern in clause will never match:911912        h913914    because it is expected to receive type:915916        dynamic(empty_list() or non_empty_list(term(), term()))917918    where "h" was given the type:919920        # type: integer()921        # from: lib/phoenix_html/safe.ex:62:25922        is_integer(h)923924    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())925926    type warning found at:927    │928 62 │   def to_iodata(h) when is_integer(h) and h <= 255 do929    │                 ~930    │931    └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/1932933    warning: the 1st pattern in clause will never match:934935        h936937    because it is expected to receive type:938939        dynamic(empty_list() or non_empty_list(term(), term()))940941    where "h" was given the type:942943        # type: integer()944        # from: lib/phoenix_html/safe.ex:66:25945        is_integer(h)946947    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())948949    type warning found at:950    │951 66 │   def to_iodata(h) when is_integer(h) do952    │                 ~953    │954    └─ lib/phoenix_html/safe.ex:66:17: Phoenix.HTML.Safe.List.to_iodata/1955956    warning: the 1st pattern in clause will never match:957958        h959960    because it is expected to receive type:961962        dynamic(empty_list() or non_empty_list(term(), term()))963964    where "h" was given the type:965966        # type: binary()967        # from: lib/phoenix_html/safe.ex:72:25968        is_binary(h)969970    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())971972    type warning found at:973    │974 72 │   def to_iodata(h) when is_binary(h) do975    │                 ~976    │977    └─ lib/phoenix_html/safe.ex:72:17: Phoenix.HTML.Safe.List.to_iodata/1978979Generated phoenix_html app980==> phoenix_template981Compiling 4 files (.ex)982Generated phoenix_template app983warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"984  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2985  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1986  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5987  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2988  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4989  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2990991==> postgrex992Compiling 70 files (.ex)993Generated postgrex app994==> ecto_sql995Compiling 25 files (.ex)996Generated ecto_sql app997warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"998  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2999  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11000  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51001  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21002  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41003  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/210041005==> phoenix_ecto1006Compiling 7 files (.ex)1007Generated phoenix_ecto app1008==> uboot_env1009Compiling 5 files (.ex)1010Generated uboot_env app1011==> timex1012Compiling 62 files (.ex)1013    warning: default arguments in protocol definitions is deprecated1014    │1015 84 │   def compare(a, b, granularity \\ :microsecond)1016    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1017    │1018    └─ lib/comparable/comparable.ex:84: Timex.Comparable (module)10191020     warning: default arguments in protocol definitions is deprecated1021     │1022 139 │   def diff(a, b, granularity \\ :microsecond)1023     │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1024     │1025     └─ lib/comparable/comparable.ex:139: Timex.Comparable (module)10261027    warning: protocols can only define functions without implementation via def/1, found: compare/2, diff/21028    │1029  1 │ defprotocol Timex.Comparable do1030    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1031    │1032    └─ lib/comparable/comparable.ex:1: Timex.Comparable (module)10331034     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 operator1035     │1036 317 │     <<abbrevs::bytes(len), rest::binary>> = data1037     │                      ~1038     │1039     └─ lib/parse/zoneinfo/parser.ex:317:22: Timex.Parse.ZoneInfo.Parser.parse_abbreviations/410401041    warning: default arguments in protocol definitions is deprecated1042    │1043 48 │   def to_datetime(datetime, timezone \\ :utc)1044    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1045    │1046    └─ lib/protocol.ex:48: Timex.Protocol (module)10471048    warning: protocols can only define functions without implementation via def/1, found: to_datetime/11049    │1050  1 │ defprotocol Timex.Protocol do1051    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1052    │1053    └─ lib/protocol.ex:1: Timex.Protocol (module)10541055    warning: unused require Timex.Macros1056    │1057  5 │   require Timex.Macros1058    │   ~1059    │1060    └─ lib/comparable/tuple.ex:5:310611062    warning: unused require Timex.Macros1063    │1064  5 │   require Timex.Macros1065    │   ~1066    │1067    └─ lib/comparable/naivedatetime.ex:5:310681069    warning: unused require Bitwise1070    │1071  5 │   require Bitwise1072    │   ~1073    │1074    └─ lib/calendar/julian.ex:5:310751076Compiling lib/l10n/gettext.ex (it's taking more than 10s)1077     warning: the following clause will never match:10781079         {ty, a, b} when ty === :gap or ty === :ambiguous ->10801081     it is expected to match on type:10821083         dynamic({:error, term()} and not {:ok, %{..., time_zone: term()}})10841085     where "ty" was given the type:10861087         # type: :ambiguous or :gap1088         # from: lib/timezone/timezone.ex:5481089         ty in [:gap, :ambiguous]10901091     type warning found at:1092     │1093 548 │       {ty, a, b} when ty in [:gap, :ambiguous] ->1094     │       ~1095     │1096     └─ lib/timezone/timezone.ex:548:7: Timex.Timezone.convert/210971098     warning: a struct for Timex.PosixTimezone is expected on struct update:10991100         %Timex.PosixTimezone{rule | std_abbr: abbr}11011102     but got type:11031104         dynamic()11051106     where "rule" was given the type:11071108         # type: dynamic()1109         # from: lib/parse/posix/parser.ex:119:331110         rule11111112     when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"11131114     type warning found at:1115     │1116 121 │       parse_tz(:std_offset, rest, %TZ{rule | std_abbr: abbr})1117     │                                   ~1118     │1119     └─ lib/parse/posix/parser.ex:121:35: Timex.Parse.Timezones.Posix.parse_tz/311201121     warning: a struct for Timex.PosixTimezone is expected on struct update:11221123         %Timex.PosixTimezone{rule | std_offset: offset}11241125     but got type:11261127         dynamic()11281129     where "rule" was given the type:11301131         # type: dynamic()1132         # from: lib/parse/posix/parser.ex:125:351133         rule11341135     when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"11361137     type warning found at:1138     │1139 127 │       parse_tz(:dst_abbr, rest, %TZ{rule | std_offset: offset})1140     │                                 ~1141     │1142     └─ lib/parse/posix/parser.ex:127:33: Timex.Parse.Timezones.Posix.parse_tz/311431144     warning: a struct for Timex.PosixTimezone is expected on struct update:11451146         %Timex.PosixTimezone{rule | dst_abbr: abbr}11471148     but got type:11491150         dynamic()11511152     where "rule" was given the type:11531154         # type: dynamic()1155         # from: lib/parse/posix/parser.ex:141:331156         rule11571158     when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"11591160     type warning found at:1161     │1162 143 │          rule = %TZ{rule | dst_abbr: abbr} do1163     │                 ~1164     │1165     └─ lib/parse/posix/parser.ex:143:17: Timex.Parse.Timezones.Posix.parse_tz/311661167     warning: a struct for Timex.PosixTimezone is expected on struct update:11681169         %Timex.PosixTimezone{rule | dst_offset: offset}11701171     but got type:11721173         dynamic()11741175     where "rule" was given the type:11761177         # type: dynamic()1178         # from: lib/parse/posix/parser.ex:160:351179         rule11801181     when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"11821183     type warning found at:1184     │1185 162 │          rule = %TZ{rule | dst_offset: offset} do1186     │                 ~1187     │1188     └─ lib/parse/posix/parser.ex:162:17: Timex.Parse.Timezones.Posix.parse_tz/311891190     warning: a struct for Timex.PosixTimezone is expected on struct update:11911192         %Timex.PosixTimezone{rule | dst_start: dst_start, dst_end: dst_end}11931194     but got type:11951196         dynamic()11971198     where "rule" was given the type:11991200         # type: dynamic()1201         # from: lib/parse/posix/parser.ex:185:361202         rule12031204     when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"12051206     type warning found at:1207     │1208 190 │           {:ok, %TZ{rule | dst_start: dst_start, dst_end: dst_end}, rest}1209     │                 ~1210     │1211     └─ lib/parse/posix/parser.ex:190:17: Timex.Parse.Timezones.Posix.parse_tz/312121213     warning: the following clause will never match:12141215         :error ->12161217     it is expected to match on type:12181219         dynamic({:error, :invalid_number, binary()})12201221     type warning found at:1222     │1223 264 │       :error ->1224     │       ~~~~~~~~~1225     │1226     └─ lib/parse/posix/parser.ex:264: Timex.Parse.Timezones.Posix.parse_month_week_day/312271228    warning: the following pattern will never match:12291230        {y, m, d} <- to_erl_datetime(date)12311232    because the right-hand side has type:12331234        dynamic(1235          {:error, :invalid_date} or1236            {:ok, {{integer(), integer(), integer()}, {integer(), integer(), integer()}}}1237        )12381239    where "date" was given the type:12401241        # type: dynamic({...})1242        # from: lib/datetime/erlang.ex:7:171243        date12441245    type warning found at:1246    │1247  8 │     with {y, m, d} <- to_erl_datetime(date),1248    │          ~1249    │1250    └─ lib/datetime/erlang.ex:8:10: Timex.Protocol.Tuple.to_julian/112511252     warning: the following clause is redundant:12531254         def shift(_, _)12551256     it has type:12571258         dynamic(%Date{}), dynamic()12591260     previous clauses have already matched on the following types:12611262         %Date{}, term()12631264     │1265 227 │   def shift(_, _), do: {:error, :badarg}1266     │       ~1267     │1268     └─ lib/date/date.ex:227:7: Timex.Protocol.Date.shift/212691270     warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:12711272         %Timex.Parse.ZoneInfo.Parser.Zone{zone | transitions: transitions, leaps: leaps}12731274     but got type:12751276         dynamic(%{..., leaps: term(), transitions: term()})12771278     where "zone" was given the types:12791280         # type: dynamic(%{..., rule: term()} or %{..., transitions: term()})1281         # from: lib/parse/zoneinfo/parser.ex:156:281282         {:ok, zone, rest} <- parse_content(1, data, %Timex.Parse.ZoneInfo.Parser.Zone{..., version: 1})12831284         # type: dynamic(%{..., transitions: term()})1285         # from: lib/parse/zoneinfo/parser.ex:157:261286         Enum.sort_by(zone.transitions, fn tx -> tx.starts_at end)12871288         # type: dynamic(%{..., leaps: term(), transitions: term()})1289         # from: lib/parse/zoneinfo/parser.ex:158:201290         Enum.sort_by(zone.leaps, fn leap -> leap.epoch end)12911292     when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"12931294     type warning found at:1295     │1296 159 │       {:ok, %Zone{zone | transitions: transitions, leaps: leaps}, rest}1297     │             ~1298     │1299     └─ lib/parse/zoneinfo/parser.ex:159:13: Timex.Parse.ZoneInfo.Parser.parse_versioned_content/213001301     warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:13021303         %Timex.Parse.ZoneInfo.Parser.Zone{zone | transitions: times}13041305     but got type:13061307         dynamic()13081309     where "zone" was given the type:13101311         # type: dynamic()1312         # from: lib/parse/zoneinfo/parser.ex:270:921313         zone13141315     when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"13161317     type warning found at:1318     │1319 272 │     parse_transition_info(version, rest, header, %Zone{zone | transitions: times})1320     │                                                  ~1321     │1322     └─ lib/parse/zoneinfo/parser.ex:272:50: Timex.Parse.ZoneInfo.Parser.parse_transition_times/413231324     warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:13251326         %Timex.Parse.ZoneInfo.Parser.Zone{zone | leaps: leaps}13271328     but got type:13291330         dynamic()13311332     where "zone" was given the type:13331334         # type: dynamic()1335         # from: lib/parse/zoneinfo/parser.ex:330:791336         zone13371338     when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"13391340     type warning found at:1341     │1342 344 │     parse_flags(version, rest, header, %Zone{zone | leaps: leaps})1343     │                                        ~1344     │1345     └─ lib/parse/zoneinfo/parser.ex:344:40: Timex.Parse.ZoneInfo.Parser.parse_leap_seconds/413461347     warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:13481349         %Timex.Parse.ZoneInfo.Parser.Zone{zone | transitions: transitions}13501351     but got type:13521353         dynamic(%{..., transitions: term()})13541355     where "zone" was given the type:13561357         # type: dynamic(%{..., transitions: term()})1358         # from: lib/parse/zoneinfo/parser.ex:354:151359         Enum.with_index(zone.transitions)13601361     when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"13621363     type warning found at:1364     │1365 362 │       parse_posixtz_string(version, rest, %Zone{zone | transitions: transitions})1366     │                                           ~1367     │1368     └─ lib/parse/zoneinfo/parser.ex:362:43: Timex.Parse.ZoneInfo.Parser.parse_flags/413691370     warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:13711372         %Timex.Parse.ZoneInfo.Parser.Zone{zone | transitions: transitions}13731374     but got type:13751376         dynamic(%{..., transitions: term()})13771378     where "zone" was given the type:13791380         # type: dynamic(%{..., transitions: term()})1381         # from: lib/parse/zoneinfo/parser.ex:354:151382         Enum.with_index(zone.transitions)13831384     when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"13851386     type warning found at:1387     │1388 364 │       {:ok, %Zone{zone | transitions: transitions}, rest}1389     │             ~1390     │1391     └─ lib/parse/zoneinfo/parser.ex:364:13: Timex.Parse.ZoneInfo.Parser.parse_flags/413921393     warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:13941395         %Timex.Parse.ZoneInfo.Parser.Zone{zone | rule: rule}13961397     but got type:13981399         dynamic()14001401     where "zone" was given the type:14021403         # type: dynamic()1404         # from: lib/parse/zoneinfo/parser.ex:369:621405         zone14061407     when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"14081409     type warning found at:1410     │1411 372 │       {:ok, %Zone{zone | rule: rule}, format_rest <> rest}1412     │             ~1413     │1414     └─ lib/parse/zoneinfo/parser.ex:372:13: Timex.Parse.ZoneInfo.Parser.parse_posixtz_string/314151416     warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:14171418         %Timex.Parse.ZoneInfo.Parser.Rule{rule | std_abbr: abbr, dst_abbr: abbr}14191420     but got type:14211422         dynamic()14231424     where "rule" was given the type:14251426         # type: dynamic()1427         # from: lib/parse/zoneinfo/parser.ex:383:331428         rule14291430     when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"14311432     type warning found at:1433     │1434 385 │       parse_tz(:std_offset, rest, %Rule{rule | std_abbr: abbr, dst_abbr: abbr})1435     │                                   ~1436     │1437     └─ lib/parse/zoneinfo/parser.ex:385:35: Timex.Parse.ZoneInfo.Parser.parse_tz/314381439     warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:14401441         %Timex.Parse.ZoneInfo.Parser.Rule{rule | std_offset: offset, dst_offset: offset}14421443     but got type:14441445         dynamic()14461447     where "rule" was given the type:14481449         # type: dynamic()1450         # from: lib/parse/zoneinfo/parser.ex:389:351451         rule14521453     when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"14541455     type warning found at:1456     │1457 391 │       parse_tz(:dst_abbr, rest, %Rule{rule | std_offset: offset, dst_offset: offset})1458     │                                 ~1459     │1460     └─ lib/parse/zoneinfo/parser.ex:391:33: Timex.Parse.ZoneInfo.Parser.parse_tz/314611462     warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:14631464         %Timex.Parse.ZoneInfo.Parser.Rule{rule | dst_abbr: abbr}14651466     but got type:14671468         dynamic()14691470     where "rule" was given the type:14711472         # type: dynamic()1473         # from: lib/parse/zoneinfo/parser.ex:405:331474         rule14751476     when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"14771478     type warning found at:1479     │1480 407 │          rule = %Rule{rule | dst_abbr: abbr} do1481     │                 ~1482     │1483     └─ lib/parse/zoneinfo/parser.ex:407:17: Timex.Parse.ZoneInfo.Parser.parse_tz/314841485     warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:14861487         %Timex.Parse.ZoneInfo.Parser.Rule{rule | dst_offset: offset}14881489     but got type:14901491         dynamic()14921493     where "rule" was given the type:14941495         # type: dynamic()1496         # from: lib/parse/zoneinfo/parser.ex:424:351497         rule14981499     when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"15001501     type warning found at:1502     │1503 426 │          rule = %Rule{rule | dst_offset: offset} do1504     │                 ~1505     │1506     └─ lib/parse/zoneinfo/parser.ex:426:17: Timex.Parse.ZoneInfo.Parser.parse_tz/315071508     warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:15091510         %Timex.Parse.ZoneInfo.Parser.Rule{rule | start_time: start_time, end_time: end_time}15111512     but got type:15131514         dynamic()15151516     where "rule" was given the type:15171518         # type: dynamic()1519         # from: lib/parse/zoneinfo/parser.ex:449:361520         rule15211522     when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"15231524     type warning found at:1525     │1526 454 │           {:ok, %Rule{rule | start_time: start_time, end_time: end_time}, rest}1527     │                 ~1528     │1529     └─ lib/parse/zoneinfo/parser.ex:454:17: Timex.Parse.ZoneInfo.Parser.parse_tz/315301531     warning: the following clause will never match:15321533         :error ->15341535     it is expected to match on type:15361537         dynamic({:error, :invalid_number, binary()})15381539     type warning found at:1540     │1541 528 │       :error ->1542     │       ~~~~~~~~~1543     │1544     └─ lib/parse/zoneinfo/parser.ex:528: Timex.Parse.ZoneInfo.Parser.parse_month_week_day/315451546Generated timex app1547==> property_table1548Compiling 8 files (.ex)1549Generated property_table app1550==> nerves_uevent1551 CC uevent.o1552 LD uevent1553Compiling 5 files (.ex)1554Generated nerves_uevent app1555==> nerves_runtime1556Compiling 14 files (.ex)1557Generated nerves_runtime app1558==> toolshed1559Compiling 5 files (.ex)1560Generated toolshed app1561==> nerves_compatibility_test1562===> Analyzing applications...1563===> Compiling cowboy_telemetry1564==> plug_cowboy1565Compiling 5 files (.ex)1566Generated plug_cowboy app1567==> websock1568Compiling 1 file (.ex)1569Generated websock app1570==> websock_adapter1571Compiling 4 files (.ex)1572Generated websock_adapter app1573warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1574  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21575  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11576  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51577  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21578  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41579  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/215801581==> phoenix1582Compiling 71 files (.ex)1583    warning: unused require Logger1584    │1585  9 │   require Logger1586    │   ~1587    │1588    └─ lib/phoenix/config.ex:9:315891590     warning: unused require Logger1591     │1592 281 │   require Logger1593     │   ~1594     │1595     └─ lib/phoenix/endpoint.ex:281:315961597    warning: unused require Phoenix.Endpoint1598    │1599  6 │   require Phoenix.Endpoint1600    │   ~1601    │1602    └─ lib/phoenix/controller.ex:6:316031604    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 operator1605    │1606 46 │       <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix1607    │                             ~1608    │1609    └─ lib/phoenix/naming.ex:46:29: Phoenix.Naming.unsuffix/216101611    warning: unused require Phoenix.Endpoint1612    │1613 17 │   require Phoenix.Endpoint1614    │   ~1615    │1616    └─ lib/phoenix/endpoint/render_errors.ex:17:316171618    warning: unused require Logger1619    │1620 70 │   require Logger1621    │   ~1622    │1623    └─ lib/phoenix/socket/pool_supervisor.ex:70:316241625    warning: unused require Phoenix.Endpoint1626    │1627  6 │   require Phoenix.Endpoint1628    │   ~1629    │1630    └─ lib/phoenix/channel/server.ex:6:316311632     warning: unused require Phoenix.Endpoint1633     │1634 202 │   require Phoenix.Endpoint1635     │   ~1636     │1637     └─ lib/phoenix/socket.ex:202:316381639     warning: unused require Logger1640     │1641 100 │   require Logger1642     │   ~1643     │1644     └─ lib/phoenix/token.ex:100:316451646     warning: comparison between distinct types found:16471648         merge_all != []16491650     given types:16511652         dynamic(non_empty_list({atom(), term()})) != empty_list()16531654     where "merge_all" was given the type:16551656         # type: dynamic(non_empty_list({atom(), term()}))1657         # from: lib/phoenix/router/route.ex:121:151658         merge_all = merge_params ++ merge_private ++ merge_assigns16591660     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 false16611662     type warning found at:1663     │1664 123 │     if merge_all != [] do1665     │                  ~1666     │1667     └─ lib/phoenix/router/route.ex:123:18: Phoenix.Router.Route.build_prepare/116681669    warning: a struct for Plug.Conn is expected on struct update:16701671        %Plug.Conn{conn | state: :sent}16721673    but got type:16741675        dynamic()16761677    where "conn" was given the type:16781679        # type: dynamic()1680        # from: lib/phoenix/endpoint/render_errors.ex:55:171681        conn16821683    when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"16841685    type warning found at:1686    │1687 60 │           %Plug.Conn{conn | state: :sent}1688    │           ~1689    │1690    └─ lib/phoenix/endpoint/render_errors.ex:60:11: Phoenix.Endpoint.RenderErrors.__catch__/516911692     warning: a struct for Plug.Conn is expected on struct update:16931694         %Plug.Conn{conn | query_params: %{}, params: %{}}16951696     but got type:16971698         dynamic(%{..., params: %Plug.Conn.Unfetched{}})16991700     where "conn" was given the types:17011702         # type: dynamic(%{..., params: term()})1703         # from: lib/phoenix/endpoint/render_errors.ex:133:171704         conn.params17051706         # type: dynamic(%{..., params: %Plug.Conn.Unfetched{}})1707         # from: lib/phoenix/endpoint/render_errors.ex:133:171708         conn.params17091710     when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"17111712     type warning found at:1713     │1714 134 │         %Plug.Conn.Unfetched{} -> %Plug.Conn{conn | query_params: %{}, params: %{}}1715     │                                   ~1716     │1717     └─ lib/phoenix/endpoint/render_errors.ex:134:35: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/117181719     warning: a struct for Plug.Conn is expected on struct update:17201721         %Plug.Conn{conn | query_params: %{}, params: params}17221723     but got type:17241725         dynamic(%{..., params: not %Plug.Conn.Unfetched{}})17261727     where "conn" was given the types:17281729         # type: dynamic(%{..., params: term()})1730         # from: lib/phoenix/endpoint/render_errors.ex:133:171731         conn.params17321733         # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})1734         # from: lib/phoenix/endpoint/render_errors.ex:133:171735         conn.params17361737     when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"17381739     type warning found at:1740     │1741 135 │         params -> %Plug.Conn{conn | query_params: %{}, params: params}1742     │                   ~1743     │1744     └─ lib/phoenix/endpoint/render_errors.ex:135:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/117451746      warning: a struct for Plug.Conn is expected on struct update:17471748          %Plug.Conn{conn | params: params}17491750      but got type:17511752          dynamic(%{..., params: map()})17531754      where "conn" was given the type:17551756          # type: dynamic(%{..., params: map()})1757          # from: lib/phoenix/controller.ex:1327:171758          Map.get(conn.params, required_key)17591760      when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"17611762      type warning found at:1763      │1764 1334 │     %Plug.Conn{conn | params: params}1765      │     ~1766      │1767      └─ lib/phoenix/controller.ex:1334:5: Phoenix.Controller.scrub_params/217681769Generated phoenix app1770warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1771  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21772  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11773  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51774  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21775  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41776  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/217771778==> phoenix_live_view1779Compiling 39 files (.ex)1780    warning: unused require Logger1781    │1782 48 │   require Logger1783    │   ~1784    │1785    └─ lib/phoenix_live_view/socket.ex:48:317861787    warning: unused require Phoenix.ChannelTest1788    │1789  5 │   require Phoenix.ChannelTest1790    │   ~1791    │1792    └─ lib/phoenix_live_view/test/upload_client.ex:5:317931794     warning: unused require Phoenix.ChannelTest1795     │1796 183 │   require Phoenix.ChannelTest1797     │   ~1798     │1799     └─ lib/phoenix_live_view/test/live_view_test.ex:183:318001801     warning: unused require Phoenix.ConnTest1802     │1803 182 │   require Phoenix.ConnTest1804     │   ~1805     │1806     └─ lib/phoenix_live_view/test/live_view_test.ex:182:318071808    warning: unused require Logger1809    │1810  6 │   require Logger1811    │   ~1812    │1813    └─ lib/phoenix_live_view/upload_channel.ex:6:318141815     warning: a struct for Phoenix.LiveView.Socket is expected on struct update:18161817         %Phoenix.LiveView.Socket{1818           socket1819           | assigns: Map.merge(temp_assigns, socket.assigns),1820             private:1821               Map.update(1822                 socket.private,1823                 :temporary_assigns,1824                 temp_assigns,1825                 &Map.merge(&1, temp_assigns)1826               )1827         }18281829     but got type:18301831         dynamic()18321833     where "socket" was given the type:18341835         # type: dynamic()1836         # from: lib/phoenix_live_view/utils.ex:415:281837         socket18381839     when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"18401841     type warning found at:1842     │1843 422 │     %Socket{1844     │     ~1845     │1846     └─ lib/phoenix_live_view/utils.ex:422:5: Phoenix.LiveView.Utils.handle_mount_option/318471848    warning: the following clause will never match:18491850        {:error, reason} ->18511852    because it attempts to match on the result of:18531854        IO.binwrite(state.file, data)18551856    which has type:18571858        dynamic(not {:error, term()})18591860    type warning found at:1861    │1862 23 │       {:error, reason} -> {:error, reason, state}1863    │       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1864    │1865    └─ lib/phoenix_live_view/upload_tmp_file_writer.ex:23: Phoenix.LiveView.UploadTmpFileWriter.write_chunk/218661867     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:18681869         %Phoenix.LiveView.UploadEntry{1870           entry1871           | preflighted?: entry.preflighted? || Enum.__in__(entry.ref, refs)1872         }18731874     but got type:18751876         dynamic()18771878     where "entry" was given the type:18791880         # type: dynamic()1881         # from: lib/phoenix_live_view/upload_config.ex:362:171882         entry <- conf.entries18831884     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"18851886     type warning found at:1887     │1888 363 │         %UploadEntry{entry | preflighted?: entry.preflighted? || entry.ref in refs}1889     │         ~1890     │1891     └─ lib/phoenix_live_view/upload_config.ex:363:9: Phoenix.LiveView.UploadConfig.mark_preflighted/218921893     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:18941895         %Phoenix.LiveView.UploadEntry{entry | valid?: true, uuid: generate_uuid()}18961897     but got type:18981899         dynamic()19001901     where "entry" was given the type:19021903         # type: dynamic()1904         # from: lib/phoenix_live_view/upload_config.ex:572:301905         entry19061907     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"19081909     type warning found at:1910     │1911 573 │     entry = %UploadEntry{entry | valid?: true, uuid: generate_uuid()}1912     │             ~1913     │1914     └─ lib/phoenix_live_view/upload_config.ex:573:13: Phoenix.LiveView.UploadConfig.put_valid_entry/219151916     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:19171918         %Phoenix.LiveView.UploadEntry{entry | valid?: false}19191920     but got type:19211922         dynamic()19231924     where "entry" was given the type:19251926         # type: dynamic()1927         # from: lib/phoenix_live_view/upload_config.ex:585:321928         entry19291930     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"19311932     type warning found at:1933     │1934 586 │     entry = %UploadEntry{entry | valid?: false}1935     │             ~1936     │1937     └─ lib/phoenix_live_view/upload_config.ex:586:13: Phoenix.LiveView.UploadConfig.put_invalid_entry/319381939     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:19401941         %Phoenix.LiveView.UploadEntry{entry | cancelled?: true}19421943     but got type:19441945         dynamic()19461947     where "entry" was given the type:19481949         # type: dynamic()1950         # from: lib/phoenix_live_view/upload_config.ex:669:421951         entry19521953     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"19541955     type warning found at:1956     │1957 669 │         update_entry(conf, entry.ref, fn entry -> %UploadEntry{entry | cancelled?: true} end)1958     │                                                   ~1959     │1960     └─ lib/phoenix_live_view/upload_config.ex:669:51: Phoenix.LiveView.UploadConfig.cancel_entry/219611962      warning: the following clause is redundant:19631964          def update(assigns, _key, fun) when is_function(fun, 1) or is_function(fun, 2)19651966      it has type:19671968          dynamic(), dynamic(), dynamic((none() -> term()) or (none(), none() -> term()))19691970      previous clauses have already matched on the following types:19711972          %Phoenix.LiveView.Socket{}, term(), (none(), none() -> term())1973          %Phoenix.LiveView.Socket{}, term(), (none() -> term())1974          term(), term(), (none(), none() -> term())1975          term(), term(), (none() -> term())19761977      │1978 1378 │   def update(assigns, _key, fun) when is_function(fun, 1) or is_function(fun, 2) do1979      │       ~1980      │1981      └─ lib/phoenix_component.ex:1378:7: Phoenix.Component.update/319821983    warning: Logger.disable/1 is deprecated. Use Logger.put_process_level(pid, :none) instead1984    │1985 73 │     Logger.disable(self())1986    │            ~1987    │1988    └─ lib/phoenix_live_view/test/client_proxy.ex:73:12: Phoenix.LiveViewTest.ClientProxy.init/119891990     warning: a struct for Phoenix.LiveViewTest.ClientProxy is expected on struct update:19911992         %Phoenix.LiveViewTest.ClientProxy{view | rendered: rendered}19931994     but got type:19951996         dynamic(%{..., rendered: map()})19971998     where "view" was given the type:19992000         # type: dynamic(%{..., rendered: map()})2001         # from: lib/phoenix_live_view/test/client_proxy.ex:727:262002         Phoenix.LiveViewTest.DOM.merge_diff(view.rendered, diff)20032004     when defining the variable "view", you must also pattern match on "%Phoenix.LiveViewTest.ClientProxy{}"20052006     type warning found at:2007     │2008 728 │           new_view = %ClientProxy{view | rendered: rendered}2009     │                      ~2010     │2011     └─ lib/phoenix_live_view/test/client_proxy.ex:728:22: Phoenix.LiveViewTest.ClientProxy.merge_rendered/320122013     warning: the right-hand side of || (shown as ... below) will never be executed:20142015         conn.private[:live_view_connect_info] || prune_conn(conn) || ...20162017     because the left-hand side always evaluates to:20182019         dynamic(not false and not nil)20202021     where "conn" was given the types:20222023         # type: dynamic(%Plug.Conn{assigns: %{..., live_module: term()}, status: integer()})2024         # from: lib/phoenix_live_view/test/live_view_test.ex:319:722025         %Plug.Conn{status: 200, assigns: %{live_module: live_module}} = conn20262027         # type: dynamic(%Plug.Conn{2028           assigns: %{..., live_module: term()},2029           private:2030             %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or2031               non_struct_map(),2032           status: integer()2033         })2034         # from: lib/phoenix_live_view/test/live_view_test.ex:333:352035         conn.private[:live_view_connect_params]20362037     type warning found at:2038     │2039 334 │       connect_info: conn.private[:live_view_connect_info] || prune_conn(conn) || %{},2040     │       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2041     │2042     └─ lib/phoenix_live_view/test/live_view_test.ex:334: Phoenix.LiveViewTest.connect_from_static_token/220432044     warning: a struct for Phoenix.LiveView.Socket is expected on struct update:20452046         %Phoenix.LiveView.Socket{2047           socket2048           | assigns: %Phoenix.LiveView.Socket.AssignsNotInSocket{__assigns__: assigns}2049         }20502051     but got type:20522053         dynamic(%{..., assigns: term()})20542055     where "socket" was given the type:20562057         # type: dynamic(%{..., assigns: term()})2058         # from: lib/phoenix_live_view/renderer.ex:121:432059         %{assigns: assigns} = socket20602061     when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"20622063     type warning found at:2064     │2065 122 │     socket = %Socket{socket | assigns: %Socket.AssignsNotInSocket{__assigns__: assigns}}2066     │              ~2067     │2068     └─ lib/phoenix_live_view/renderer.ex:122:14: Phoenix.LiveView.Renderer.render_assigns/120692070     warning: the following pattern will never match:20712072         template = Phoenix.LiveView.Utils.normalize_layout(template)20732074     because the right-hand side has type:20752076         none()20772078     where "template" was given the types:20792080         # type: binary()2081         # from: lib/phoenix_live_view/router.ex:299:662082         is_binary(template)20832084         # type: binary()2085         # from: lib/phoenix_live_view/router.ex2086         {:root_layout, {mod, template}}20872088     type warning found at:2089     │2090 300 │         template = Phoenix.LiveView.Utils.normalize_layout(template)2091     │                  ~2092     │2093     └─ lib/phoenix_live_view/router.ex:300:18: Phoenix.LiveView.Router.validate_live_session_opts/320942095     warning: the following pattern will never match:20962097         template = Phoenix.LiveView.Utils.normalize_layout(template)20982099     because the right-hand side has type:21002101         none()21022103     where "template" was given the types:21042105         # type: binary()2106         # from: lib/phoenix_live_view/router.ex:316:612107         is_binary(template)21082109         # type: binary()2110         # from: lib/phoenix_live_view/router.ex2111         {:layout, {mod, template}}21122113     type warning found at:2114     │2115 317 │         template = Phoenix.LiveView.Utils.normalize_layout(template)2116     │                  ~2117     │2118     └─ lib/phoenix_live_view/router.ex:317:18: Phoenix.LiveView.Router.validate_live_session_opts/321192120     warning: the following clause is redundant:21212122         def to_iodata(%_{} = struct)21232124     it has type:21252126         dynamic(%Phoenix.LiveView.Rendered{})21272128     previous clauses have already matched on the following types:21292130         %Phoenix.LiveView.Rendered{}21312132     │2133 152 │     def to_iodata(%_{} = struct) do2134     │         ~2135     │2136     └─ lib/phoenix_live_view/engine.ex:152:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/121372138     warning: the 1st pattern in clause will never match:21392140         nil21412142     because it is expected to receive type:21432144         dynamic(%Phoenix.LiveView.Rendered{})21452146     hint: defimpl for Phoenix.LiveView.Rendered requires its callbacks to match exclusively on %Phoenix.LiveView.Rendered{}21472148     type warning found at:2149     │2150 156 │     def to_iodata(nil) do2151     │     ~~~~~~~~~~~~~~~~~~~~~2152     │2153     └─ lib/phoenix_live_view/engine.ex:156: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/121542155     warning: the following clause is redundant:21562157         def to_iodata(other)21582159     it has type:21602161         dynamic(%Phoenix.LiveView.Rendered{})21622163     previous clauses have already matched on the following types:21642165         %Phoenix.LiveView.Rendered{}21662167     │2168 160 │     def to_iodata(other) do2169     │         ~2170     │2171     └─ lib/phoenix_live_view/engine.ex:160:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/121722173     warning: this clause of defp class_names/1 is never used (or it will always fail/warn when invoked)2174     │2175 903 │   defp class_names(nil), do: []2176     │        ~2177     │2178     └─ lib/phoenix_live_view/js.ex:903:8: Phoenix.LiveView.JS.class_names/121792180Generated phoenix_live_view app2181warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"2182  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/22183  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/12184  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/52185  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/22186  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/42187  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/221882189==> phoenix_live_dashboard2190Compiling 36 files (.ex)2191Generated phoenix_live_dashboard app2192==> uuid2193Compiling 1 file (.ex)2194    warning: use Bitwise is deprecated. import Bitwise instead2195    │2196  2 │   use Bitwise, only_operators: true2197    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2198    │2199    └─ lib/uuid.ex:2: UUID (module)22002201Generated uuid app2202==> memorex2203Compiling 35 files (.ex)2204warning: defining a Gettext backend by calling22052206    use Gettext, otp_app: ...22072208is deprecated. To define a backend, call:22092210    use Gettext.Backend, otp_app: :my_app22112212Then, instead of importing your backend, call this in your module:22132214    use Gettext, backend: MyApp.Gettext22152216  lib/memorex_web/gettext.ex:23: MemorexWeb.Gettext (module)22172218    error: module Phoenix.View is not loaded and could not be found. This may be happening because the module you are trying to load directly or indirectly depends on the current module2219    │2220  4 │   use MemorexWeb, :live_view2221    │   ^^^^^^^^^^^^^^^^^^^^^^^^^^2222    │2223    └─ lib/memorex_web/live/card_live/edit.ex:4: MemorexWeb.CardLive.Edit (module)22242225    error: module Phoenix.View is not loaded and could not be found. This may be happening because the module you are trying to load directly or indirectly depends on the current module2226    │2227  4 │   use MemorexWeb, :live_component2228    │   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^2229    │2230    └─ lib/memorex_web/live/card_live/card_component.ex:4: MemorexWeb.CardLive.CardComponent (module)223122322233== Compilation error in file lib/memorex_web/live/card_live/edit.ex ==2234** (CompileError) lib/memorex_web/live/card_live/edit.ex: cannot compile module MemorexWeb.CardLive.Edit (errors have been logged)2235    expanding macro: MemorexWeb.__using__/12236    lib/memorex_web/live/card_live/edit.ex:4: MemorexWeb.CardLive.Edit (module)2237    (elixir 1.20.3) expanding macro: Kernel.use/22238    lib/memorex_web/live/card_live/edit.ex:4: MemorexWeb.CardLive.Edit (module)2239could not compile dependency :memorex, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile memorex --force", update it with "mix deps.update memorex" or clean it with "mix deps.clean memorex"