Build log
nerves_system_trellis
memorex 0.2.4 · fail · run memorex-0.2.4-1790999673734
2239 of 2239 lines
1Resolving Hex dependencies...2Resolution completed in 0.391s3Unchanged: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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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/trellis/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_armv7_nerves_linux_gnueabihf684Compiling 1 file (.ex)685Generated nerves_toolchain_armv7_nerves_linux_gnueabihf app686==> nerves_system_trellis687Generated nerves_system_trellis 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: the following clause is redundant:727728 defp ensure_empty_msgstr!(%Expo.Message.Plural{} = message)729730 it has type:731732 dynamic(%Expo.Message.Plural{})733734 previous clauses have already matched on the following types:735736 %Expo.Message.Singular{}737 %Expo.Message.Plural{}738739 │740 391 │ defp ensure_empty_msgstr!(%Message.Plural{} = message) do741 │ ~742 │743 └─ lib/gettext/extractor.ex:391:8: Gettext.Extractor.ensure_empty_msgstr!/1744745 warning: Kernel.ParallelCompiler.async/1 is deprecated. Use `pmap/2` instead746 │747 426 │ Kernel.ParallelCompiler.async(fn ->748 │ ~749 │750 └─ lib/gettext/compiler.ex:426:39: Gettext.Compiler.compile_po_files/3751752Generated 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: "<"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: ">"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: "&"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: """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: "'"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 Phoenix.Endpoint1619 │1620 6 │ require Phoenix.Endpoint1621 │ ~1622 │1623 └─ lib/phoenix/channel/server.ex:6:316241625 warning: unused require Phoenix.Endpoint1626 │1627 202 │ require Phoenix.Endpoint1628 │ ~1629 │1630 └─ lib/phoenix/socket.ex:202:316311632 warning: unused require Logger1633 │1634 70 │ require Logger1635 │ ~1636 │1637 └─ lib/phoenix/socket/pool_supervisor.ex:70: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 183 │ require Phoenix.ChannelTest1790 │ ~1791 │1792 └─ lib/phoenix_live_view/test/live_view_test.ex:183:317931794 warning: unused require Phoenix.ConnTest1795 │1796 182 │ require Phoenix.ConnTest1797 │ ~1798 │1799 └─ lib/phoenix_live_view/test/live_view_test.ex:182:318001801 warning: unused require Phoenix.ChannelTest1802 │1803 5 │ require Phoenix.ChannelTest1804 │ ~1805 │1806 └─ lib/phoenix_live_view/test/upload_client.ex:5: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_component2221 │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^2222 │2223 └─ lib/memorex_web/live/card_live/card_component.ex:4: MemorexWeb.CardLive.CardComponent (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_view2228 │ ^^^^^^^^^^^^^^^^^^^^^^^^^^2229 │2230 └─ lib/memorex_web/live/card_live/edit.ex:4: MemorexWeb.CardLive.Edit (module)223122322233== Compilation error in file lib/memorex_web/live/card_live/card_component.ex ==2234** (CompileError) lib/memorex_web/live/card_live/card_component.ex: cannot compile module MemorexWeb.CardLive.CardComponent (errors have been logged)2235 expanding macro: MemorexWeb.__using__/12236 lib/memorex_web/live/card_live/card_component.ex:4: MemorexWeb.CardLive.CardComponent (module)2237 (elixir 1.20.3) expanding macro: Kernel.use/22238 lib/memorex_web/live/card_live/card_component.ex:4: MemorexWeb.CardLive.CardComponent (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"