memorex

Build log

nerves_system_qemu_aarch64

memorex 0.2.4 · fail · run memorex-0.2.4-1790999673734
2240 of 2240 lines
1Resolving Hex dependencies...2Resolution completed in 0.708s3Unchanged: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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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_qemu_aarch64687Compiling 1 file (.ex)688Generated nerves_system_qemu_aarch64 app689==> nerves_compatibility_test690===> Analyzing applications...691===> Compiling telemetry692==> telemetry_metrics693Compiling 7 files (.ex)694     warning: unused require Logger695     │696 391 │   require Logger697     │   ~698     │699     └─ lib/telemetry_metrics.ex:391:3700701Generated telemetry_metrics app702==> nerves_compatibility_test703===> Analyzing applications...704===> Compiling telemetry_poller705==> db_connection706Compiling 18 files (.ex)707Generated db_connection app708==> ecto709Compiling 56 files (.ex)710Generated ecto app711==> nerves_compatibility_test712===> Analyzing applications...713===> Compiling cowboy714==> expo715Compiling 2 files (.erl)716Compiling 22 files (.ex)717Generated expo app718==> gettext719Compiling 18 files (.ex)720     warning: unused require Gettext.Macros721     │722 594 │   require Gettext.Macros723     │   ~724     │725     └─ lib/gettext.ex:594:3726727     warning: the following clause is redundant:728729         defp ensure_empty_msgstr!(%Expo.Message.Plural{} = message)730731     it has type:732733         dynamic(%Expo.Message.Plural{})734735     previous clauses have already matched on the following types:736737         %Expo.Message.Singular{}738         %Expo.Message.Plural{}739740     │741 391 │   defp ensure_empty_msgstr!(%Message.Plural{} = message) do742     │        ~743     │744     └─ lib/gettext/extractor.ex:391:8: Gettext.Extractor.ensure_empty_msgstr!/1745746     warning: Kernel.ParallelCompiler.async/1 is deprecated. Use `pmap/2` instead747     │748 426 │               Kernel.ParallelCompiler.async(fn ->749     │                                       ~750     │751     └─ lib/gettext/compiler.ex:426:39: Gettext.Compiler.compile_po_files/3752753Generated gettext app754==> phoenix_pubsub755Compiling 12 files (.ex)756Generated phoenix_pubsub app757==> plug758Compiling 1 file (.erl)759Compiling 42 files (.ex)760Generated plug app761==> phoenix_html762Compiling 9 files (.ex)763    warning: comparison between distinct types found:764765        id == nil766767    given types:768769        dynamic(not false and not nil and not binary()) == nil770771    where "id" was given the types:772773        # type: dynamic(not false and not nil)774        # from: lib/phoenix_html/form_data.ex:92:8775        id = Keyword.get(opts, :id) || name776777        # type: dynamic(not false and not nil and not binary())778        # from: lib/phoenix_html/form_data.ex:94:12779        is_binary(id)780781    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 false782783    type warning found at:784    │785 94 │     unless is_binary(id) or is_nil(id) do786    │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~787    │788    └─ lib/phoenix_html/form_data.ex:94: Phoenix.HTML.FormData.Atom.to_form/2789790    warning: the 1st pattern in clause will never match:791792        60793794    because it is expected to receive type:795796        dynamic(empty_list() or non_empty_list(term(), term()))797798    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())799800    type warning found at:801    │802 56 │   def to_iodata(?<), do: "&lt;"803    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~804    │805    └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/1806807    warning: the 1st pattern in clause will never match:808809        62810811    because it is expected to receive type:812813        dynamic(empty_list() or non_empty_list(term(), term()))814815    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())816817    type warning found at:818    │819 57 │   def to_iodata(?>), do: "&gt;"820    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~821    │822    └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/1823824    warning: the 1st pattern in clause will never match:825826        38827828    because it is expected to receive type:829830        dynamic(empty_list() or non_empty_list(term(), term()))831832    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())833834    type warning found at:835    │836 58 │   def to_iodata(?&), do: "&amp;"837    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~838    │839    └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/1840841    warning: the 1st pattern in clause will never match:842843        34844845    because it is expected to receive type:846847        dynamic(empty_list() or non_empty_list(term(), term()))848849    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())850851    type warning found at:852    │853 59 │   def to_iodata(?"), do: "&quot;"854    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~855    │856    └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/1857858    warning: the 1st pattern in clause will never match:859860        39861862    because it is expected to receive type:863864        dynamic(empty_list() or non_empty_list(term(), term()))865866    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())867868    type warning found at:869    │870 60 │   def to_iodata(?'), do: "&#39;"871    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~872    │873    └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/1874875    warning: the 1st pattern in clause will never match:876877        {:safe, data}878879    because it is expected to receive type:880881        dynamic(empty_list() or non_empty_list(term(), term()))882883    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())884885    type warning found at:886    │887 76 │   def to_iodata({:safe, data}) do888    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~889    │890    └─ lib/phoenix_html/safe.ex:76: Phoenix.HTML.Safe.List.to_iodata/1891892    warning: the following clause is redundant:893894        def to_iodata(other)895896    it has type:897898        dynamic(empty_list() or non_empty_list(term(), term()))899900    previous clauses have already matched on the following types:901902        non_empty_list(term(), term())903        empty_list()904905    │906 80 │   def to_iodata(other) do907    │       ~908    │909    └─ lib/phoenix_html/safe.ex:80:7: Phoenix.HTML.Safe.List.to_iodata/1910911    warning: the 1st pattern in clause will never match:912913        h914915    because it is expected to receive type:916917        dynamic(empty_list() or non_empty_list(term(), term()))918919    where "h" was given the type:920921        # type: integer()922        # from: lib/phoenix_html/safe.ex:62:25923        is_integer(h)924925    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())926927    type warning found at:928    │929 62 │   def to_iodata(h) when is_integer(h) and h <= 255 do930    │                 ~931    │932    └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/1933934    warning: the 1st pattern in clause will never match:935936        h937938    because it is expected to receive type:939940        dynamic(empty_list() or non_empty_list(term(), term()))941942    where "h" was given the type:943944        # type: integer()945        # from: lib/phoenix_html/safe.ex:66:25946        is_integer(h)947948    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())949950    type warning found at:951    │952 66 │   def to_iodata(h) when is_integer(h) do953    │                 ~954    │955    └─ lib/phoenix_html/safe.ex:66:17: Phoenix.HTML.Safe.List.to_iodata/1956957    warning: the 1st pattern in clause will never match:958959        h960961    because it is expected to receive type:962963        dynamic(empty_list() or non_empty_list(term(), term()))964965    where "h" was given the type:966967        # type: binary()968        # from: lib/phoenix_html/safe.ex:72:25969        is_binary(h)970971    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())972973    type warning found at:974    │975 72 │   def to_iodata(h) when is_binary(h) do976    │                 ~977    │978    └─ lib/phoenix_html/safe.ex:72:17: Phoenix.HTML.Safe.List.to_iodata/1979980Generated phoenix_html app981==> phoenix_template982Compiling 4 files (.ex)983Generated phoenix_template app984warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"985  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2986  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1987  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5988  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2989  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4990  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2991992==> postgrex993Compiling 70 files (.ex)994Generated postgrex app995==> ecto_sql996Compiling 25 files (.ex)997Generated ecto_sql app998warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"999  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21000  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11001  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51002  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21003  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41004  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/210051006==> phoenix_ecto1007Compiling 7 files (.ex)1008Generated phoenix_ecto app1009==> uboot_env1010Compiling 5 files (.ex)1011Generated uboot_env app1012==> timex1013Compiling 62 files (.ex)1014    warning: default arguments in protocol definitions is deprecated1015    │1016 84 │   def compare(a, b, granularity \\ :microsecond)1017    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1018    │1019    └─ lib/comparable/comparable.ex:84: Timex.Comparable (module)10201021     warning: default arguments in protocol definitions is deprecated1022     │1023 139 │   def diff(a, b, granularity \\ :microsecond)1024     │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1025     │1026     └─ lib/comparable/comparable.ex:139: Timex.Comparable (module)10271028    warning: protocols can only define functions without implementation via def/1, found: compare/2, diff/21029    │1030  1 │ defprotocol Timex.Comparable do1031    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1032    │1033    └─ lib/comparable/comparable.ex:1: Timex.Comparable (module)10341035     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 operator1036     │1037 317 │     <<abbrevs::bytes(len), rest::binary>> = data1038     │                      ~1039     │1040     └─ lib/parse/zoneinfo/parser.ex:317:22: Timex.Parse.ZoneInfo.Parser.parse_abbreviations/410411042    warning: default arguments in protocol definitions is deprecated1043    │1044 48 │   def to_datetime(datetime, timezone \\ :utc)1045    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1046    │1047    └─ lib/protocol.ex:48: Timex.Protocol (module)10481049    warning: protocols can only define functions without implementation via def/1, found: to_datetime/11050    │1051  1 │ defprotocol Timex.Protocol do1052    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1053    │1054    └─ lib/protocol.ex:1: Timex.Protocol (module)10551056    warning: unused require Timex.Macros1057    │1058  5 │   require Timex.Macros1059    │   ~1060    │1061    └─ lib/comparable/tuple.ex:5:310621063    warning: unused require Timex.Macros1064    │1065  5 │   require Timex.Macros1066    │   ~1067    │1068    └─ lib/comparable/naivedatetime.ex:5:310691070    warning: unused require Bitwise1071    │1072  5 │   require Bitwise1073    │   ~1074    │1075    └─ lib/calendar/julian.ex:5:310761077Compiling lib/l10n/gettext.ex (it's taking more than 10s)1078     warning: the following clause will never match:10791080         {ty, a, b} when ty === :gap or ty === :ambiguous ->10811082     it is expected to match on type:10831084         dynamic({:error, term()} and not {:ok, %{..., time_zone: term()}})10851086     where "ty" was given the type:10871088         # type: :ambiguous or :gap1089         # from: lib/timezone/timezone.ex:5481090         ty in [:gap, :ambiguous]10911092     type warning found at:1093     │1094 548 │       {ty, a, b} when ty in [:gap, :ambiguous] ->1095     │       ~1096     │1097     └─ lib/timezone/timezone.ex:548:7: Timex.Timezone.convert/210981099     warning: a struct for Timex.PosixTimezone is expected on struct update:11001101         %Timex.PosixTimezone{rule | std_abbr: abbr}11021103     but got type:11041105         dynamic()11061107     where "rule" was given the type:11081109         # type: dynamic()1110         # from: lib/parse/posix/parser.ex:119:331111         rule11121113     when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"11141115     type warning found at:1116     │1117 121 │       parse_tz(:std_offset, rest, %TZ{rule | std_abbr: abbr})1118     │                                   ~1119     │1120     └─ lib/parse/posix/parser.ex:121:35: Timex.Parse.Timezones.Posix.parse_tz/311211122     warning: a struct for Timex.PosixTimezone is expected on struct update:11231124         %Timex.PosixTimezone{rule | std_offset: offset}11251126     but got type:11271128         dynamic()11291130     where "rule" was given the type:11311132         # type: dynamic()1133         # from: lib/parse/posix/parser.ex:125:351134         rule11351136     when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"11371138     type warning found at:1139     │1140 127 │       parse_tz(:dst_abbr, rest, %TZ{rule | std_offset: offset})1141     │                                 ~1142     │1143     └─ lib/parse/posix/parser.ex:127:33: Timex.Parse.Timezones.Posix.parse_tz/311441145     warning: a struct for Timex.PosixTimezone is expected on struct update:11461147         %Timex.PosixTimezone{rule | dst_abbr: abbr}11481149     but got type:11501151         dynamic()11521153     where "rule" was given the type:11541155         # type: dynamic()1156         # from: lib/parse/posix/parser.ex:141:331157         rule11581159     when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"11601161     type warning found at:1162     │1163 143 │          rule = %TZ{rule | dst_abbr: abbr} do1164     │                 ~1165     │1166     └─ lib/parse/posix/parser.ex:143:17: Timex.Parse.Timezones.Posix.parse_tz/311671168     warning: a struct for Timex.PosixTimezone is expected on struct update:11691170         %Timex.PosixTimezone{rule | dst_offset: offset}11711172     but got type:11731174         dynamic()11751176     where "rule" was given the type:11771178         # type: dynamic()1179         # from: lib/parse/posix/parser.ex:160:351180         rule11811182     when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"11831184     type warning found at:1185     │1186 162 │          rule = %TZ{rule | dst_offset: offset} do1187     │                 ~1188     │1189     └─ lib/parse/posix/parser.ex:162:17: Timex.Parse.Timezones.Posix.parse_tz/311901191     warning: a struct for Timex.PosixTimezone is expected on struct update:11921193         %Timex.PosixTimezone{rule | dst_start: dst_start, dst_end: dst_end}11941195     but got type:11961197         dynamic()11981199     where "rule" was given the type:12001201         # type: dynamic()1202         # from: lib/parse/posix/parser.ex:185:361203         rule12041205     when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"12061207     type warning found at:1208     │1209 190 │           {:ok, %TZ{rule | dst_start: dst_start, dst_end: dst_end}, rest}1210     │                 ~1211     │1212     └─ lib/parse/posix/parser.ex:190:17: Timex.Parse.Timezones.Posix.parse_tz/312131214     warning: the following clause will never match:12151216         :error ->12171218     it is expected to match on type:12191220         dynamic({:error, :invalid_number, binary()})12211222     type warning found at:1223     │1224 264 │       :error ->1225     │       ~~~~~~~~~1226     │1227     └─ lib/parse/posix/parser.ex:264: Timex.Parse.Timezones.Posix.parse_month_week_day/312281229    warning: the following pattern will never match:12301231        {y, m, d} <- to_erl_datetime(date)12321233    because the right-hand side has type:12341235        dynamic(1236          {:error, :invalid_date} or1237            {:ok, {{integer(), integer(), integer()}, {integer(), integer(), integer()}}}1238        )12391240    where "date" was given the type:12411242        # type: dynamic({...})1243        # from: lib/datetime/erlang.ex:7:171244        date12451246    type warning found at:1247    │1248  8 │     with {y, m, d} <- to_erl_datetime(date),1249    │          ~1250    │1251    └─ lib/datetime/erlang.ex:8:10: Timex.Protocol.Tuple.to_julian/112521253     warning: the following clause is redundant:12541255         def shift(_, _)12561257     it has type:12581259         dynamic(%Date{}), dynamic()12601261     previous clauses have already matched on the following types:12621263         %Date{}, term()12641265     │1266 227 │   def shift(_, _), do: {:error, :badarg}1267     │       ~1268     │1269     └─ lib/date/date.ex:227:7: Timex.Protocol.Date.shift/212701271     warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:12721273         %Timex.Parse.ZoneInfo.Parser.Zone{zone | transitions: transitions, leaps: leaps}12741275     but got type:12761277         dynamic(%{..., leaps: term(), transitions: term()})12781279     where "zone" was given the types:12801281         # type: dynamic(%{..., rule: term()} or %{..., transitions: term()})1282         # from: lib/parse/zoneinfo/parser.ex:156:281283         {:ok, zone, rest} <- parse_content(1, data, %Timex.Parse.ZoneInfo.Parser.Zone{..., version: 1})12841285         # type: dynamic(%{..., transitions: term()})1286         # from: lib/parse/zoneinfo/parser.ex:157:261287         Enum.sort_by(zone.transitions, fn tx -> tx.starts_at end)12881289         # type: dynamic(%{..., leaps: term(), transitions: term()})1290         # from: lib/parse/zoneinfo/parser.ex:158:201291         Enum.sort_by(zone.leaps, fn leap -> leap.epoch end)12921293     when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"12941295     type warning found at:1296     │1297 159 │       {:ok, %Zone{zone | transitions: transitions, leaps: leaps}, rest}1298     │             ~1299     │1300     └─ lib/parse/zoneinfo/parser.ex:159:13: Timex.Parse.ZoneInfo.Parser.parse_versioned_content/213011302     warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:13031304         %Timex.Parse.ZoneInfo.Parser.Zone{zone | transitions: times}13051306     but got type:13071308         dynamic()13091310     where "zone" was given the type:13111312         # type: dynamic()1313         # from: lib/parse/zoneinfo/parser.ex:270:921314         zone13151316     when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"13171318     type warning found at:1319     │1320 272 │     parse_transition_info(version, rest, header, %Zone{zone | transitions: times})1321     │                                                  ~1322     │1323     └─ lib/parse/zoneinfo/parser.ex:272:50: Timex.Parse.ZoneInfo.Parser.parse_transition_times/413241325     warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:13261327         %Timex.Parse.ZoneInfo.Parser.Zone{zone | leaps: leaps}13281329     but got type:13301331         dynamic()13321333     where "zone" was given the type:13341335         # type: dynamic()1336         # from: lib/parse/zoneinfo/parser.ex:330:791337         zone13381339     when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"13401341     type warning found at:1342     │1343 344 │     parse_flags(version, rest, header, %Zone{zone | leaps: leaps})1344     │                                        ~1345     │1346     └─ lib/parse/zoneinfo/parser.ex:344:40: Timex.Parse.ZoneInfo.Parser.parse_leap_seconds/413471348     warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:13491350         %Timex.Parse.ZoneInfo.Parser.Zone{zone | transitions: transitions}13511352     but got type:13531354         dynamic(%{..., transitions: term()})13551356     where "zone" was given the type:13571358         # type: dynamic(%{..., transitions: term()})1359         # from: lib/parse/zoneinfo/parser.ex:354:151360         Enum.with_index(zone.transitions)13611362     when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"13631364     type warning found at:1365     │1366 362 │       parse_posixtz_string(version, rest, %Zone{zone | transitions: transitions})1367     │                                           ~1368     │1369     └─ lib/parse/zoneinfo/parser.ex:362:43: Timex.Parse.ZoneInfo.Parser.parse_flags/413701371     warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:13721373         %Timex.Parse.ZoneInfo.Parser.Zone{zone | transitions: transitions}13741375     but got type:13761377         dynamic(%{..., transitions: term()})13781379     where "zone" was given the type:13801381         # type: dynamic(%{..., transitions: term()})1382         # from: lib/parse/zoneinfo/parser.ex:354:151383         Enum.with_index(zone.transitions)13841385     when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"13861387     type warning found at:1388     │1389 364 │       {:ok, %Zone{zone | transitions: transitions}, rest}1390     │             ~1391     │1392     └─ lib/parse/zoneinfo/parser.ex:364:13: Timex.Parse.ZoneInfo.Parser.parse_flags/413931394     warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:13951396         %Timex.Parse.ZoneInfo.Parser.Zone{zone | rule: rule}13971398     but got type:13991400         dynamic()14011402     where "zone" was given the type:14031404         # type: dynamic()1405         # from: lib/parse/zoneinfo/parser.ex:369:621406         zone14071408     when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"14091410     type warning found at:1411     │1412 372 │       {:ok, %Zone{zone | rule: rule}, format_rest <> rest}1413     │             ~1414     │1415     └─ lib/parse/zoneinfo/parser.ex:372:13: Timex.Parse.ZoneInfo.Parser.parse_posixtz_string/314161417     warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:14181419         %Timex.Parse.ZoneInfo.Parser.Rule{rule | std_abbr: abbr, dst_abbr: abbr}14201421     but got type:14221423         dynamic()14241425     where "rule" was given the type:14261427         # type: dynamic()1428         # from: lib/parse/zoneinfo/parser.ex:383:331429         rule14301431     when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"14321433     type warning found at:1434     │1435 385 │       parse_tz(:std_offset, rest, %Rule{rule | std_abbr: abbr, dst_abbr: abbr})1436     │                                   ~1437     │1438     └─ lib/parse/zoneinfo/parser.ex:385:35: Timex.Parse.ZoneInfo.Parser.parse_tz/314391440     warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:14411442         %Timex.Parse.ZoneInfo.Parser.Rule{rule | std_offset: offset, dst_offset: offset}14431444     but got type:14451446         dynamic()14471448     where "rule" was given the type:14491450         # type: dynamic()1451         # from: lib/parse/zoneinfo/parser.ex:389:351452         rule14531454     when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"14551456     type warning found at:1457     │1458 391 │       parse_tz(:dst_abbr, rest, %Rule{rule | std_offset: offset, dst_offset: offset})1459     │                                 ~1460     │1461     └─ lib/parse/zoneinfo/parser.ex:391:33: Timex.Parse.ZoneInfo.Parser.parse_tz/314621463     warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:14641465         %Timex.Parse.ZoneInfo.Parser.Rule{rule | dst_abbr: abbr}14661467     but got type:14681469         dynamic()14701471     where "rule" was given the type:14721473         # type: dynamic()1474         # from: lib/parse/zoneinfo/parser.ex:405:331475         rule14761477     when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"14781479     type warning found at:1480     │1481 407 │          rule = %Rule{rule | dst_abbr: abbr} do1482     │                 ~1483     │1484     └─ lib/parse/zoneinfo/parser.ex:407:17: Timex.Parse.ZoneInfo.Parser.parse_tz/314851486     warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:14871488         %Timex.Parse.ZoneInfo.Parser.Rule{rule | dst_offset: offset}14891490     but got type:14911492         dynamic()14931494     where "rule" was given the type:14951496         # type: dynamic()1497         # from: lib/parse/zoneinfo/parser.ex:424:351498         rule14991500     when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"15011502     type warning found at:1503     │1504 426 │          rule = %Rule{rule | dst_offset: offset} do1505     │                 ~1506     │1507     └─ lib/parse/zoneinfo/parser.ex:426:17: Timex.Parse.ZoneInfo.Parser.parse_tz/315081509     warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:15101511         %Timex.Parse.ZoneInfo.Parser.Rule{rule | start_time: start_time, end_time: end_time}15121513     but got type:15141515         dynamic()15161517     where "rule" was given the type:15181519         # type: dynamic()1520         # from: lib/parse/zoneinfo/parser.ex:449:361521         rule15221523     when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"15241525     type warning found at:1526     │1527 454 │           {:ok, %Rule{rule | start_time: start_time, end_time: end_time}, rest}1528     │                 ~1529     │1530     └─ lib/parse/zoneinfo/parser.ex:454:17: Timex.Parse.ZoneInfo.Parser.parse_tz/315311532     warning: the following clause will never match:15331534         :error ->15351536     it is expected to match on type:15371538         dynamic({:error, :invalid_number, binary()})15391540     type warning found at:1541     │1542 528 │       :error ->1543     │       ~~~~~~~~~1544     │1545     └─ lib/parse/zoneinfo/parser.ex:528: Timex.Parse.ZoneInfo.Parser.parse_month_week_day/315461547Generated timex app1548==> property_table1549Compiling 8 files (.ex)1550Generated property_table app1551==> nerves_uevent1552 CC uevent.o1553 LD uevent1554Compiling 5 files (.ex)1555Generated nerves_uevent app1556==> nerves_runtime1557Compiling 14 files (.ex)1558Generated nerves_runtime app1559==> toolshed1560Compiling 5 files (.ex)1561Generated toolshed app1562==> nerves_compatibility_test1563===> Analyzing applications...1564===> Compiling cowboy_telemetry1565==> plug_cowboy1566Compiling 5 files (.ex)1567Generated plug_cowboy app1568==> websock1569Compiling 1 file (.ex)1570Generated websock app1571==> websock_adapter1572Compiling 4 files (.ex)1573Generated websock_adapter app1574warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1575  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21576  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11577  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51578  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21579  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41580  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/215811582==> phoenix1583Compiling 71 files (.ex)1584    warning: unused require Logger1585    │1586  9 │   require Logger1587    │   ~1588    │1589    └─ lib/phoenix/config.ex:9:315901591     warning: unused require Logger1592     │1593 281 │   require Logger1594     │   ~1595     │1596     └─ lib/phoenix/endpoint.ex:281:315971598    warning: unused require Phoenix.Endpoint1599    │1600  6 │   require Phoenix.Endpoint1601    │   ~1602    │1603    └─ lib/phoenix/controller.ex:6:316041605    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 operator1606    │1607 46 │       <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix1608    │                             ~1609    │1610    └─ lib/phoenix/naming.ex:46:29: Phoenix.Naming.unsuffix/216111612    warning: unused require Phoenix.Endpoint1613    │1614 17 │   require Phoenix.Endpoint1615    │   ~1616    │1617    └─ lib/phoenix/endpoint/render_errors.ex:17:316181619    warning: unused require Phoenix.Endpoint1620    │1621  6 │   require Phoenix.Endpoint1622    │   ~1623    │1624    └─ lib/phoenix/channel/server.ex:6:316251626     warning: unused require Phoenix.Endpoint1627     │1628 202 │   require Phoenix.Endpoint1629     │   ~1630     │1631     └─ lib/phoenix/socket.ex:202:316321633    warning: unused require Logger1634    │1635 70 │   require Logger1636    │   ~1637    │1638    └─ lib/phoenix/socket/pool_supervisor.ex:70:316391640     warning: unused require Logger1641     │1642 100 │   require Logger1643     │   ~1644     │1645     └─ lib/phoenix/token.ex:100:316461647     warning: comparison between distinct types found:16481649         merge_all != []16501651     given types:16521653         dynamic(non_empty_list({atom(), term()})) != empty_list()16541655     where "merge_all" was given the type:16561657         # type: dynamic(non_empty_list({atom(), term()}))1658         # from: lib/phoenix/router/route.ex:121:151659         merge_all = merge_params ++ merge_private ++ merge_assigns16601661     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 false16621663     type warning found at:1664     │1665 123 │     if merge_all != [] do1666     │                  ~1667     │1668     └─ lib/phoenix/router/route.ex:123:18: Phoenix.Router.Route.build_prepare/116691670    warning: a struct for Plug.Conn is expected on struct update:16711672        %Plug.Conn{conn | state: :sent}16731674    but got type:16751676        dynamic()16771678    where "conn" was given the type:16791680        # type: dynamic()1681        # from: lib/phoenix/endpoint/render_errors.ex:55:171682        conn16831684    when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"16851686    type warning found at:1687    │1688 60 │           %Plug.Conn{conn | state: :sent}1689    │           ~1690    │1691    └─ lib/phoenix/endpoint/render_errors.ex:60:11: Phoenix.Endpoint.RenderErrors.__catch__/516921693     warning: a struct for Plug.Conn is expected on struct update:16941695         %Plug.Conn{conn | query_params: %{}, params: %{}}16961697     but got type:16981699         dynamic(%{..., params: %Plug.Conn.Unfetched{}})17001701     where "conn" was given the types:17021703         # type: dynamic(%{..., params: term()})1704         # from: lib/phoenix/endpoint/render_errors.ex:133:171705         conn.params17061707         # type: dynamic(%{..., params: %Plug.Conn.Unfetched{}})1708         # from: lib/phoenix/endpoint/render_errors.ex:133:171709         conn.params17101711     when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"17121713     type warning found at:1714     │1715 134 │         %Plug.Conn.Unfetched{} -> %Plug.Conn{conn | query_params: %{}, params: %{}}1716     │                                   ~1717     │1718     └─ lib/phoenix/endpoint/render_errors.ex:134:35: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/117191720     warning: a struct for Plug.Conn is expected on struct update:17211722         %Plug.Conn{conn | query_params: %{}, params: params}17231724     but got type:17251726         dynamic(%{..., params: not %Plug.Conn.Unfetched{}})17271728     where "conn" was given the types:17291730         # type: dynamic(%{..., params: term()})1731         # from: lib/phoenix/endpoint/render_errors.ex:133:171732         conn.params17331734         # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})1735         # from: lib/phoenix/endpoint/render_errors.ex:133:171736         conn.params17371738     when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"17391740     type warning found at:1741     │1742 135 │         params -> %Plug.Conn{conn | query_params: %{}, params: params}1743     │                   ~1744     │1745     └─ lib/phoenix/endpoint/render_errors.ex:135:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/117461747      warning: a struct for Plug.Conn is expected on struct update:17481749          %Plug.Conn{conn | params: params}17501751      but got type:17521753          dynamic(%{..., params: map()})17541755      where "conn" was given the type:17561757          # type: dynamic(%{..., params: map()})1758          # from: lib/phoenix/controller.ex:1327:171759          Map.get(conn.params, required_key)17601761      when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"17621763      type warning found at:1764      │1765 1334 │     %Plug.Conn{conn | params: params}1766      │     ~1767      │1768      └─ lib/phoenix/controller.ex:1334:5: Phoenix.Controller.scrub_params/217691770Generated phoenix app1771warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1772  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21773  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11774  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51775  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21776  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41777  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/217781779==> phoenix_live_view1780Compiling 39 files (.ex)1781    warning: unused require Logger1782    │1783 48 │   require Logger1784    │   ~1785    │1786    └─ lib/phoenix_live_view/socket.ex:48:317871788     warning: unused require Phoenix.ChannelTest1789     │1790 183 │   require Phoenix.ChannelTest1791     │   ~1792     │1793     └─ lib/phoenix_live_view/test/live_view_test.ex:183:317941795     warning: unused require Phoenix.ConnTest1796     │1797 182 │   require Phoenix.ConnTest1798     │   ~1799     │1800     └─ lib/phoenix_live_view/test/live_view_test.ex:182:318011802    warning: unused require Phoenix.ChannelTest1803    │1804  5 │   require Phoenix.ChannelTest1805    │   ~1806    │1807    └─ lib/phoenix_live_view/test/upload_client.ex:5:318081809    warning: unused require Logger1810    │1811  6 │   require Logger1812    │   ~1813    │1814    └─ lib/phoenix_live_view/upload_channel.ex:6:318151816     warning: a struct for Phoenix.LiveView.Socket is expected on struct update:18171818         %Phoenix.LiveView.Socket{1819           socket1820           | assigns: Map.merge(temp_assigns, socket.assigns),1821             private:1822               Map.update(1823                 socket.private,1824                 :temporary_assigns,1825                 temp_assigns,1826                 &Map.merge(&1, temp_assigns)1827               )1828         }18291830     but got type:18311832         dynamic()18331834     where "socket" was given the type:18351836         # type: dynamic()1837         # from: lib/phoenix_live_view/utils.ex:415:281838         socket18391840     when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"18411842     type warning found at:1843     │1844 422 │     %Socket{1845     │     ~1846     │1847     └─ lib/phoenix_live_view/utils.ex:422:5: Phoenix.LiveView.Utils.handle_mount_option/318481849    warning: the following clause will never match:18501851        {:error, reason} ->18521853    because it attempts to match on the result of:18541855        IO.binwrite(state.file, data)18561857    which has type:18581859        dynamic(not {:error, term()})18601861    type warning found at:1862    │1863 23 │       {:error, reason} -> {:error, reason, state}1864    │       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1865    │1866    └─ lib/phoenix_live_view/upload_tmp_file_writer.ex:23: Phoenix.LiveView.UploadTmpFileWriter.write_chunk/218671868     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:18691870         %Phoenix.LiveView.UploadEntry{1871           entry1872           | preflighted?: entry.preflighted? || Enum.__in__(entry.ref, refs)1873         }18741875     but got type:18761877         dynamic()18781879     where "entry" was given the type:18801881         # type: dynamic()1882         # from: lib/phoenix_live_view/upload_config.ex:362:171883         entry <- conf.entries18841885     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"18861887     type warning found at:1888     │1889 363 │         %UploadEntry{entry | preflighted?: entry.preflighted? || entry.ref in refs}1890     │         ~1891     │1892     └─ lib/phoenix_live_view/upload_config.ex:363:9: Phoenix.LiveView.UploadConfig.mark_preflighted/218931894     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:18951896         %Phoenix.LiveView.UploadEntry{entry | valid?: true, uuid: generate_uuid()}18971898     but got type:18991900         dynamic()19011902     where "entry" was given the type:19031904         # type: dynamic()1905         # from: lib/phoenix_live_view/upload_config.ex:572:301906         entry19071908     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"19091910     type warning found at:1911     │1912 573 │     entry = %UploadEntry{entry | valid?: true, uuid: generate_uuid()}1913     │             ~1914     │1915     └─ lib/phoenix_live_view/upload_config.ex:573:13: Phoenix.LiveView.UploadConfig.put_valid_entry/219161917      warning: the following clause is redundant:19181919          def update(assigns, _key, fun) when is_function(fun, 1) or is_function(fun, 2)19201921      it has type:19221923          dynamic(), dynamic(), dynamic((none() -> term()) or (none(), none() -> term()))19241925      previous clauses have already matched on the following types:19261927          %Phoenix.LiveView.Socket{}, term(), (none(), none() -> term())1928          %Phoenix.LiveView.Socket{}, term(), (none() -> term())1929          term(), term(), (none(), none() -> term())1930          term(), term(), (none() -> term())19311932      │1933 1378 │   def update(assigns, _key, fun) when is_function(fun, 1) or is_function(fun, 2) do1934      │       ~1935      │1936      └─ lib/phoenix_component.ex:1378:7: Phoenix.Component.update/319371938     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:19391940         %Phoenix.LiveView.UploadEntry{entry | valid?: false}19411942     but got type:19431944         dynamic()19451946     where "entry" was given the type:19471948         # type: dynamic()1949         # from: lib/phoenix_live_view/upload_config.ex:585:321950         entry19511952     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"19531954     type warning found at:1955     │1956 586 │     entry = %UploadEntry{entry | valid?: false}1957     │             ~1958     │1959     └─ lib/phoenix_live_view/upload_config.ex:586:13: Phoenix.LiveView.UploadConfig.put_invalid_entry/319601961     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:19621963         %Phoenix.LiveView.UploadEntry{entry | cancelled?: true}19641965     but got type:19661967         dynamic()19681969     where "entry" was given the type:19701971         # type: dynamic()1972         # from: lib/phoenix_live_view/upload_config.ex:669:421973         entry19741975     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"19761977     type warning found at:1978     │1979 669 │         update_entry(conf, entry.ref, fn entry -> %UploadEntry{entry | cancelled?: true} end)1980     │                                                   ~1981     │1982     └─ lib/phoenix_live_view/upload_config.ex:669:51: Phoenix.LiveView.UploadConfig.cancel_entry/219831984    warning: Logger.disable/1 is deprecated. Use Logger.put_process_level(pid, :none) instead1985    │1986 73 │     Logger.disable(self())1987    │            ~1988    │1989    └─ lib/phoenix_live_view/test/client_proxy.ex:73:12: Phoenix.LiveViewTest.ClientProxy.init/119901991     warning: a struct for Phoenix.LiveViewTest.ClientProxy is expected on struct update:19921993         %Phoenix.LiveViewTest.ClientProxy{view | rendered: rendered}19941995     but got type:19961997         dynamic(%{..., rendered: map()})19981999     where "view" was given the type:20002001         # type: dynamic(%{..., rendered: map()})2002         # from: lib/phoenix_live_view/test/client_proxy.ex:727:262003         Phoenix.LiveViewTest.DOM.merge_diff(view.rendered, diff)20042005     when defining the variable "view", you must also pattern match on "%Phoenix.LiveViewTest.ClientProxy{}"20062007     type warning found at:2008     │2009 728 │           new_view = %ClientProxy{view | rendered: rendered}2010     │                      ~2011     │2012     └─ lib/phoenix_live_view/test/client_proxy.ex:728:22: Phoenix.LiveViewTest.ClientProxy.merge_rendered/320132014     warning: a struct for Phoenix.LiveView.Socket is expected on struct update:20152016         %Phoenix.LiveView.Socket{2017           socket2018           | assigns: %Phoenix.LiveView.Socket.AssignsNotInSocket{__assigns__: assigns}2019         }20202021     but got type:20222023         dynamic(%{..., assigns: term()})20242025     where "socket" was given the type:20262027         # type: dynamic(%{..., assigns: term()})2028         # from: lib/phoenix_live_view/renderer.ex:121:432029         %{assigns: assigns} = socket20302031     when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"20322033     type warning found at:2034     │2035 122 │     socket = %Socket{socket | assigns: %Socket.AssignsNotInSocket{__assigns__: assigns}}2036     │              ~2037     │2038     └─ lib/phoenix_live_view/renderer.ex:122:14: Phoenix.LiveView.Renderer.render_assigns/120392040     warning: the right-hand side of || (shown as ... below) will never be executed:20412042         conn.private[:live_view_connect_info] || prune_conn(conn) || ...20432044     because the left-hand side always evaluates to:20452046         dynamic(not false and not nil)20472048     where "conn" was given the types:20492050         # type: dynamic(%Plug.Conn{assigns: %{..., live_module: term()}, status: integer()})2051         # from: lib/phoenix_live_view/test/live_view_test.ex:319:722052         %Plug.Conn{status: 200, assigns: %{live_module: live_module}} = conn20532054         # type: dynamic(%Plug.Conn{2055           assigns: %{..., live_module: term()},2056           private:2057             %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or2058               non_struct_map(),2059           status: integer()2060         })2061         # from: lib/phoenix_live_view/test/live_view_test.ex:333:352062         conn.private[:live_view_connect_params]20632064     type warning found at:2065     │2066 334 │       connect_info: conn.private[:live_view_connect_info] || prune_conn(conn) || %{},2067     │       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2068     │2069     └─ lib/phoenix_live_view/test/live_view_test.ex:334: Phoenix.LiveViewTest.connect_from_static_token/220702071     warning: the following pattern will never match:20722073         template = Phoenix.LiveView.Utils.normalize_layout(template)20742075     because the right-hand side has type:20762077         none()20782079     where "template" was given the types:20802081         # type: binary()2082         # from: lib/phoenix_live_view/router.ex:299:662083         is_binary(template)20842085         # type: binary()2086         # from: lib/phoenix_live_view/router.ex2087         {:root_layout, {mod, template}}20882089     type warning found at:2090     │2091 300 │         template = Phoenix.LiveView.Utils.normalize_layout(template)2092     │                  ~2093     │2094     └─ lib/phoenix_live_view/router.ex:300:18: Phoenix.LiveView.Router.validate_live_session_opts/320952096     warning: the following pattern will never match:20972098         template = Phoenix.LiveView.Utils.normalize_layout(template)20992100     because the right-hand side has type:21012102         none()21032104     where "template" was given the types:21052106         # type: binary()2107         # from: lib/phoenix_live_view/router.ex:316:612108         is_binary(template)21092110         # type: binary()2111         # from: lib/phoenix_live_view/router.ex2112         {:layout, {mod, template}}21132114     type warning found at:2115     │2116 317 │         template = Phoenix.LiveView.Utils.normalize_layout(template)2117     │                  ~2118     │2119     └─ lib/phoenix_live_view/router.ex:317:18: Phoenix.LiveView.Router.validate_live_session_opts/321202121     warning: the following clause is redundant:21222123         def to_iodata(%_{} = struct)21242125     it has type:21262127         dynamic(%Phoenix.LiveView.Rendered{})21282129     previous clauses have already matched on the following types:21302131         %Phoenix.LiveView.Rendered{}21322133     │2134 152 │     def to_iodata(%_{} = struct) do2135     │         ~2136     │2137     └─ lib/phoenix_live_view/engine.ex:152:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/121382139     warning: the 1st pattern in clause will never match:21402141         nil21422143     because it is expected to receive type:21442145         dynamic(%Phoenix.LiveView.Rendered{})21462147     hint: defimpl for Phoenix.LiveView.Rendered requires its callbacks to match exclusively on %Phoenix.LiveView.Rendered{}21482149     type warning found at:2150     │2151 156 │     def to_iodata(nil) do2152     │     ~~~~~~~~~~~~~~~~~~~~~2153     │2154     └─ lib/phoenix_live_view/engine.ex:156: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/121552156     warning: the following clause is redundant:21572158         def to_iodata(other)21592160     it has type:21612162         dynamic(%Phoenix.LiveView.Rendered{})21632164     previous clauses have already matched on the following types:21652166         %Phoenix.LiveView.Rendered{}21672168     │2169 160 │     def to_iodata(other) do2170     │         ~2171     │2172     └─ lib/phoenix_live_view/engine.ex:160:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/121732174     warning: this clause of defp class_names/1 is never used (or it will always fail/warn when invoked)2175     │2176 903 │   defp class_names(nil), do: []2177     │        ~2178     │2179     └─ lib/phoenix_live_view/js.ex:903:8: Phoenix.LiveView.JS.class_names/121802181Generated phoenix_live_view app2182warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"2183  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/22184  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/12185  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/52186  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/22187  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/42188  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/221892190==> phoenix_live_dashboard2191Compiling 36 files (.ex)2192Generated phoenix_live_dashboard app2193==> uuid2194Compiling 1 file (.ex)2195    warning: use Bitwise is deprecated. import Bitwise instead2196    │2197  2 │   use Bitwise, only_operators: true2198    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2199    │2200    └─ lib/uuid.ex:2: UUID (module)22012202Generated uuid app2203==> memorex2204Compiling 35 files (.ex)2205warning: defining a Gettext backend by calling22062207    use Gettext, otp_app: ...22082209is deprecated. To define a backend, call:22102211    use Gettext.Backend, otp_app: :my_app22122213Then, instead of importing your backend, call this in your module:22142215    use Gettext, backend: MyApp.Gettext22162217  lib/memorex_web/gettext.ex:23: MemorexWeb.Gettext (module)22182219    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 module2220    │2221  4 │   use MemorexWeb, :live_view2222    │   ^^^^^^^^^^^^^^^^^^^^^^^^^^2223    │2224    └─ lib/memorex_web/live/card_live/edit.ex:4: MemorexWeb.CardLive.Edit (module)22252226    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 module2227    │2228  4 │   use MemorexWeb, :live_component2229    │   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^2230    │2231    └─ lib/memorex_web/live/card_live/card_component.ex:4: MemorexWeb.CardLive.CardComponent (module)223222332234== Compilation error in file lib/memorex_web/live/card_live/edit.ex ==2235** (CompileError) lib/memorex_web/live/card_live/edit.ex: cannot compile module MemorexWeb.CardLive.Edit (errors have been logged)2236    expanding macro: MemorexWeb.__using__/12237    lib/memorex_web/live/card_live/edit.ex:4: MemorexWeb.CardLive.Edit (module)2238    (elixir 1.20.3) expanding macro: Kernel.use/22239    lib/memorex_web/live/card_live/edit.ex:4: MemorexWeb.CardLive.Edit (module)2240could 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"