Build log
nerves_system_rpi5
kino_live_view_native 0.2.2 · fail · run kino_live_view_native-0.2.2-1790967424002
1571 of 1571 lines
1Resolving Hex dependencies...2Resolution completed in 0.549s3Unchanged: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)184Generated floki app185==> mime186Compiling 1 file (.ex)187Generated mime app188==> circular_buffer189Compiling 1 file (.ex)190Generated circular_buffer app191==> nimble_options192Compiling 3 files (.ex)193Generated nimble_options app194==> plug_crypto195Compiling 5 files (.ex)196Generated plug_crypto app197==> hpax198Compiling 4 files (.ex)199Generated hpax app200==> nerves_compatibility_test201===> Analyzing applications...202===> Compiling ranch203==> tablet204Compiling 2 files (.ex)205Generated tablet app206==> owl207Compiling 19 files (.ex)208Generated owl app209==> elixir_make210Compiling 8 files (.ex)211Generated elixir_make app212==> nerves_logging213 CC kmsg_tailer.o214 LD kmsg_tailer215Compiling 5 files (.ex)216Generated nerves_logging app217==> castore218Compiling 1 file (.ex)219Generated castore app220==> mint221Compiling 1 file (.erl)222Compiling 21 files (.ex)223Generated mint app224==> nerves_compatibility_test225===> Analyzing applications...226===> Compiling cowlib227==> nerves_discovery228Compiling 5 files (.ex)229Generated nerves_discovery app230==> ring_logger231Compiling 7 files (.ex)232Generated ring_logger app233==> deep_merge234Compiling 2 files (.ex)235Generated deep_merge app236==> decimal237Compiling 4 files (.ex)238Generated decimal app239==> jason240Compiling 10 files (.ex)241Generated jason app242==> esbuild243Compiling 4 files (.ex)244Generated esbuild app245==> table246Compiling 5 files (.ex)247Generated table app248==> interactive_cmd249Compiling 1 file (.ex)250Generated interactive_cmd app251==> nerves252Compiling 65 files (.ex)253 warning: redefining module Nerves (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.beam)254 │255 6 │ defmodule Nerves do256 │ ~~~~~~~~~~~~~~~~~~~257 │258 └─ lib/nerves.ex:6: Nerves (module)259260 warning: redefining module Mix.Tasks.Nerves.Init (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Mix.Tasks.Nerves.Init.beam)261 │262 6 │ defmodule Mix.Tasks.Nerves.Init do263 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~264 │265 └─ lib/mix/tasks/nerves.init.ex:6: Mix.Tasks.Nerves.Init (module)266267 warning: redefining module Nerves.ArtifactResolver (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.ArtifactResolver.beam)268 │269 5 │ defmodule Nerves.ArtifactResolver do270 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~271 │272 └─ lib/nerves/artifact_resolver.ex:5: Nerves.ArtifactResolver (module)273274 warning: redefining module Nerves.BuildAction.AppModes (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.AppModes.beam)275 │276 6 │ defmodule Nerves.BuildAction.AppModes do277 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~278 │279 └─ lib/nerves/build_action/app_modes.ex:6: Nerves.BuildAction.AppModes (module)280281 warning: redefining module Nerves.BuildAction.CheckExecutables (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.CheckExecutables.beam)282 │283 5 │ defmodule Nerves.BuildAction.CheckExecutables do284 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~285 │286 └─ lib/nerves/build_action/check_executables.ex:5: Nerves.BuildAction.CheckExecutables (module)287288 warning: redefining module Nerves.BuildAction.Erlinit (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.Erlinit.beam)289 │290 8 │ defmodule Nerves.BuildAction.Erlinit do291 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~292 │293 └─ lib/nerves/build_action/erlinit.ex:8: Nerves.BuildAction.Erlinit (module)294295 warning: redefining module Nerves.BuildAction.Firmware (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.Firmware.beam)296 │297 5 │ defmodule Nerves.BuildAction.Firmware do298 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~299 │300 └─ lib/nerves/build_action/firmware.ex:5: Nerves.BuildAction.Firmware (module)301302 warning: redefining module Nerves.BuildAction.IExStartupCheck (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.IExStartupCheck.beam)303 │304 7 │ defmodule Nerves.BuildAction.IExStartupCheck do305 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~306 │307 └─ lib/nerves/build_action/iex_startup_check.ex:7: Nerves.BuildAction.IExStartupCheck (module)308309 warning: redefining module Nerves.BuildAction.NervesV1System (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1System.beam)310 │311 5 │ defmodule Nerves.BuildAction.NervesV1System do312 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~313 │314 └─ lib/nerves/build_action/nerves_v1_system.ex:5: Nerves.BuildAction.NervesV1System (module)315316 warning: redefining module Nerves.BuildAction.NervesV1Toolchain (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1Toolchain.beam)317 │318 5 │ defmodule Nerves.BuildAction.NervesV1Toolchain do319 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~320 │321 └─ lib/nerves/build_action/nerves_v1_toolchain.ex:5: Nerves.BuildAction.NervesV1Toolchain (module)322323 warning: redefining module Nerves.BuildAction.Rootfs (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.Rootfs.beam)324 │325 5 │ defmodule Nerves.BuildAction.Rootfs do326 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~327 │328 └─ lib/nerves/build_action/rootfs.ex:5: Nerves.BuildAction.Rootfs (module)329330 warning: redefining module Nerves.BuildAction.SortApps (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.SortApps.beam)331 │332 6 │ defmodule Nerves.BuildAction.SortApps do333 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~334 │335 └─ lib/nerves/build_action/sort_apps.ex:6: Nerves.BuildAction.SortApps (module)336337 warning: redefining module Nerves.BuildAction.StripAll (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.StripAll.beam)338 │339 5 │ defmodule Nerves.BuildAction.StripAll do340 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~341 │342 └─ lib/nerves/build_action/strip_all.ex:5: Nerves.BuildAction.StripAll (module)343344 warning: redefining module Nerves.BuildAction.Trimmer (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildAction.Trimmer.beam)345 │346 5 │ defmodule Nerves.BuildAction.Trimmer do347 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~348 │349 └─ lib/nerves/build_action/trimmer.ex:5: Nerves.BuildAction.Trimmer (module)350351 warning: redefining module Nerves.BuildPlan (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildPlan.beam)352 │353 5 │ defmodule Nerves.BuildPlan do354 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~355 │356 └─ lib/nerves/build_plan.ex:5: Nerves.BuildPlan (module)357358 warning: redefining module Nerves.BuildPlan.Checks (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.BuildPlan.Checks.beam)359 │360 5 │ defmodule Nerves.BuildPlan.Checks do361 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~362 │363 └─ lib/nerves/build_plan/checks.ex:5: Nerves.BuildPlan.Checks (module)364365 warning: redefining module Nerves.Container (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.Container.beam)366 │367 6 │ defmodule Nerves.Container do368 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~369 │370 └─ lib/nerves/container.ex:6: Nerves.Container (module)371372 warning: redefining module Nerves.Fingerprint (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.Fingerprint.beam)373 │374 5 │ defmodule Nerves.Fingerprint do375 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~376 │377 └─ lib/nerves/fingerprint.ex:5: Nerves.Fingerprint (module)378379 warning: redefining module Nerves.MixPackage (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.MixPackage.beam)380 │381 5 │ defmodule Nerves.MixPackage do382 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~383 │384 └─ lib/nerves/mix_package.ex:5: Nerves.MixPackage (module)385386 warning: redefining module Nerves.Paths (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.Paths.beam)387 │388 5 │ defmodule Nerves.Paths do389 │ ~~~~~~~~~~~~~~~~~~~~~~~~~390 │391 └─ lib/nerves/paths.ex:5: Nerves.Paths (module)392393 warning: redefining module Nerves.TargetTuple (current version loaded from /work/proj/_build/rpi5/lib/nerves/ebin/Elixir.Nerves.TargetTuple.beam)394 │395 5 │ defmodule Nerves.TargetTuple do396 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~397 │398 └─ lib/nerves/target_tuple.ex:5: Nerves.TargetTuple (module)399400Generated nerves app401==> nerves_toolchain_aarch64_nerves_linux_gnu402Compiling 1 file (.ex)403Generated nerves_toolchain_aarch64_nerves_linux_gnu app404==> nerves_system_rpi5405Generated nerves_system_rpi5 app406==> nimble_parsec407Compiling 4 files (.ex)408Generated nimble_parsec app409==> makeup410Compiling 15 files (.ex)411Generated makeup app412==> makeup_swift413Compiling 3 files (.ex)414 warning: this clause cannot match because a previous clause at line 233 matches the same pattern as this clause415 │416 233 │ defparsec(417 │ ~~~~~~~~~~418 │419 └─ lib/makeup/lexers/swift_lexer.ex:233420421 warning: this clause cannot match because a previous clause at line 233 matches the same pattern as this clause422 │423 233 │ defparsec(424 │ ~~~~~~~~~~425 │426 └─ lib/makeup/lexers/swift_lexer.ex:233427428 warning: this clause cannot match because a previous clause at line 233 matches the same pattern as this clause429 │430 233 │ defparsec(431 │ ~~~~~~~~~~432 │433 └─ lib/makeup/lexers/swift_lexer.ex:233434435Generated makeup_swift app436==> nerves_compatibility_test437===> Analyzing applications...438===> Compiling telemetry439==> telemetry_metrics440Compiling 7 files (.ex)441 warning: unused require Logger442 │443 391 │ require Logger444 │ ~445 │446 └─ lib/telemetry_metrics.ex:391:3447448Generated telemetry_metrics app449==> nerves_compatibility_test450===> Analyzing applications...451===> Compiling telemetry_poller452==> ecto453Compiling 56 files (.ex)454Generated ecto app455==> nerves_compatibility_test456===> Analyzing applications...457===> Compiling cowboy458==> expo459Compiling 2 files (.erl)460Compiling 22 files (.ex)461Generated expo app462==> gettext463Compiling 18 files (.ex)464 warning: unused require Gettext.Macros465 │466 594 │ require Gettext.Macros467 │ ~468 │469 └─ lib/gettext.ex:594:3470471 warning: the following clause is redundant:472473 defp ensure_empty_msgstr!(%Expo.Message.Plural{} = message)474475 it has type:476477 dynamic(%Expo.Message.Plural{})478479 previous clauses have already matched on the following types:480481 %Expo.Message.Singular{}482 %Expo.Message.Plural{}483484 │485 391 │ defp ensure_empty_msgstr!(%Message.Plural{} = message) do486 │ ~487 │488 └─ lib/gettext/extractor.ex:391:8: Gettext.Extractor.ensure_empty_msgstr!/1489490 warning: Kernel.ParallelCompiler.async/1 is deprecated. Use `pmap/2` instead491 │492 426 │ Kernel.ParallelCompiler.async(fn ->493 │ ~494 │495 └─ lib/gettext/compiler.ex:426:39: Gettext.Compiler.compile_po_files/3496497Generated gettext app498==> phoenix_pubsub499Compiling 12 files (.ex)500Generated phoenix_pubsub app501==> live_view_native_stylesheet502Compiling 14 files (.ex)503Generated live_view_native_stylesheet app504==> dns_cluster505Compiling 1 file (.ex)506 warning: comparison between distinct types found:507508 net_state.started != :no509510 given types:511512 dynamic(not :no) != :no513514 where "net_state" was given the types:515516 # type: dynamic()517 # from: lib/dns_cluster.ex:166:8518 net_state519520 # type: dynamic(not false and not nil)521 # from: lib/dns_cluster.ex:166:8522 net_state523524 # type: dynamic(%{..., started: term()})525 # from: lib/dns_cluster.ex:169:25526 net_state.started == :no527528 # type: dynamic(%{..., started: not :no})529 # from: lib/dns_cluster.ex:179:25530 net_state.started == :no531532 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 false533534 type warning found at:535 │536 180 │ (!release? and net_state.started != :no and net_state[:name_domain] != :longnames) ->537 │ ~538 │539 └─ lib/dns_cluster.ex:180:44: DNSCluster.warn_on_invalid_dist/0540541Generated dns_cluster app542==> makeup_json543Compiling 3 files (.ex)544Generated makeup_json app545==> plug546Compiling 1 file (.erl)547Compiling 42 files (.ex)548Generated plug app549==> phoenix_html550Compiling 9 files (.ex)551 warning: comparison between distinct types found:552553 id == nil554555 given types:556557 dynamic(not false and not nil and not binary()) == nil558559 where "id" was given the types:560561 # type: dynamic(not false and not nil)562 # from: lib/phoenix_html/form_data.ex:92:8563 id = Keyword.get(opts, :id) || name564565 # type: dynamic(not false and not nil and not binary())566 # from: lib/phoenix_html/form_data.ex:94:12567 is_binary(id)568569 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 false570571 type warning found at:572 │573 94 │ unless is_binary(id) or is_nil(id) do574 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~575 │576 └─ lib/phoenix_html/form_data.ex:94: Phoenix.HTML.FormData.Atom.to_form/2577578 warning: the 1st pattern in clause will never match:579580 60581582 because it is expected to receive type:583584 dynamic(empty_list() or non_empty_list(term(), term()))585586 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())587588 type warning found at:589 │590 56 │ def to_iodata(?<), do: "<"591 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~592 │593 └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/1594595 warning: the 1st pattern in clause will never match:596597 62598599 because it is expected to receive type:600601 dynamic(empty_list() or non_empty_list(term(), term()))602603 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())604605 type warning found at:606 │607 57 │ def to_iodata(?>), do: ">"608 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~609 │610 └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/1611612 warning: the 1st pattern in clause will never match:613614 38615616 because it is expected to receive type:617618 dynamic(empty_list() or non_empty_list(term(), term()))619620 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())621622 type warning found at:623 │624 58 │ def to_iodata(?&), do: "&"625 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~626 │627 └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/1628629 warning: the 1st pattern in clause will never match:630631 34632633 because it is expected to receive type:634635 dynamic(empty_list() or non_empty_list(term(), term()))636637 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())638639 type warning found at:640 │641 59 │ def to_iodata(?"), do: """642 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~643 │644 └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/1645646 warning: the 1st pattern in clause will never match:647648 39649650 because it is expected to receive type:651652 dynamic(empty_list() or non_empty_list(term(), term()))653654 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())655656 type warning found at:657 │658 60 │ def to_iodata(?'), do: "'"659 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~660 │661 └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/1662663 warning: the 1st pattern in clause will never match:664665 {:safe, data}666667 because it is expected to receive type:668669 dynamic(empty_list() or non_empty_list(term(), term()))670671 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())672673 type warning found at:674 │675 76 │ def to_iodata({:safe, data}) do676 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~677 │678 └─ lib/phoenix_html/safe.ex:76: Phoenix.HTML.Safe.List.to_iodata/1679680 warning: the following clause is redundant:681682 def to_iodata(other)683684 it has type:685686 dynamic(empty_list() or non_empty_list(term(), term()))687688 previous clauses have already matched on the following types:689690 non_empty_list(term(), term())691 empty_list()692693 │694 80 │ def to_iodata(other) do695 │ ~696 │697 └─ lib/phoenix_html/safe.ex:80:7: Phoenix.HTML.Safe.List.to_iodata/1698699 warning: the 1st pattern in clause will never match:700701 h702703 because it is expected to receive type:704705 dynamic(empty_list() or non_empty_list(term(), term()))706707 where "h" was given the type:708709 # type: integer()710 # from: lib/phoenix_html/safe.ex:62:25711 is_integer(h)712713 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())714715 type warning found at:716 │717 62 │ def to_iodata(h) when is_integer(h) and h <= 255 do718 │ ~719 │720 └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/1721722 warning: the 1st pattern in clause will never match:723724 h725726 because it is expected to receive type:727728 dynamic(empty_list() or non_empty_list(term(), term()))729730 where "h" was given the type:731732 # type: integer()733 # from: lib/phoenix_html/safe.ex:66:25734 is_integer(h)735736 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())737738 type warning found at:739 │740 66 │ def to_iodata(h) when is_integer(h) do741 │ ~742 │743 └─ lib/phoenix_html/safe.ex:66:17: Phoenix.HTML.Safe.List.to_iodata/1744745 warning: the 1st pattern in clause will never match:746747 h748749 because it is expected to receive type:750751 dynamic(empty_list() or non_empty_list(term(), term()))752753 where "h" was given the type:754755 # type: binary()756 # from: lib/phoenix_html/safe.ex:72:25757 is_binary(h)758759 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())760761 type warning found at:762 │763 72 │ def to_iodata(h) when is_binary(h) do764 │ ~765 │766 └─ lib/phoenix_html/safe.ex:72:17: Phoenix.HTML.Safe.List.to_iodata/1767768Generated phoenix_html app769==> phoenix_template770Compiling 4 files (.ex)771Generated phoenix_template app772==> live_view_native_platform773Compiling 11 files (.ex)774 warning: "else" clauses will never match because all patterns in "with" will always match775 │776 38 │ with spec <- Application.spec(otp_app),777 │ ~778 │779 └─ lib/live_view_native_platform/env.ex:38:5780781 warning: the following clause will never match:782783 error ->784785 it is expected to match on type:786787 none()788789 type warning found at:790 │791 64 │ error ->792 │ ~793 │794 └─ lib/live_view_native_platform/env.ex:64:7: LiveViewNativePlatform.Env.define/2795796Generated live_view_native_platform app797==> phoenix_view798Compiling 1 file (.ex)799 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 operator800 │801 655 │ <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix802 │ ~803 │804 └─ lib/phoenix_view.ex:655:29: Phoenix.View.unsuffix/2805806Generated phoenix_view app807==> uboot_env808Compiling 5 files (.ex)809Generated uboot_env app810==> nimble_pool811Compiling 2 files (.ex)812Generated nimble_pool app813==> finch814Compiling 23 files (.ex)815Generated finch app816==> property_table817Compiling 8 files (.ex)818Generated property_table app819==> nerves_uevent820 CC uevent.o821 LD uevent822Compiling 5 files (.ex)823Generated nerves_uevent app824==> nerves_runtime825Compiling 14 files (.ex)826Generated nerves_runtime app827==> toolshed828Compiling 5 files (.ex)829Generated toolshed app830==> tailwind831Compiling 3 files (.ex)832Generated tailwind app833==> nerves_compatibility_test834===> Analyzing applications...835===> Compiling cowboy_telemetry836==> plug_cowboy837Compiling 5 files (.ex)838Generated plug_cowboy app839==> websock840Compiling 1 file (.ex)841Generated websock app842==> websock_adapter843Compiling 4 files (.ex)844Generated websock_adapter app845warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"846 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2847 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1848 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5849 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2850 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4851 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2852853==> phoenix854Compiling 71 files (.ex)855 warning: unused require Logger856 │857 9 │ require Logger858 │ ~859 │860 └─ lib/phoenix/config.ex:9:3861862 warning: unused require Logger863 │864 281 │ require Logger865 │ ~866 │867 └─ lib/phoenix/endpoint.ex:281:3868869 warning: unused require Phoenix.Endpoint870 │871 6 │ require Phoenix.Endpoint872 │ ~873 │874 └─ lib/phoenix/controller.ex:6:3875876 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 operator877 │878 46 │ <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix879 │ ~880 │881 └─ lib/phoenix/naming.ex:46:29: Phoenix.Naming.unsuffix/2882883 warning: unused require Phoenix.Endpoint884 │885 17 │ require Phoenix.Endpoint886 │ ~887 │888 └─ lib/phoenix/endpoint/render_errors.ex:17:3889890 warning: unused require Phoenix.Endpoint891 │892 6 │ require Phoenix.Endpoint893 │ ~894 │895 └─ lib/phoenix/channel/server.ex:6:3896897 warning: unused require Phoenix.Endpoint898 │899 202 │ require Phoenix.Endpoint900 │ ~901 │902 └─ lib/phoenix/socket.ex:202:3903904 warning: unused require Logger905 │906 70 │ require Logger907 │ ~908 │909 └─ lib/phoenix/socket/pool_supervisor.ex:70:3910911 warning: unused require Logger912 │913 100 │ require Logger914 │ ~915 │916 └─ lib/phoenix/token.ex:100:3917918 warning: comparison between distinct types found:919920 merge_all != []921922 given types:923924 dynamic(non_empty_list({atom(), term()})) != empty_list()925926 where "merge_all" was given the type:927928 # type: dynamic(non_empty_list({atom(), term()}))929 # from: lib/phoenix/router/route.ex:121:15930 merge_all = merge_params ++ merge_private ++ merge_assigns931932 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 false933934 type warning found at:935 │936 123 │ if merge_all != [] do937 │ ~938 │939 └─ lib/phoenix/router/route.ex:123:18: Phoenix.Router.Route.build_prepare/1940941 warning: a struct for Plug.Conn is expected on struct update:942943 %Plug.Conn{conn | state: :sent}944945 but got type:946947 dynamic()948949 where "conn" was given the type:950951 # type: dynamic()952 # from: lib/phoenix/endpoint/render_errors.ex:55:17953 conn954955 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"956957 type warning found at:958 │959 60 │ %Plug.Conn{conn | state: :sent}960 │ ~961 │962 └─ lib/phoenix/endpoint/render_errors.ex:60:11: Phoenix.Endpoint.RenderErrors.__catch__/5963964 warning: a struct for Plug.Conn is expected on struct update:965966 %Plug.Conn{conn | query_params: %{}, params: %{}}967968 but got type:969970 dynamic(%{..., params: %Plug.Conn.Unfetched{}})971972 where "conn" was given the types:973974 # type: dynamic(%{..., params: term()})975 # from: lib/phoenix/endpoint/render_errors.ex:133:17976 conn.params977978 # type: dynamic(%{..., params: %Plug.Conn.Unfetched{}})979 # from: lib/phoenix/endpoint/render_errors.ex:133:17980 conn.params981982 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"983984 type warning found at:985 │986 134 │ %Plug.Conn.Unfetched{} -> %Plug.Conn{conn | query_params: %{}, params: %{}}987 │ ~988 │989 └─ lib/phoenix/endpoint/render_errors.ex:134:35: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/1990991 warning: a struct for Plug.Conn is expected on struct update:992993 %Plug.Conn{conn | query_params: %{}, params: params}994995 but got type:996997 dynamic(%{..., params: not %Plug.Conn.Unfetched{}})998999 where "conn" was given the types:10001001 # type: dynamic(%{..., params: term()})1002 # from: lib/phoenix/endpoint/render_errors.ex:133:171003 conn.params10041005 # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})1006 # from: lib/phoenix/endpoint/render_errors.ex:133:171007 conn.params10081009 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"10101011 type warning found at:1012 │1013 135 │ params -> %Plug.Conn{conn | query_params: %{}, params: params}1014 │ ~1015 │1016 └─ lib/phoenix/endpoint/render_errors.ex:135:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/110171018 warning: a struct for Plug.Conn is expected on struct update:10191020 %Plug.Conn{conn | params: params}10211022 but got type:10231024 dynamic(%{..., params: map()})10251026 where "conn" was given the type:10271028 # type: dynamic(%{..., params: map()})1029 # from: lib/phoenix/controller.ex:1327:171030 Map.get(conn.params, required_key)10311032 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"10331034 type warning found at:1035 │1036 1334 │ %Plug.Conn{conn | params: params}1037 │ ~1038 │1039 └─ lib/phoenix/controller.ex:1334:5: Phoenix.Controller.scrub_params/210401041Generated phoenix app1042==> phoenix_live_reload1043Compiling 5 files (.ex)1044Generated phoenix_live_reload app1045warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1046 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21047 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11048 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51049 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21050 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41051 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/210521053==> phoenix_live_view1054Compiling 39 files (.ex)1055 warning: unused require Logger1056 │1057 48 │ require Logger1058 │ ~1059 │1060 └─ lib/phoenix_live_view/socket.ex:48:310611062 warning: unused require Phoenix.ChannelTest1063 │1064 183 │ require Phoenix.ChannelTest1065 │ ~1066 │1067 └─ lib/phoenix_live_view/test/live_view_test.ex:183:310681069 warning: unused require Phoenix.ConnTest1070 │1071 182 │ require Phoenix.ConnTest1072 │ ~1073 │1074 └─ lib/phoenix_live_view/test/live_view_test.ex:182:310751076 warning: unused require Phoenix.ChannelTest1077 │1078 5 │ require Phoenix.ChannelTest1079 │ ~1080 │1081 └─ lib/phoenix_live_view/test/upload_client.ex:5:310821083 warning: unused require Logger1084 │1085 6 │ require Logger1086 │ ~1087 │1088 └─ lib/phoenix_live_view/upload_channel.ex:6:310891090 warning: a struct for Phoenix.LiveView.Socket is expected on struct update:10911092 %Phoenix.LiveView.Socket{1093 socket1094 | assigns: Map.merge(temp_assigns, socket.assigns),1095 private: Map.put(socket.private, :temporary_assigns, temp_assigns)1096 }10971098 but got type:10991100 dynamic()11011102 where "socket" was given the type:11031104 # type: dynamic()1105 # from: lib/phoenix_live_view/utils.ex:528:211106 socket11071108 when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"11091110 type warning found at:1111 │1112 535 │ %Socket{1113 │ ~1114 │1115 └─ lib/phoenix_live_view/utils.ex:535:5: Phoenix.LiveView.Utils.do_mount_opt/311161117 warning: the following clause will never match:11181119 {:error, reason} ->11201121 because it attempts to match on the result of:11221123 IO.binwrite(state.file, data)11241125 which has type:11261127 dynamic(not {:error, term()})11281129 type warning found at:1130 │1131 23 │ {:error, reason} -> {:error, reason, state}1132 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1133 │1134 └─ lib/phoenix_live_view/upload_tmp_file_writer.ex:23: Phoenix.LiveView.UploadTmpFileWriter.write_chunk/211351136 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:11371138 %Phoenix.LiveView.UploadEntry{1139 entry1140 | preflighted?: entry.preflighted? || Enum.__in__(entry.ref, refs_awaiting)1141 }11421143 but got type:11441145 dynamic()11461147 where "entry" was given the type:11481149 # type: dynamic()1150 # from: lib/phoenix_live_view/upload_config.ex:363:171151 entry <- conf.entries11521153 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"11541155 type warning found at:1156 │1157 364 │ %UploadEntry{entry | preflighted?: entry.preflighted? || entry.ref in refs_awaiting}1158 │ ~1159 │1160 └─ lib/phoenix_live_view/upload_config.ex:364:9: Phoenix.LiveView.UploadConfig.mark_preflighted/111611162 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:11631164 %Phoenix.LiveView.UploadEntry{entry | valid?: true, uuid: generate_uuid()}11651166 but got type:11671168 dynamic()11691170 where "entry" was given the type:11711172 # type: dynamic()1173 # from: lib/phoenix_live_view/upload_config.ex:579:301174 entry11751176 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"11771178 type warning found at:1179 │1180 580 │ entry = %UploadEntry{entry | valid?: true, uuid: generate_uuid()}1181 │ ~1182 │1183 └─ lib/phoenix_live_view/upload_config.ex:580:13: Phoenix.LiveView.UploadConfig.put_valid_entry/211841185 warning: the following clause is redundant:11861187 def update(assigns, _key, fun) when is_function(fun, 1) or is_function(fun, 2)11881189 it has type:11901191 dynamic(), dynamic(), dynamic((none() -> term()) or (none(), none() -> term()))11921193 previous clauses have already matched on the following types:11941195 %Phoenix.LiveView.Socket{}, term(), (none(), none() -> term())1196 %Phoenix.LiveView.Socket{}, term(), (none() -> term())1197 term(), term(), (none(), none() -> term())1198 term(), term(), (none() -> term())11991200 │1201 1366 │ def update(assigns, _key, fun) when is_function(fun, 1) or is_function(fun, 2) do1202 │ ~1203 │1204 └─ lib/phoenix_component.ex:1366:7: Phoenix.Component.update/312051206 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:12071208 %Phoenix.LiveView.UploadEntry{entry | valid?: false}12091210 but got type:12111212 dynamic()12131214 where "entry" was given the type:12151216 # type: dynamic()1217 # from: lib/phoenix_live_view/upload_config.ex:592:321218 entry12191220 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"12211222 type warning found at:1223 │1224 593 │ entry = %UploadEntry{entry | valid?: false}1225 │ ~1226 │1227 └─ lib/phoenix_live_view/upload_config.ex:593:13: Phoenix.LiveView.UploadConfig.put_invalid_entry/312281229 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:12301231 %Phoenix.LiveView.UploadEntry{entry | cancelled?: true}12321233 but got type:12341235 dynamic()12361237 where "entry" was given the type:12381239 # type: dynamic()1240 # from: lib/phoenix_live_view/upload_config.ex:676:421241 entry12421243 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"12441245 type warning found at:1246 │1247 676 │ update_entry(conf, entry.ref, fn entry -> %UploadEntry{entry | cancelled?: true} end)1248 │ ~1249 │1250 └─ lib/phoenix_live_view/upload_config.ex:676:51: Phoenix.LiveView.UploadConfig.cancel_entry/212511252 warning: Logger.disable/1 is deprecated. Use Logger.put_process_level(pid, :none) instead1253 │1254 73 │ Logger.disable(self())1255 │ ~1256 │1257 └─ lib/phoenix_live_view/test/client_proxy.ex:73:12: Phoenix.LiveViewTest.ClientProxy.init/112581259 warning: a struct for Phoenix.LiveViewTest.ClientProxy is expected on struct update:12601261 %Phoenix.LiveViewTest.ClientProxy{view | rendered: rendered}12621263 but got type:12641265 dynamic(%{..., rendered: map()})12661267 where "view" was given the type:12681269 # type: dynamic(%{..., rendered: map()})1270 # from: lib/phoenix_live_view/test/client_proxy.ex:739:241271 Phoenix.LiveViewTest.DOM.merge_diff(view.rendered, diff)12721273 when defining the variable "view", you must also pattern match on "%Phoenix.LiveViewTest.ClientProxy{}"12741275 type warning found at:1276 │1277 740 │ new_view = %ClientProxy{view | rendered: rendered}1278 │ ~1279 │1280 └─ lib/phoenix_live_view/test/client_proxy.ex:740:20: Phoenix.LiveViewTest.ClientProxy.merge_rendered/312811282 warning: the right-hand side of || (shown as ... below) will never be executed:12831284 conn.private[:live_view_connect_info] || prune_conn(conn) || ...12851286 because the left-hand side always evaluates to:12871288 dynamic(not false and not nil)12891290 where "conn" was given the types:12911292 # type: dynamic(%Plug.Conn{assigns: %{..., live_module: term()}, status: integer()})1293 # from: lib/phoenix_live_view/test/live_view_test.ex:324:721294 %Plug.Conn{status: 200, assigns: %{live_module: live_module}} = conn12951296 # type: dynamic(%Plug.Conn{1297 assigns: %{..., live_module: term()},1298 private:1299 %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or1300 non_struct_map(),1301 status: integer()1302 })1303 # from: lib/phoenix_live_view/test/live_view_test.ex:338:351304 conn.private[:live_view_connect_params]13051306 type warning found at:1307 │1308 339 │ connect_info: conn.private[:live_view_connect_info] || prune_conn(conn) || %{},1309 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1310 │1311 └─ lib/phoenix_live_view/test/live_view_test.ex:339: Phoenix.LiveViewTest.connect_from_static_token/213121313 warning: a struct for Phoenix.LiveView.Socket is expected on struct update:13141315 %Phoenix.LiveView.Socket{1316 socket1317 | assigns: %Phoenix.LiveView.Socket.AssignsNotInSocket{__assigns__: assigns}1318 }13191320 but got type:13211322 dynamic(%{..., assigns: term()})13231324 where "socket" was given the type:13251326 # type: dynamic(%{..., assigns: term()})1327 # from: lib/phoenix_live_view/renderer.ex:121:431328 %{assigns: assigns} = socket13291330 when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"13311332 type warning found at:1333 │1334 122 │ socket = %Socket{socket | assigns: %Socket.AssignsNotInSocket{__assigns__: assigns}}1335 │ ~1336 │1337 └─ lib/phoenix_live_view/renderer.ex:122:14: Phoenix.LiveView.Renderer.render_assigns/113381339 warning: the following pattern will never match:13401341 template = Phoenix.LiveView.Utils.normalize_layout(template, "live_session :root_layout")13421343 because the right-hand side has type:13441345 none()13461347 where "template" was given the types:13481349 # type: binary()1350 # from: lib/phoenix_live_view/router.ex:288:661351 is_binary(template)13521353 # type: binary()1354 # from: lib/phoenix_live_view/router.ex1355 {:root_layout, {mod, template}}13561357 type warning found at:1358 │1359 289 │ template = Phoenix.LiveView.Utils.normalize_layout(template, "live_session :root_layout")1360 │ ~1361 │1362 └─ lib/phoenix_live_view/router.ex:289:18: Phoenix.LiveView.Router.validate_live_session_opts/313631364 warning: the following pattern will never match:13651366 template = Phoenix.LiveView.Utils.normalize_layout(template, "live_session :layout")13671368 because the right-hand side has type:13691370 none()13711372 where "template" was given the types:13731374 # type: binary()1375 # from: lib/phoenix_live_view/router.ex:305:611376 is_binary(template)13771378 # type: binary()1379 # from: lib/phoenix_live_view/router.ex1380 {:layout, {mod, template}}13811382 type warning found at:1383 │1384 306 │ template = Phoenix.LiveView.Utils.normalize_layout(template, "live_session :layout")1385 │ ~1386 │1387 └─ lib/phoenix_live_view/router.ex:306:18: Phoenix.LiveView.Router.validate_live_session_opts/313881389 warning: the following clause is redundant:13901391 def to_iodata(%_{} = struct)13921393 it has type:13941395 dynamic(%Phoenix.LiveView.Rendered{})13961397 previous clauses have already matched on the following types:13981399 %Phoenix.LiveView.Rendered{}14001401 │1402 153 │ def to_iodata(%_{} = struct) do1403 │ ~1404 │1405 └─ lib/phoenix_live_view/engine.ex:153:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/114061407 warning: the 1st pattern in clause will never match:14081409 nil14101411 because it is expected to receive type:14121413 dynamic(%Phoenix.LiveView.Rendered{})14141415 hint: defimpl for Phoenix.LiveView.Rendered requires its callbacks to match exclusively on %Phoenix.LiveView.Rendered{}14161417 type warning found at:1418 │1419 157 │ def to_iodata(nil) do1420 │ ~~~~~~~~~~~~~~~~~~~~~1421 │1422 └─ lib/phoenix_live_view/engine.ex:157: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/114231424 warning: the following clause is redundant:14251426 def to_iodata(other)14271428 it has type:14291430 dynamic(%Phoenix.LiveView.Rendered{})14311432 previous clauses have already matched on the following types:14331434 %Phoenix.LiveView.Rendered{}14351436 │1437 161 │ def to_iodata(other) do1438 │ ~1439 │1440 └─ lib/phoenix_live_view/engine.ex:161:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/114411442 warning: this clause of defp class_names/1 is never used (or it will always fail/warn when invoked)1443 │1444 799 │ defp class_names(nil), do: []1445 │ ~1446 │1447 └─ lib/phoenix_live_view/js.ex:799:8: Phoenix.LiveView.JS.class_names/114481449Generated phoenix_live_view app1450==> live_view_native1451Compiling 21 files (.ex)1452 warning: the following clause will never match:14531454 _ ->14551456 it is expected to match on type:14571458 none()14591460 type warning found at:1461 │1462 31 │ _ ->1463 │ ~1464 │1465 └─ lib/live_view_native/templates.ex:31:7: LiveViewNative.Templates.compile_class_tree/314661467Generated live_view_native app1468warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1469 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21470 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11471 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51472 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21473 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41474 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/214751476==> phoenix_live_dashboard1477Compiling 36 files (.ex)1478 warning: Postgrex.Interval.to_string/1 is undefined (module Postgrex.Interval is not available or is yet to be defined)1479 │1480 281 │ do: struct.to_string(value)1481 │ ~1482 │1483 └─ lib/phoenix/live_dashboard/pages/ecto_stats_page.ex:281:16: Phoenix.LiveDashboard.EctoStatsPage.format/214841485Generated phoenix_live_dashboard app1486==> live_view_native_swiftui1487Compiling 14 files (.ex)1488 warning: unused require Logger1489 │1490 12 │ require Logger1491 │ ~1492 │1493 └─ lib/live_view_native/swiftui/platform.ex:12:514941495Compiling lib/live_view_native/swiftui/rules_parser/modifiers.ex (it's taking more than 10s)1496 warning: the following clause will never match:14971498 {:., annotations, [nil, part]} ->14991500 because it attempts to match on the result of:15011502 outer15031504 which has type:15051506 dynamic(atom())15071508 type warning found at:1509 │1510 96 │ {:., annotations, [nil, part]} ->1511 │ ~1512 │1513 └─ lib/live_view_native/swiftui/rules_parser/post_processors.ex:96:9: LiveViewNative.SwiftUI.RulesParser.PostProcessors.combine_chain_ast_parts/215141515Generated live_view_native_swiftui app1516==> kino_live_view_native1517Compiling 19 files (.ex)1518 warning: unused require IEx.Helpers1519 │1520 3 │ require IEx.Helpers1521 │ ~1522 │1523 └─ lib/server/smart_cells/live_view_native.ex:3:315241525warning: defining a Gettext backend by calling15261527 use Gettext, otp_app: ...15281529is deprecated. To define a backend, call:15301531 use Gettext.Backend, otp_app: :my_app15321533Then, instead of importing your backend, call this in your module:15341535 use Gettext, backend: MyApp.Gettext15361537 lib/server_web/gettext.ex:23: ServerWeb.Gettext (module)15381539 warning: variable "params" is unused (if the variable is not meant to be used, prefix it with an underscore)1540 │1541 4 │ def mount(params, session, socket) do1542 │ ~~~~~~1543 │1544 └─ lib/server_web/live/hello_live.ex:4:13: ServerWeb.HelloLive.mount/315451546 warning: variable "session" is unused (if the variable is not meant to be used, prefix it with an underscore)1547 │1548 4 │ def mount(params, session, socket) do1549 │ ~~~~~~~1550 │1551 └─ lib/server_web/live/hello_live.ex:4:21: ServerWeb.HelloLive.mount/315521553 warning: variable "assigns" is unused (if the variable is not meant to be used, prefix it with an underscore)1554 │1555 8 │ def render(assigns = %{format: :swiftui}) do1556 │ ~~~~~~~1557 │1558 └─ lib/server_web/live/hello_live.ex:8:14: ServerWeb.HelloLive.render/115591560 error: undefined function sigil_SWIFTUI/2 (expected ServerWeb.HelloLive to define such a function or for it to be imported, but none are available)1561 │1562 9 │ ~SWIFTUI"""1563 │ ^^^^^^^^^^^^^1564 │1565 └─ lib/server_web/live/hello_live.ex:9:5: ServerWeb.HelloLive.render/1156615671568== Compilation error in file lib/server_web/live/hello_live.ex ==1569** (CompileError) lib/server_web/live/hello_live.ex: cannot compile module ServerWeb.HelloLive (errors have been logged)15701571could 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"