Build log
nerves_system_trellis
kino_live_view_native 0.2.2 · fail · run kino_live_view_native-0.2.2-1790967424002
1572 of 1572 lines
1Resolving Hex dependencies...2Resolution completed in 0.792s3Unchanged:4 castore 1.0.215 circular_buffer 1.1.06 cowboy 2.19.07 cowboy_telemetry 0.4.08 cowlib 2.20.0 VULNERABLE!9 EEF-CVE-2026-43966 (MEDIUM)10 aka: CVE-2026-43966, GHSA-w4f7-4cxr-rv3c11 HTTP Response Splitting via Non-VCHAR Bytes in cow_http_struct_hd:escape_string/212 https://osv.dev/vulnerability/EEF-CVE-2026-439661314 EEF-CVE-2026-43969 (LOW)15 aka: CVE-2026-43969, GHSA-g2wm-735q-3f5616 Cookie Request Header Injection via Unvalidated Encoder in cow_cookie:cookie/117 https://osv.dev/vulnerability/EEF-CVE-2026-4396918 decimal 3.1.119 deep_merge 1.0.220 dns_cluster 0.1.321 ecto 3.14.222 elixir_make 0.10.023 esbuild 0.10.024 expo 1.1.125 file_system 1.1.126 finch 0.24.027 floki 0.38.428 fss 0.1.129 gettext 0.26.230 hpax 1.1.031 interactive_cmd 0.1.432 jason 1.4.533 kino 0.12.334 kino_live_view_native 0.2.235 live_view_native 0.2.036 live_view_native_platform 0.2.037 live_view_native_stylesheet 0.2.038 live_view_native_swiftui 0.2.139 makeup 1.2.240 makeup_json 0.1.141 makeup_swift 0.0.242 mime 2.0.743 mint 1.11.044 nerves 2.0.0-pre.245 nerves_discovery 0.1.546 nerves_logging 0.2.447 nerves_runtime 0.13.1348 nerves_system_bbb 2.30.249 nerves_system_br 1.34.450 nerves_system_mangopi_mq_pro 0.17.251 nerves_system_qemu_aarch64 0.4.252 nerves_system_rpi0 2.1.253 nerves_system_rpi4 2.1.254 nerves_system_rpi5 2.1.255 nerves_system_trellis 0.5.056 nerves_system_x86_64 1.34.257 nerves_toolchain_aarch64_nerves_linux_gnu 15.3.158 nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.159 nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.160 nerves_toolchain_riscv64_nerves_linux_gnu 15.3.161 nerves_toolchain_x86_64_nerves_linux_musl 15.3.162 nerves_uevent 0.1.763 nimble_options 1.1.164 nimble_parsec 1.4.265 nimble_pool 1.1.066 owl 0.13.167 phoenix 1.7.2468 phoenix_html 3.3.469 phoenix_live_dashboard 0.8.770 phoenix_live_reload 1.7.071 phoenix_live_view 0.20.2 VULNERABLE!72 EEF-CVE-2026-64941 (LOW)73 aka: CVE-2026-64941, GHSA-36m4-rm57-3prf74 Open redirect in Phoenix.LiveView.validate_local_url!/2 via ASCII tab, LF and CR75 https://osv.dev/vulnerability/EEF-CVE-2026-6494176 phoenix_pubsub 2.3.077 phoenix_template 1.1.078 phoenix_view 2.0.479 plug 1.20.380 plug_cowboy 2.9.081 plug_crypto 2.2.082 property_table 0.3.483 ranch 2.3.084 ring_logger 0.11.785 table 0.1.286 tablet 0.3.387 tailwind 0.2.488 telemetry 1.4.289 telemetry_metrics 0.6.290 telemetry_poller 1.3.091 toolshed 0.5.092 uboot_env 1.0.293 websock 0.5.394 websock_adapter 0.5.995* Getting kino_live_view_native (Hex package)96* Getting nerves (Hex package)97* Getting ring_logger (Hex package)98* Getting toolshed (Hex package)99* Getting nerves_runtime (Hex package)100* Getting nerves_system_bbb (Hex package)101* Getting nerves_system_mangopi_mq_pro (Hex package)102* Getting nerves_system_qemu_aarch64 (Hex package)103* Getting nerves_system_rpi0 (Hex package)104* Getting nerves_system_rpi4 (Hex package)105* Getting nerves_system_rpi5 (Hex package)106* Getting nerves_system_trellis (Hex package)107* Getting nerves_system_x86_64 (Hex package)108* Getting nerves_system_br (Hex package)109* Getting nerves_toolchain_x86_64_nerves_linux_musl (Hex package)110* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)111* Getting nerves_toolchain_aarch64_nerves_linux_gnu (Hex package)112* Getting nerves_toolchain_armv6_nerves_linux_gnueabihf (Hex package)113* Getting nerves_toolchain_riscv64_nerves_linux_gnu (Hex package)114* Getting nerves_logging (Hex package)115* Getting nerves_uevent (Hex package)116* Getting uboot_env (Hex package)117* Getting elixir_make (Hex package)118* Getting property_table (Hex package)119* Getting circular_buffer (Hex package)120* Getting interactive_cmd (Hex package)121* Getting nerves_discovery (Hex package)122* Getting tablet (Hex package)123* Getting dns_cluster (Hex package)124* Getting esbuild (Hex package)125* Getting finch (Hex package)126* Getting floki (Hex package)127* Getting gettext (Hex package)128* Getting jason (Hex package)129* Getting kino (Hex package)130* Getting live_view_native (Hex package)131* Getting live_view_native_swiftui (Hex package)132* Getting phoenix (Hex package)133* Getting phoenix_html (Hex package)134* Getting phoenix_live_dashboard (Hex package)135* Getting phoenix_live_reload (Hex package)136* Getting phoenix_live_view (Hex package)137* Getting plug_cowboy (Hex package)138* Getting tailwind (Hex package)139* Getting telemetry_metrics (Hex package)140* Getting telemetry_poller (Hex package)141* Getting telemetry (Hex package)142* Getting castore (Hex package)143* Getting cowboy (Hex package)144* Getting cowboy_telemetry (Hex package)145* Getting plug (Hex package)146* Getting mime (Hex package)147* Getting plug_crypto (Hex package)148* Getting cowlib (Hex package)149* Getting ranch (Hex package)150* Getting phoenix_template (Hex package)151* Getting file_system (Hex package)152* Getting phoenix_pubsub (Hex package)153* Getting websock_adapter (Hex package)154* Getting websock (Hex package)155* Getting live_view_native_platform (Hex package)156* Getting live_view_native_stylesheet (Hex package)157* Getting makeup_json (Hex package)158* Getting makeup_swift (Hex package)159* Getting nimble_parsec (Hex package)160* Getting makeup (Hex package)161* Getting ecto (Hex package)162* Getting decimal (Hex package)163* Getting deep_merge (Hex package)164* Getting owl (Hex package)165* Getting phoenix_view (Hex package)166* Getting fss (Hex package)167* Getting table (Hex package)168* Getting expo (Hex package)169* Getting mint (Hex package)170* Getting nimble_options (Hex package)171* Getting nimble_pool (Hex package)172* Getting hpax (Hex package)173Found packages with security advisories, see above for details174You have added/upgraded packages you could sponsor, run `mix hex.sponsor` to learn more175==> nerves_system_br176Generated nerves_system_br app177==> file_system178Compiling 7 files (.ex)179Generated file_system app180==> floki181Compiling 1 file (.xrl)182Compiling 2 files (.erl)183Compiling 30 files (.ex)184Compiling lib/floki.ex (it's taking more than 10s)185Generated floki app186==> mime187Compiling 1 file (.ex)188Generated mime app189==> circular_buffer190Compiling 1 file (.ex)191Generated circular_buffer app192==> nimble_options193Compiling 3 files (.ex)194Generated nimble_options app195==> plug_crypto196Compiling 5 files (.ex)197Generated plug_crypto app198==> hpax199Compiling 4 files (.ex)200Generated hpax app201==> nerves_compatibility_test202===> Analyzing applications...203===> Compiling ranch204==> tablet205Compiling 2 files (.ex)206Generated tablet app207==> owl208Compiling 19 files (.ex)209Generated owl app210==> elixir_make211Compiling 8 files (.ex)212Generated elixir_make app213==> nerves_logging214 CC kmsg_tailer.o215 LD kmsg_tailer216Compiling 5 files (.ex)217Generated nerves_logging app218==> castore219Compiling 1 file (.ex)220Generated castore app221==> mint222Compiling 1 file (.erl)223Compiling 21 files (.ex)224Generated mint app225==> nerves_compatibility_test226===> Analyzing applications...227===> Compiling cowlib228==> nerves_discovery229Compiling 5 files (.ex)230Generated nerves_discovery app231==> ring_logger232Compiling 7 files (.ex)233Generated ring_logger app234==> deep_merge235Compiling 2 files (.ex)236Generated deep_merge app237==> decimal238Compiling 4 files (.ex)239Generated decimal app240==> jason241Compiling 10 files (.ex)242Generated jason app243==> esbuild244Compiling 4 files (.ex)245Generated esbuild app246==> table247Compiling 5 files (.ex)248Generated table app249==> interactive_cmd250Compiling 1 file (.ex)251Generated interactive_cmd app252==> nerves253Compiling 65 files (.ex)254 warning: redefining module Mix.Tasks.Nerves.Init (current version loaded from /work/proj/_build/trellis/lib/nerves/ebin/Elixir.Mix.Tasks.Nerves.Init.beam)255 │256 6 │ defmodule Mix.Tasks.Nerves.Init do257 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~258 │259 └─ lib/mix/tasks/nerves.init.ex:6: Mix.Tasks.Nerves.Init (module)260261 warning: redefining module Nerves (current version loaded from /work/proj/_build/trellis/lib/nerves/ebin/Elixir.Nerves.beam)262 │263 6 │ defmodule Nerves do264 │ ~~~~~~~~~~~~~~~~~~~265 │266 └─ lib/nerves.ex:6: Nerves (module)267268 warning: redefining module Nerves.ArtifactResolver (current version loaded from /work/proj/_build/trellis/lib/nerves/ebin/Elixir.Nerves.ArtifactResolver.beam)269 │270 5 │ defmodule Nerves.ArtifactResolver do271 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~272 │273 └─ lib/nerves/artifact_resolver.ex:5: Nerves.ArtifactResolver (module)274275 warning: redefining module Nerves.BuildAction.AppModes (current version loaded from /work/proj/_build/trellis/lib/nerves/ebin/Elixir.Nerves.BuildAction.AppModes.beam)276 │277 6 │ defmodule Nerves.BuildAction.AppModes do278 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~279 │280 └─ lib/nerves/build_action/app_modes.ex:6: Nerves.BuildAction.AppModes (module)281282 warning: redefining module Nerves.BuildAction.CheckExecutables (current version loaded from /work/proj/_build/trellis/lib/nerves/ebin/Elixir.Nerves.BuildAction.CheckExecutables.beam)283 │284 5 │ defmodule Nerves.BuildAction.CheckExecutables do285 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~286 │287 └─ lib/nerves/build_action/check_executables.ex:5: Nerves.BuildAction.CheckExecutables (module)288289 warning: redefining module Nerves.BuildAction.Firmware (current version loaded from /work/proj/_build/trellis/lib/nerves/ebin/Elixir.Nerves.BuildAction.Firmware.beam)290 │291 5 │ defmodule Nerves.BuildAction.Firmware do292 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~293 │294 └─ lib/nerves/build_action/firmware.ex:5: Nerves.BuildAction.Firmware (module)295296 warning: redefining module Nerves.BuildAction.Erlinit (current version loaded from /work/proj/_build/trellis/lib/nerves/ebin/Elixir.Nerves.BuildAction.Erlinit.beam)297 │298 8 │ defmodule Nerves.BuildAction.Erlinit do299 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~300 │301 └─ lib/nerves/build_action/erlinit.ex:8: Nerves.BuildAction.Erlinit (module)302303 warning: redefining module Nerves.BuildAction.IExStartupCheck (current version loaded from /work/proj/_build/trellis/lib/nerves/ebin/Elixir.Nerves.BuildAction.IExStartupCheck.beam)304 │305 7 │ defmodule Nerves.BuildAction.IExStartupCheck do306 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~307 │308 └─ lib/nerves/build_action/iex_startup_check.ex:7: Nerves.BuildAction.IExStartupCheck (module)309310 warning: redefining module Nerves.BuildAction.NervesV1System (current version loaded from /work/proj/_build/trellis/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1System.beam)311 │312 5 │ defmodule Nerves.BuildAction.NervesV1System do313 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~314 │315 └─ lib/nerves/build_action/nerves_v1_system.ex:5: Nerves.BuildAction.NervesV1System (module)316317 warning: redefining module Nerves.BuildAction.NervesV1Toolchain (current version loaded from /work/proj/_build/trellis/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1Toolchain.beam)318 │319 5 │ defmodule Nerves.BuildAction.NervesV1Toolchain do320 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~321 │322 └─ lib/nerves/build_action/nerves_v1_toolchain.ex:5: Nerves.BuildAction.NervesV1Toolchain (module)323324 warning: redefining module Nerves.BuildAction.Rootfs (current version loaded from /work/proj/_build/trellis/lib/nerves/ebin/Elixir.Nerves.BuildAction.Rootfs.beam)325 │326 5 │ defmodule Nerves.BuildAction.Rootfs do327 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~328 │329 └─ lib/nerves/build_action/rootfs.ex:5: Nerves.BuildAction.Rootfs (module)330331 warning: redefining module Nerves.BuildAction.SortApps (current version loaded from /work/proj/_build/trellis/lib/nerves/ebin/Elixir.Nerves.BuildAction.SortApps.beam)332 │333 6 │ defmodule Nerves.BuildAction.SortApps do334 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~335 │336 └─ lib/nerves/build_action/sort_apps.ex:6: Nerves.BuildAction.SortApps (module)337338 warning: redefining module Nerves.BuildAction.StripAll (current version loaded from /work/proj/_build/trellis/lib/nerves/ebin/Elixir.Nerves.BuildAction.StripAll.beam)339 │340 5 │ defmodule Nerves.BuildAction.StripAll do341 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~342 │343 └─ lib/nerves/build_action/strip_all.ex:5: Nerves.BuildAction.StripAll (module)344345 warning: redefining module Nerves.BuildAction.Trimmer (current version loaded from /work/proj/_build/trellis/lib/nerves/ebin/Elixir.Nerves.BuildAction.Trimmer.beam)346 │347 5 │ defmodule Nerves.BuildAction.Trimmer do348 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~349 │350 └─ lib/nerves/build_action/trimmer.ex:5: Nerves.BuildAction.Trimmer (module)351352 warning: redefining module Nerves.BuildPlan (current version loaded from /work/proj/_build/trellis/lib/nerves/ebin/Elixir.Nerves.BuildPlan.beam)353 │354 5 │ defmodule Nerves.BuildPlan do355 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~356 │357 └─ lib/nerves/build_plan.ex:5: Nerves.BuildPlan (module)358359 warning: redefining module Nerves.BuildPlan.Checks (current version loaded from /work/proj/_build/trellis/lib/nerves/ebin/Elixir.Nerves.BuildPlan.Checks.beam)360 │361 5 │ defmodule Nerves.BuildPlan.Checks do362 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~363 │364 └─ lib/nerves/build_plan/checks.ex:5: Nerves.BuildPlan.Checks (module)365366 warning: redefining module Nerves.Container (current version loaded from /work/proj/_build/trellis/lib/nerves/ebin/Elixir.Nerves.Container.beam)367 │368 6 │ defmodule Nerves.Container do369 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~370 │371 └─ lib/nerves/container.ex:6: Nerves.Container (module)372373 warning: redefining module Nerves.Fingerprint (current version loaded from /work/proj/_build/trellis/lib/nerves/ebin/Elixir.Nerves.Fingerprint.beam)374 │375 5 │ defmodule Nerves.Fingerprint do376 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~377 │378 └─ lib/nerves/fingerprint.ex:5: Nerves.Fingerprint (module)379380 warning: redefining module Nerves.MixPackage (current version loaded from /work/proj/_build/trellis/lib/nerves/ebin/Elixir.Nerves.MixPackage.beam)381 │382 5 │ defmodule Nerves.MixPackage do383 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~384 │385 └─ lib/nerves/mix_package.ex:5: Nerves.MixPackage (module)386387 warning: redefining module Nerves.Paths (current version loaded from /work/proj/_build/trellis/lib/nerves/ebin/Elixir.Nerves.Paths.beam)388 │389 5 │ defmodule Nerves.Paths do390 │ ~~~~~~~~~~~~~~~~~~~~~~~~~391 │392 └─ lib/nerves/paths.ex:5: Nerves.Paths (module)393394 warning: redefining module Nerves.TargetTuple (current version loaded from /work/proj/_build/trellis/lib/nerves/ebin/Elixir.Nerves.TargetTuple.beam)395 │396 5 │ defmodule Nerves.TargetTuple do397 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~398 │399 └─ lib/nerves/target_tuple.ex:5: Nerves.TargetTuple (module)400401Generated nerves app402==> nerves_toolchain_armv7_nerves_linux_gnueabihf403Compiling 1 file (.ex)404Generated nerves_toolchain_armv7_nerves_linux_gnueabihf app405==> nerves_system_trellis406Generated nerves_system_trellis app407==> nimble_parsec408Compiling 4 files (.ex)409Generated nimble_parsec app410==> makeup411Compiling 15 files (.ex)412Generated makeup app413==> makeup_swift414Compiling 3 files (.ex)415 warning: this clause cannot match because a previous clause at line 233 matches the same pattern as this clause416 │417 233 │ defparsec(418 │ ~~~~~~~~~~419 │420 └─ lib/makeup/lexers/swift_lexer.ex:233421422 warning: this clause cannot match because a previous clause at line 233 matches the same pattern as this clause423 │424 233 │ defparsec(425 │ ~~~~~~~~~~426 │427 └─ lib/makeup/lexers/swift_lexer.ex:233428429 warning: this clause cannot match because a previous clause at line 233 matches the same pattern as this clause430 │431 233 │ defparsec(432 │ ~~~~~~~~~~433 │434 └─ lib/makeup/lexers/swift_lexer.ex:233435436Generated makeup_swift app437==> nerves_compatibility_test438===> Analyzing applications...439===> Compiling telemetry440==> telemetry_metrics441Compiling 7 files (.ex)442 warning: unused require Logger443 │444 391 │ require Logger445 │ ~446 │447 └─ lib/telemetry_metrics.ex:391:3448449Generated telemetry_metrics app450==> nerves_compatibility_test451===> Analyzing applications...452===> Compiling telemetry_poller453==> ecto454Compiling 56 files (.ex)455Generated ecto app456==> nerves_compatibility_test457===> Analyzing applications...458===> Compiling cowboy459==> expo460Compiling 2 files (.erl)461Compiling 22 files (.ex)462Generated expo app463==> gettext464Compiling 18 files (.ex)465 warning: unused require Gettext.Macros466 │467 594 │ require Gettext.Macros468 │ ~469 │470 └─ lib/gettext.ex:594:3471472 warning: the following clause is redundant:473474 defp ensure_empty_msgstr!(%Expo.Message.Plural{} = message)475476 it has type:477478 dynamic(%Expo.Message.Plural{})479480 previous clauses have already matched on the following types:481482 %Expo.Message.Singular{}483 %Expo.Message.Plural{}484485 │486 391 │ defp ensure_empty_msgstr!(%Message.Plural{} = message) do487 │ ~488 │489 └─ lib/gettext/extractor.ex:391:8: Gettext.Extractor.ensure_empty_msgstr!/1490491 warning: Kernel.ParallelCompiler.async/1 is deprecated. Use `pmap/2` instead492 │493 426 │ Kernel.ParallelCompiler.async(fn ->494 │ ~495 │496 └─ lib/gettext/compiler.ex:426:39: Gettext.Compiler.compile_po_files/3497498Generated gettext app499==> phoenix_pubsub500Compiling 12 files (.ex)501Generated phoenix_pubsub app502==> live_view_native_stylesheet503Compiling 14 files (.ex)504Generated live_view_native_stylesheet app505==> dns_cluster506Compiling 1 file (.ex)507 warning: comparison between distinct types found:508509 net_state.started != :no510511 given types:512513 dynamic(not :no) != :no514515 where "net_state" was given the types:516517 # type: dynamic()518 # from: lib/dns_cluster.ex:166:8519 net_state520521 # type: dynamic(not false and not nil)522 # from: lib/dns_cluster.ex:166:8523 net_state524525 # type: dynamic(%{..., started: term()})526 # from: lib/dns_cluster.ex:169:25527 net_state.started == :no528529 # type: dynamic(%{..., started: not :no})530 # from: lib/dns_cluster.ex:179:25531 net_state.started == :no532533 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 false534535 type warning found at:536 │537 180 │ (!release? and net_state.started != :no and net_state[:name_domain] != :longnames) ->538 │ ~539 │540 └─ lib/dns_cluster.ex:180:44: DNSCluster.warn_on_invalid_dist/0541542Generated dns_cluster app543==> makeup_json544Compiling 3 files (.ex)545Generated makeup_json app546==> plug547Compiling 1 file (.erl)548Compiling 42 files (.ex)549Generated plug app550==> phoenix_html551Compiling 9 files (.ex)552 warning: comparison between distinct types found:553554 id == nil555556 given types:557558 dynamic(not false and not nil and not binary()) == nil559560 where "id" was given the types:561562 # type: dynamic(not false and not nil)563 # from: lib/phoenix_html/form_data.ex:92:8564 id = Keyword.get(opts, :id) || name565566 # type: dynamic(not false and not nil and not binary())567 # from: lib/phoenix_html/form_data.ex:94:12568 is_binary(id)569570 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 false571572 type warning found at:573 │574 94 │ unless is_binary(id) or is_nil(id) do575 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~576 │577 └─ lib/phoenix_html/form_data.ex:94: Phoenix.HTML.FormData.Atom.to_form/2578579 warning: the 1st pattern in clause will never match:580581 60582583 because it is expected to receive type:584585 dynamic(empty_list() or non_empty_list(term(), term()))586587 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())588589 type warning found at:590 │591 56 │ def to_iodata(?<), do: "<"592 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~593 │594 └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/1595596 warning: the 1st pattern in clause will never match:597598 62599600 because it is expected to receive type:601602 dynamic(empty_list() or non_empty_list(term(), term()))603604 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())605606 type warning found at:607 │608 57 │ def to_iodata(?>), do: ">"609 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~610 │611 └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/1612613 warning: the 1st pattern in clause will never match:614615 38616617 because it is expected to receive type:618619 dynamic(empty_list() or non_empty_list(term(), term()))620621 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())622623 type warning found at:624 │625 58 │ def to_iodata(?&), do: "&"626 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~627 │628 └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/1629630 warning: the 1st pattern in clause will never match:631632 34633634 because it is expected to receive type:635636 dynamic(empty_list() or non_empty_list(term(), term()))637638 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())639640 type warning found at:641 │642 59 │ def to_iodata(?"), do: """643 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~644 │645 └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/1646647 warning: the 1st pattern in clause will never match:648649 39650651 because it is expected to receive type:652653 dynamic(empty_list() or non_empty_list(term(), term()))654655 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())656657 type warning found at:658 │659 60 │ def to_iodata(?'), do: "'"660 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~661 │662 └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/1663664 warning: the 1st pattern in clause will never match:665666 {:safe, data}667668 because it is expected to receive type:669670 dynamic(empty_list() or non_empty_list(term(), term()))671672 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())673674 type warning found at:675 │676 76 │ def to_iodata({:safe, data}) do677 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~678 │679 └─ lib/phoenix_html/safe.ex:76: Phoenix.HTML.Safe.List.to_iodata/1680681 warning: the following clause is redundant:682683 def to_iodata(other)684685 it has type:686687 dynamic(empty_list() or non_empty_list(term(), term()))688689 previous clauses have already matched on the following types:690691 non_empty_list(term(), term())692 empty_list()693694 │695 80 │ def to_iodata(other) do696 │ ~697 │698 └─ lib/phoenix_html/safe.ex:80:7: Phoenix.HTML.Safe.List.to_iodata/1699700 warning: the 1st pattern in clause will never match:701702 h703704 because it is expected to receive type:705706 dynamic(empty_list() or non_empty_list(term(), term()))707708 where "h" was given the type:709710 # type: integer()711 # from: lib/phoenix_html/safe.ex:62:25712 is_integer(h)713714 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())715716 type warning found at:717 │718 62 │ def to_iodata(h) when is_integer(h) and h <= 255 do719 │ ~720 │721 └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/1722723 warning: the 1st pattern in clause will never match:724725 h726727 because it is expected to receive type:728729 dynamic(empty_list() or non_empty_list(term(), term()))730731 where "h" was given the type:732733 # type: integer()734 # from: lib/phoenix_html/safe.ex:66:25735 is_integer(h)736737 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())738739 type warning found at:740 │741 66 │ def to_iodata(h) when is_integer(h) do742 │ ~743 │744 └─ lib/phoenix_html/safe.ex:66:17: Phoenix.HTML.Safe.List.to_iodata/1745746 warning: the 1st pattern in clause will never match:747748 h749750 because it is expected to receive type:751752 dynamic(empty_list() or non_empty_list(term(), term()))753754 where "h" was given the type:755756 # type: binary()757 # from: lib/phoenix_html/safe.ex:72:25758 is_binary(h)759760 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())761762 type warning found at:763 │764 72 │ def to_iodata(h) when is_binary(h) do765 │ ~766 │767 └─ lib/phoenix_html/safe.ex:72:17: Phoenix.HTML.Safe.List.to_iodata/1768769Generated phoenix_html app770==> phoenix_template771Compiling 4 files (.ex)772Generated phoenix_template app773==> live_view_native_platform774Compiling 11 files (.ex)775 warning: "else" clauses will never match because all patterns in "with" will always match776 │777 38 │ with spec <- Application.spec(otp_app),778 │ ~779 │780 └─ lib/live_view_native_platform/env.ex:38:5781782 warning: the following clause will never match:783784 error ->785786 it is expected to match on type:787788 none()789790 type warning found at:791 │792 64 │ error ->793 │ ~794 │795 └─ lib/live_view_native_platform/env.ex:64:7: LiveViewNativePlatform.Env.define/2796797Generated live_view_native_platform app798==> phoenix_view799Compiling 1 file (.ex)800 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 operator801 │802 655 │ <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix803 │ ~804 │805 └─ lib/phoenix_view.ex:655:29: Phoenix.View.unsuffix/2806807Generated phoenix_view app808==> uboot_env809Compiling 5 files (.ex)810Generated uboot_env app811==> nimble_pool812Compiling 2 files (.ex)813Generated nimble_pool app814==> finch815Compiling 23 files (.ex)816Generated finch app817==> property_table818Compiling 8 files (.ex)819Generated property_table app820==> nerves_uevent821 CC uevent.o822 LD uevent823Compiling 5 files (.ex)824Generated nerves_uevent app825==> nerves_runtime826Compiling 14 files (.ex)827Generated nerves_runtime app828==> toolshed829Compiling 5 files (.ex)830Generated toolshed app831==> tailwind832Compiling 3 files (.ex)833Generated tailwind app834==> nerves_compatibility_test835===> Analyzing applications...836===> Compiling cowboy_telemetry837==> plug_cowboy838Compiling 5 files (.ex)839Generated plug_cowboy app840==> websock841Compiling 1 file (.ex)842Generated websock app843==> websock_adapter844Compiling 4 files (.ex)845Generated websock_adapter app846warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"847 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2848 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1849 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5850 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2851 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4852 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2853854==> phoenix855Compiling 71 files (.ex)856 warning: unused require Logger857 │858 9 │ require Logger859 │ ~860 │861 └─ lib/phoenix/config.ex:9:3862863 warning: unused require Logger864 │865 281 │ require Logger866 │ ~867 │868 └─ lib/phoenix/endpoint.ex:281:3869870 warning: unused require Phoenix.Endpoint871 │872 6 │ require Phoenix.Endpoint873 │ ~874 │875 └─ lib/phoenix/controller.ex:6:3876877 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 operator878 │879 46 │ <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix880 │ ~881 │882 └─ lib/phoenix/naming.ex:46:29: Phoenix.Naming.unsuffix/2883884 warning: unused require Phoenix.Endpoint885 │886 17 │ require Phoenix.Endpoint887 │ ~888 │889 └─ lib/phoenix/endpoint/render_errors.ex:17:3890891 warning: unused require Phoenix.Endpoint892 │893 6 │ require Phoenix.Endpoint894 │ ~895 │896 └─ lib/phoenix/channel/server.ex:6:3897898 warning: unused require Phoenix.Endpoint899 │900 202 │ require Phoenix.Endpoint901 │ ~902 │903 └─ lib/phoenix/socket.ex:202:3904905 warning: unused require Logger906 │907 70 │ require Logger908 │ ~909 │910 └─ lib/phoenix/socket/pool_supervisor.ex:70:3911912 warning: unused require Logger913 │914 100 │ require Logger915 │ ~916 │917 └─ lib/phoenix/token.ex:100:3918919 warning: comparison between distinct types found:920921 merge_all != []922923 given types:924925 dynamic(non_empty_list({atom(), term()})) != empty_list()926927 where "merge_all" was given the type:928929 # type: dynamic(non_empty_list({atom(), term()}))930 # from: lib/phoenix/router/route.ex:121:15931 merge_all = merge_params ++ merge_private ++ merge_assigns932933 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 false934935 type warning found at:936 │937 123 │ if merge_all != [] do938 │ ~939 │940 └─ lib/phoenix/router/route.ex:123:18: Phoenix.Router.Route.build_prepare/1941942 warning: a struct for Plug.Conn is expected on struct update:943944 %Plug.Conn{conn | state: :sent}945946 but got type:947948 dynamic()949950 where "conn" was given the type:951952 # type: dynamic()953 # from: lib/phoenix/endpoint/render_errors.ex:55:17954 conn955956 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"957958 type warning found at:959 │960 60 │ %Plug.Conn{conn | state: :sent}961 │ ~962 │963 └─ lib/phoenix/endpoint/render_errors.ex:60:11: Phoenix.Endpoint.RenderErrors.__catch__/5964965 warning: a struct for Plug.Conn is expected on struct update:966967 %Plug.Conn{conn | query_params: %{}, params: %{}}968969 but got type:970971 dynamic(%{..., params: %Plug.Conn.Unfetched{}})972973 where "conn" was given the types:974975 # type: dynamic(%{..., params: term()})976 # from: lib/phoenix/endpoint/render_errors.ex:133:17977 conn.params978979 # type: dynamic(%{..., params: %Plug.Conn.Unfetched{}})980 # from: lib/phoenix/endpoint/render_errors.ex:133:17981 conn.params982983 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"984985 type warning found at:986 │987 134 │ %Plug.Conn.Unfetched{} -> %Plug.Conn{conn | query_params: %{}, params: %{}}988 │ ~989 │990 └─ lib/phoenix/endpoint/render_errors.ex:134:35: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/1991992 warning: a struct for Plug.Conn is expected on struct update:993994 %Plug.Conn{conn | query_params: %{}, params: params}995996 but got type:997998 dynamic(%{..., params: not %Plug.Conn.Unfetched{}})9991000 where "conn" was given the types:10011002 # type: dynamic(%{..., params: term()})1003 # from: lib/phoenix/endpoint/render_errors.ex:133:171004 conn.params10051006 # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})1007 # from: lib/phoenix/endpoint/render_errors.ex:133:171008 conn.params10091010 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"10111012 type warning found at:1013 │1014 135 │ params -> %Plug.Conn{conn | query_params: %{}, params: params}1015 │ ~1016 │1017 └─ lib/phoenix/endpoint/render_errors.ex:135:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/110181019 warning: a struct for Plug.Conn is expected on struct update:10201021 %Plug.Conn{conn | params: params}10221023 but got type:10241025 dynamic(%{..., params: map()})10261027 where "conn" was given the type:10281029 # type: dynamic(%{..., params: map()})1030 # from: lib/phoenix/controller.ex:1327:171031 Map.get(conn.params, required_key)10321033 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"10341035 type warning found at:1036 │1037 1334 │ %Plug.Conn{conn | params: params}1038 │ ~1039 │1040 └─ lib/phoenix/controller.ex:1334:5: Phoenix.Controller.scrub_params/210411042Generated phoenix app1043==> phoenix_live_reload1044Compiling 5 files (.ex)1045Generated phoenix_live_reload app1046warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1047 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21048 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11049 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51050 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21051 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41052 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/210531054==> phoenix_live_view1055Compiling 39 files (.ex)1056 warning: unused require Logger1057 │1058 48 │ require Logger1059 │ ~1060 │1061 └─ lib/phoenix_live_view/socket.ex:48:310621063 warning: unused require Phoenix.ChannelTest1064 │1065 183 │ require Phoenix.ChannelTest1066 │ ~1067 │1068 └─ lib/phoenix_live_view/test/live_view_test.ex:183:310691070 warning: unused require Phoenix.ConnTest1071 │1072 182 │ require Phoenix.ConnTest1073 │ ~1074 │1075 └─ lib/phoenix_live_view/test/live_view_test.ex:182:310761077 warning: unused require Phoenix.ChannelTest1078 │1079 5 │ require Phoenix.ChannelTest1080 │ ~1081 │1082 └─ lib/phoenix_live_view/test/upload_client.ex:5:310831084 warning: unused require Logger1085 │1086 6 │ require Logger1087 │ ~1088 │1089 └─ lib/phoenix_live_view/upload_channel.ex:6:310901091 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:10921093 %Phoenix.LiveView.UploadEntry{1094 entry1095 | preflighted?: entry.preflighted? || Enum.__in__(entry.ref, refs_awaiting)1096 }10971098 but got type:10991100 dynamic()11011102 where "entry" was given the type:11031104 # type: dynamic()1105 # from: lib/phoenix_live_view/upload_config.ex:363:171106 entry <- conf.entries11071108 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"11091110 type warning found at:1111 │1112 364 │ %UploadEntry{entry | preflighted?: entry.preflighted? || entry.ref in refs_awaiting}1113 │ ~1114 │1115 └─ lib/phoenix_live_view/upload_config.ex:364:9: Phoenix.LiveView.UploadConfig.mark_preflighted/111161117 warning: the following clause is redundant:11181119 def update(assigns, _key, fun) when is_function(fun, 1) or is_function(fun, 2)11201121 it has type:11221123 dynamic(), dynamic(), dynamic((none() -> term()) or (none(), none() -> term()))11241125 previous clauses have already matched on the following types:11261127 %Phoenix.LiveView.Socket{}, term(), (none(), none() -> term())1128 %Phoenix.LiveView.Socket{}, term(), (none() -> term())1129 term(), term(), (none(), none() -> term())1130 term(), term(), (none() -> term())11311132 │1133 1366 │ def update(assigns, _key, fun) when is_function(fun, 1) or is_function(fun, 2) do1134 │ ~1135 │1136 └─ lib/phoenix_component.ex:1366:7: Phoenix.Component.update/311371138 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:11391140 %Phoenix.LiveView.UploadEntry{entry | valid?: true, uuid: generate_uuid()}11411142 but got type:11431144 dynamic()11451146 where "entry" was given the type:11471148 # type: dynamic()1149 # from: lib/phoenix_live_view/upload_config.ex:579:301150 entry11511152 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"11531154 type warning found at:1155 │1156 580 │ entry = %UploadEntry{entry | valid?: true, uuid: generate_uuid()}1157 │ ~1158 │1159 └─ lib/phoenix_live_view/upload_config.ex:580:13: Phoenix.LiveView.UploadConfig.put_valid_entry/211601161 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:11621163 %Phoenix.LiveView.UploadEntry{entry | valid?: false}11641165 but got type:11661167 dynamic()11681169 where "entry" was given the type:11701171 # type: dynamic()1172 # from: lib/phoenix_live_view/upload_config.ex:592:321173 entry11741175 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"11761177 type warning found at:1178 │1179 593 │ entry = %UploadEntry{entry | valid?: false}1180 │ ~1181 │1182 └─ lib/phoenix_live_view/upload_config.ex:593:13: Phoenix.LiveView.UploadConfig.put_invalid_entry/311831184 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:11851186 %Phoenix.LiveView.UploadEntry{entry | cancelled?: true}11871188 but got type:11891190 dynamic()11911192 where "entry" was given the type:11931194 # type: dynamic()1195 # from: lib/phoenix_live_view/upload_config.ex:676:421196 entry11971198 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"11991200 type warning found at:1201 │1202 676 │ update_entry(conf, entry.ref, fn entry -> %UploadEntry{entry | cancelled?: true} end)1203 │ ~1204 │1205 └─ lib/phoenix_live_view/upload_config.ex:676:51: Phoenix.LiveView.UploadConfig.cancel_entry/212061207 warning: a struct for Phoenix.LiveView.Socket is expected on struct update:12081209 %Phoenix.LiveView.Socket{1210 socket1211 | assigns: Map.merge(temp_assigns, socket.assigns),1212 private: Map.put(socket.private, :temporary_assigns, temp_assigns)1213 }12141215 but got type:12161217 dynamic()12181219 where "socket" was given the type:12201221 # type: dynamic()1222 # from: lib/phoenix_live_view/utils.ex:528:211223 socket12241225 when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"12261227 type warning found at:1228 │1229 535 │ %Socket{1230 │ ~1231 │1232 └─ lib/phoenix_live_view/utils.ex:535:5: Phoenix.LiveView.Utils.do_mount_opt/312331234 warning: the following clause will never match:12351236 {:error, reason} ->12371238 because it attempts to match on the result of:12391240 IO.binwrite(state.file, data)12411242 which has type:12431244 dynamic(not {:error, term()})12451246 type warning found at:1247 │1248 23 │ {:error, reason} -> {:error, reason, state}1249 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1250 │1251 └─ lib/phoenix_live_view/upload_tmp_file_writer.ex:23: Phoenix.LiveView.UploadTmpFileWriter.write_chunk/212521253 warning: Logger.disable/1 is deprecated. Use Logger.put_process_level(pid, :none) instead1254 │1255 73 │ Logger.disable(self())1256 │ ~1257 │1258 └─ lib/phoenix_live_view/test/client_proxy.ex:73:12: Phoenix.LiveViewTest.ClientProxy.init/112591260 warning: the right-hand side of || (shown as ... below) will never be executed:12611262 conn.private[:live_view_connect_info] || prune_conn(conn) || ...12631264 because the left-hand side always evaluates to:12651266 dynamic(not false and not nil)12671268 where "conn" was given the types:12691270 # type: dynamic(%Plug.Conn{assigns: %{..., live_module: term()}, status: integer()})1271 # from: lib/phoenix_live_view/test/live_view_test.ex:324:721272 %Plug.Conn{status: 200, assigns: %{live_module: live_module}} = conn12731274 # type: dynamic(%Plug.Conn{1275 assigns: %{..., live_module: term()},1276 private:1277 %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or1278 non_struct_map(),1279 status: integer()1280 })1281 # from: lib/phoenix_live_view/test/live_view_test.ex:338:351282 conn.private[:live_view_connect_params]12831284 type warning found at:1285 │1286 339 │ connect_info: conn.private[:live_view_connect_info] || prune_conn(conn) || %{},1287 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1288 │1289 └─ lib/phoenix_live_view/test/live_view_test.ex:339: Phoenix.LiveViewTest.connect_from_static_token/212901291 warning: a struct for Phoenix.LiveViewTest.ClientProxy is expected on struct update:12921293 %Phoenix.LiveViewTest.ClientProxy{view | rendered: rendered}12941295 but got type:12961297 dynamic(%{..., rendered: map()})12981299 where "view" was given the type:13001301 # type: dynamic(%{..., rendered: map()})1302 # from: lib/phoenix_live_view/test/client_proxy.ex:739:241303 Phoenix.LiveViewTest.DOM.merge_diff(view.rendered, diff)13041305 when defining the variable "view", you must also pattern match on "%Phoenix.LiveViewTest.ClientProxy{}"13061307 type warning found at:1308 │1309 740 │ new_view = %ClientProxy{view | rendered: rendered}1310 │ ~1311 │1312 └─ lib/phoenix_live_view/test/client_proxy.ex:740:20: Phoenix.LiveViewTest.ClientProxy.merge_rendered/313131314 warning: a struct for Phoenix.LiveView.Socket is expected on struct update:13151316 %Phoenix.LiveView.Socket{1317 socket1318 | assigns: %Phoenix.LiveView.Socket.AssignsNotInSocket{__assigns__: assigns}1319 }13201321 but got type:13221323 dynamic(%{..., assigns: term()})13241325 where "socket" was given the type:13261327 # type: dynamic(%{..., assigns: term()})1328 # from: lib/phoenix_live_view/renderer.ex:121:431329 %{assigns: assigns} = socket13301331 when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"13321333 type warning found at:1334 │1335 122 │ socket = %Socket{socket | assigns: %Socket.AssignsNotInSocket{__assigns__: assigns}}1336 │ ~1337 │1338 └─ lib/phoenix_live_view/renderer.ex:122:14: Phoenix.LiveView.Renderer.render_assigns/113391340 warning: the following pattern will never match:13411342 template = Phoenix.LiveView.Utils.normalize_layout(template, "live_session :root_layout")13431344 because the right-hand side has type:13451346 none()13471348 where "template" was given the types:13491350 # type: binary()1351 # from: lib/phoenix_live_view/router.ex:288:661352 is_binary(template)13531354 # type: binary()1355 # from: lib/phoenix_live_view/router.ex1356 {:root_layout, {mod, template}}13571358 type warning found at:1359 │1360 289 │ template = Phoenix.LiveView.Utils.normalize_layout(template, "live_session :root_layout")1361 │ ~1362 │1363 └─ lib/phoenix_live_view/router.ex:289:18: Phoenix.LiveView.Router.validate_live_session_opts/313641365 warning: the following pattern will never match:13661367 template = Phoenix.LiveView.Utils.normalize_layout(template, "live_session :layout")13681369 because the right-hand side has type:13701371 none()13721373 where "template" was given the types:13741375 # type: binary()1376 # from: lib/phoenix_live_view/router.ex:305:611377 is_binary(template)13781379 # type: binary()1380 # from: lib/phoenix_live_view/router.ex1381 {:layout, {mod, template}}13821383 type warning found at:1384 │1385 306 │ template = Phoenix.LiveView.Utils.normalize_layout(template, "live_session :layout")1386 │ ~1387 │1388 └─ lib/phoenix_live_view/router.ex:306:18: Phoenix.LiveView.Router.validate_live_session_opts/313891390 warning: the following clause is redundant:13911392 def to_iodata(%_{} = struct)13931394 it has type:13951396 dynamic(%Phoenix.LiveView.Rendered{})13971398 previous clauses have already matched on the following types:13991400 %Phoenix.LiveView.Rendered{}14011402 │1403 153 │ def to_iodata(%_{} = struct) do1404 │ ~1405 │1406 └─ lib/phoenix_live_view/engine.ex:153:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/114071408 warning: the 1st pattern in clause will never match:14091410 nil14111412 because it is expected to receive type:14131414 dynamic(%Phoenix.LiveView.Rendered{})14151416 hint: defimpl for Phoenix.LiveView.Rendered requires its callbacks to match exclusively on %Phoenix.LiveView.Rendered{}14171418 type warning found at:1419 │1420 157 │ def to_iodata(nil) do1421 │ ~~~~~~~~~~~~~~~~~~~~~1422 │1423 └─ lib/phoenix_live_view/engine.ex:157: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/114241425 warning: the following clause is redundant:14261427 def to_iodata(other)14281429 it has type:14301431 dynamic(%Phoenix.LiveView.Rendered{})14321433 previous clauses have already matched on the following types:14341435 %Phoenix.LiveView.Rendered{}14361437 │1438 161 │ def to_iodata(other) do1439 │ ~1440 │1441 └─ lib/phoenix_live_view/engine.ex:161:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/114421443 warning: this clause of defp class_names/1 is never used (or it will always fail/warn when invoked)1444 │1445 799 │ defp class_names(nil), do: []1446 │ ~1447 │1448 └─ lib/phoenix_live_view/js.ex:799:8: Phoenix.LiveView.JS.class_names/114491450Generated phoenix_live_view app1451==> live_view_native1452Compiling 21 files (.ex)1453 warning: the following clause will never match:14541455 _ ->14561457 it is expected to match on type:14581459 none()14601461 type warning found at:1462 │1463 31 │ _ ->1464 │ ~1465 │1466 └─ lib/live_view_native/templates.ex:31:7: LiveViewNative.Templates.compile_class_tree/314671468Generated live_view_native app1469warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1470 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21471 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11472 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51473 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21474 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41475 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/214761477==> phoenix_live_dashboard1478Compiling 36 files (.ex)1479 warning: Postgrex.Interval.to_string/1 is undefined (module Postgrex.Interval is not available or is yet to be defined)1480 │1481 281 │ do: struct.to_string(value)1482 │ ~1483 │1484 └─ lib/phoenix/live_dashboard/pages/ecto_stats_page.ex:281:16: Phoenix.LiveDashboard.EctoStatsPage.format/214851486Generated phoenix_live_dashboard app1487==> live_view_native_swiftui1488Compiling 14 files (.ex)1489 warning: unused require Logger1490 │1491 12 │ require Logger1492 │ ~1493 │1494 └─ lib/live_view_native/swiftui/platform.ex:12:514951496Compiling lib/live_view_native/swiftui/rules_parser/modifiers.ex (it's taking more than 10s)1497 warning: the following clause will never match:14981499 {:., annotations, [nil, part]} ->15001501 because it attempts to match on the result of:15021503 outer15041505 which has type:15061507 dynamic(atom())15081509 type warning found at:1510 │1511 96 │ {:., annotations, [nil, part]} ->1512 │ ~1513 │1514 └─ lib/live_view_native/swiftui/rules_parser/post_processors.ex:96:9: LiveViewNative.SwiftUI.RulesParser.PostProcessors.combine_chain_ast_parts/215151516Generated live_view_native_swiftui app1517==> kino_live_view_native1518Compiling 19 files (.ex)1519 warning: unused require IEx.Helpers1520 │1521 3 │ require IEx.Helpers1522 │ ~1523 │1524 └─ lib/server/smart_cells/live_view_native.ex:3:315251526warning: defining a Gettext backend by calling15271528 use Gettext, otp_app: ...15291530is deprecated. To define a backend, call:15311532 use Gettext.Backend, otp_app: :my_app15331534Then, instead of importing your backend, call this in your module:15351536 use Gettext, backend: MyApp.Gettext15371538 lib/server_web/gettext.ex:23: ServerWeb.Gettext (module)15391540 warning: variable "params" is unused (if the variable is not meant to be used, prefix it with an underscore)1541 │1542 4 │ def mount(params, session, socket) do1543 │ ~~~~~~1544 │1545 └─ lib/server_web/live/hello_live.ex:4:13: ServerWeb.HelloLive.mount/315461547 warning: variable "session" is unused (if the variable is not meant to be used, prefix it with an underscore)1548 │1549 4 │ def mount(params, session, socket) do1550 │ ~~~~~~~1551 │1552 └─ lib/server_web/live/hello_live.ex:4:21: ServerWeb.HelloLive.mount/315531554 warning: variable "assigns" is unused (if the variable is not meant to be used, prefix it with an underscore)1555 │1556 8 │ def render(assigns = %{format: :swiftui}) do1557 │ ~~~~~~~1558 │1559 └─ lib/server_web/live/hello_live.ex:8:14: ServerWeb.HelloLive.render/115601561 error: undefined function sigil_SWIFTUI/2 (expected ServerWeb.HelloLive to define such a function or for it to be imported, but none are available)1562 │1563 9 │ ~SWIFTUI"""1564 │ ^^^^^^^^^^^^^1565 │1566 └─ lib/server_web/live/hello_live.ex:9:5: ServerWeb.HelloLive.render/1156715681569== Compilation error in file lib/server_web/live/hello_live.ex ==1570** (CompileError) lib/server_web/live/hello_live.ex: cannot compile module ServerWeb.HelloLive (errors have been logged)15711572could not compile dependency :kino_live_view_native, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile kino_live_view_native --force", update it with "mix deps.update kino_live_view_native" or clean it with "mix deps.clean kino_live_view_native"