Build log
nerves_system_qemu_aarch64
kino_live_view_native 0.2.2 · fail · run kino_live_view_native-0.2.2-1790967424002
1626 of 1626 lines
1Resolving Hex dependencies...2Resolution completed in 0.4s3Unchanged: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 Mix.Tasks.Nerves.Init (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Mix.Tasks.Nerves.Init.beam)254 │255 6 │ defmodule Mix.Tasks.Nerves.Init do256 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~257 │258 └─ lib/mix/tasks/nerves.init.ex:6: Mix.Tasks.Nerves.Init (module)259260 warning: redefining module Nerves (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.beam)261 │262 6 │ defmodule Nerves do263 │ ~~~~~~~~~~~~~~~~~~~264 │265 └─ lib/nerves.ex:6: Nerves (module)266267 warning: redefining module Nerves.ArtifactResolver (current version loaded from /work/proj/_build/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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/qemu_aarch64/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_qemu_aarch64405Compiling 1 file (.ex)406Generated nerves_system_qemu_aarch64 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==> fss547Compiling 4 files (.ex)548Generated fss app549==> kino550Compiling 47 files (.ex)551 warning: unused require Logger552 │553 183 │ require Logger554 │ ~555 │556 └─ lib/kino/smart_cell.ex:183:3557558 warning: unused require Logger559 │560 4 │ require Logger561 │ ~562 │563 └─ lib/kino/smart_cell/server.ex:4:3564565 warning: you are implementing a protocol for Nx.Heatmap but said module is not available. Make sure the module name is correct. If Nx.Heatmap is an optional dependency, please wrap the protocol implementation in a Code.ensure_loaded?(Nx.Heatmap) check566 │567 239 │ defimpl Kino.Render, for: Nx.Heatmap do568 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~569 │570 └─ lib/kino/render.ex:239: (file)571572 warning: comparison between distinct types found:573574 assets_path != nil575576 given types:577578 dynamic(binary() or empty_list() or non_empty_list(term(), term())) != nil579580 where "assets_path" was given the types:581582 # type: dynamic(nil or binary() or empty_list() or non_empty_list(term(), term()))583 # from: lib/kino/js.ex:253:19584 __paths__(assets_path)585586 # type: dynamic(binary() or empty_list() or non_empty_list(term(), term()))587 # from: lib/kino/js.ex:257:25588 Path.join(assets_path, path)589590 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 false591592 type warning found at:593 │594 266 │ assets_path_defined? = assets_path != nil595 │ ~596 │597 └─ lib/kino/js.ex:266:40: Kino.JS.__before_compile__/1598599Generated kino app600==> plug601Compiling 1 file (.erl)602Compiling 42 files (.ex)603Generated plug app604==> phoenix_html605Compiling 9 files (.ex)606 warning: comparison between distinct types found:607608 id == nil609610 given types:611612 dynamic(not false and not nil and not binary()) == nil613614 where "id" was given the types:615616 # type: dynamic(not false and not nil)617 # from: lib/phoenix_html/form_data.ex:92:8618 id = Keyword.get(opts, :id) || name619620 # type: dynamic(not false and not nil and not binary())621 # from: lib/phoenix_html/form_data.ex:94:12622 is_binary(id)623624 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 false625626 type warning found at:627 │628 94 │ unless is_binary(id) or is_nil(id) do629 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~630 │631 └─ lib/phoenix_html/form_data.ex:94: Phoenix.HTML.FormData.Atom.to_form/2632633 warning: the 1st pattern in clause will never match:634635 60636637 because it is expected to receive type:638639 dynamic(empty_list() or non_empty_list(term(), term()))640641 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())642643 type warning found at:644 │645 56 │ def to_iodata(?<), do: "<"646 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~647 │648 └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/1649650 warning: the 1st pattern in clause will never match:651652 62653654 because it is expected to receive type:655656 dynamic(empty_list() or non_empty_list(term(), term()))657658 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())659660 type warning found at:661 │662 57 │ def to_iodata(?>), do: ">"663 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~664 │665 └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/1666667 warning: the 1st pattern in clause will never match:668669 38670671 because it is expected to receive type:672673 dynamic(empty_list() or non_empty_list(term(), term()))674675 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())676677 type warning found at:678 │679 58 │ def to_iodata(?&), do: "&"680 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~681 │682 └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/1683684 warning: the 1st pattern in clause will never match:685686 34687688 because it is expected to receive type:689690 dynamic(empty_list() or non_empty_list(term(), term()))691692 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())693694 type warning found at:695 │696 59 │ def to_iodata(?"), do: """697 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~698 │699 └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/1700701 warning: the 1st pattern in clause will never match:702703 39704705 because it is expected to receive type:706707 dynamic(empty_list() or non_empty_list(term(), term()))708709 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())710711 type warning found at:712 │713 60 │ def to_iodata(?'), do: "'"714 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~715 │716 └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/1717718 warning: the 1st pattern in clause will never match:719720 {:safe, data}721722 because it is expected to receive type:723724 dynamic(empty_list() or non_empty_list(term(), term()))725726 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())727728 type warning found at:729 │730 76 │ def to_iodata({:safe, data}) do731 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~732 │733 └─ lib/phoenix_html/safe.ex:76: Phoenix.HTML.Safe.List.to_iodata/1734735 warning: the following clause is redundant:736737 def to_iodata(other)738739 it has type:740741 dynamic(empty_list() or non_empty_list(term(), term()))742743 previous clauses have already matched on the following types:744745 non_empty_list(term(), term())746 empty_list()747748 │749 80 │ def to_iodata(other) do750 │ ~751 │752 └─ lib/phoenix_html/safe.ex:80:7: Phoenix.HTML.Safe.List.to_iodata/1753754 warning: the 1st pattern in clause will never match:755756 h757758 because it is expected to receive type:759760 dynamic(empty_list() or non_empty_list(term(), term()))761762 where "h" was given the type:763764 # type: integer()765 # from: lib/phoenix_html/safe.ex:62:25766 is_integer(h)767768 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())769770 type warning found at:771 │772 62 │ def to_iodata(h) when is_integer(h) and h <= 255 do773 │ ~774 │775 └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/1776777 warning: the 1st pattern in clause will never match:778779 h780781 because it is expected to receive type:782783 dynamic(empty_list() or non_empty_list(term(), term()))784785 where "h" was given the type:786787 # type: integer()788 # from: lib/phoenix_html/safe.ex:66:25789 is_integer(h)790791 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())792793 type warning found at:794 │795 66 │ def to_iodata(h) when is_integer(h) do796 │ ~797 │798 └─ lib/phoenix_html/safe.ex:66:17: Phoenix.HTML.Safe.List.to_iodata/1799800 warning: the 1st pattern in clause will never match:801802 h803804 because it is expected to receive type:805806 dynamic(empty_list() or non_empty_list(term(), term()))807808 where "h" was given the type:809810 # type: binary()811 # from: lib/phoenix_html/safe.ex:72:25812 is_binary(h)813814 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())815816 type warning found at:817 │818 72 │ def to_iodata(h) when is_binary(h) do819 │ ~820 │821 └─ lib/phoenix_html/safe.ex:72:17: Phoenix.HTML.Safe.List.to_iodata/1822823Generated phoenix_html app824==> phoenix_template825Compiling 4 files (.ex)826Generated phoenix_template app827==> live_view_native_platform828Compiling 11 files (.ex)829 warning: "else" clauses will never match because all patterns in "with" will always match830 │831 38 │ with spec <- Application.spec(otp_app),832 │ ~833 │834 └─ lib/live_view_native_platform/env.ex:38:5835836 warning: the following clause will never match:837838 error ->839840 it is expected to match on type:841842 none()843844 type warning found at:845 │846 64 │ error ->847 │ ~848 │849 └─ lib/live_view_native_platform/env.ex:64:7: LiveViewNativePlatform.Env.define/2850851Generated live_view_native_platform app852==> phoenix_view853Compiling 1 file (.ex)854 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 operator855 │856 655 │ <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix857 │ ~858 │859 └─ lib/phoenix_view.ex:655:29: Phoenix.View.unsuffix/2860861Generated phoenix_view app862==> uboot_env863Compiling 5 files (.ex)864Generated uboot_env app865==> nimble_pool866Compiling 2 files (.ex)867Generated nimble_pool app868==> finch869Compiling 23 files (.ex)870Generated finch app871==> property_table872Compiling 8 files (.ex)873Generated property_table app874==> nerves_uevent875 CC uevent.o876 LD uevent877Compiling 5 files (.ex)878Generated nerves_uevent app879==> nerves_runtime880Compiling 14 files (.ex)881Generated nerves_runtime app882==> toolshed883Compiling 5 files (.ex)884Generated toolshed app885==> tailwind886Compiling 3 files (.ex)887Generated tailwind app888==> nerves_compatibility_test889===> Analyzing applications...890===> Compiling cowboy_telemetry891==> plug_cowboy892Compiling 5 files (.ex)893Generated plug_cowboy app894==> websock895Compiling 1 file (.ex)896Generated websock app897==> websock_adapter898Compiling 4 files (.ex)899Generated websock_adapter app900warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"901 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2902 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1903 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5904 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2905 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4906 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2907908==> phoenix909Compiling 71 files (.ex)910 warning: unused require Logger911 │912 9 │ require Logger913 │ ~914 │915 └─ lib/phoenix/config.ex:9:3916917 warning: unused require Logger918 │919 281 │ require Logger920 │ ~921 │922 └─ lib/phoenix/endpoint.ex:281:3923924 warning: unused require Phoenix.Endpoint925 │926 6 │ require Phoenix.Endpoint927 │ ~928 │929 └─ lib/phoenix/controller.ex:6:3930931 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 operator932 │933 46 │ <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix934 │ ~935 │936 └─ lib/phoenix/naming.ex:46:29: Phoenix.Naming.unsuffix/2937938 warning: unused require Phoenix.Endpoint939 │940 17 │ require Phoenix.Endpoint941 │ ~942 │943 └─ lib/phoenix/endpoint/render_errors.ex:17:3944945 warning: unused require Phoenix.Endpoint946 │947 6 │ require Phoenix.Endpoint948 │ ~949 │950 └─ lib/phoenix/channel/server.ex:6:3951952 warning: unused require Phoenix.Endpoint953 │954 202 │ require Phoenix.Endpoint955 │ ~956 │957 └─ lib/phoenix/socket.ex:202:3958959 warning: unused require Logger960 │961 70 │ require Logger962 │ ~963 │964 └─ lib/phoenix/socket/pool_supervisor.ex:70:3965966 warning: unused require Logger967 │968 100 │ require Logger969 │ ~970 │971 └─ lib/phoenix/token.ex:100:3972973 warning: comparison between distinct types found:974975 merge_all != []976977 given types:978979 dynamic(non_empty_list({atom(), term()})) != empty_list()980981 where "merge_all" was given the type:982983 # type: dynamic(non_empty_list({atom(), term()}))984 # from: lib/phoenix/router/route.ex:121:15985 merge_all = merge_params ++ merge_private ++ merge_assigns986987 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 false988989 type warning found at:990 │991 123 │ if merge_all != [] do992 │ ~993 │994 └─ lib/phoenix/router/route.ex:123:18: Phoenix.Router.Route.build_prepare/1995996 warning: a struct for Plug.Conn is expected on struct update:997998 %Plug.Conn{conn | state: :sent}9991000 but got type:10011002 dynamic()10031004 where "conn" was given the type:10051006 # type: dynamic()1007 # from: lib/phoenix/endpoint/render_errors.ex:55:171008 conn10091010 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"10111012 type warning found at:1013 │1014 60 │ %Plug.Conn{conn | state: :sent}1015 │ ~1016 │1017 └─ lib/phoenix/endpoint/render_errors.ex:60:11: Phoenix.Endpoint.RenderErrors.__catch__/510181019 warning: a struct for Plug.Conn is expected on struct update:10201021 %Plug.Conn{conn | query_params: %{}, params: %{}}10221023 but got type:10241025 dynamic(%{..., params: %Plug.Conn.Unfetched{}})10261027 where "conn" was given the types:10281029 # type: dynamic(%{..., params: term()})1030 # from: lib/phoenix/endpoint/render_errors.ex:133:171031 conn.params10321033 # type: dynamic(%{..., params: %Plug.Conn.Unfetched{}})1034 # from: lib/phoenix/endpoint/render_errors.ex:133:171035 conn.params10361037 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"10381039 type warning found at:1040 │1041 134 │ %Plug.Conn.Unfetched{} -> %Plug.Conn{conn | query_params: %{}, params: %{}}1042 │ ~1043 │1044 └─ lib/phoenix/endpoint/render_errors.ex:134:35: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/110451046 warning: a struct for Plug.Conn is expected on struct update:10471048 %Plug.Conn{conn | query_params: %{}, params: params}10491050 but got type:10511052 dynamic(%{..., params: not %Plug.Conn.Unfetched{}})10531054 where "conn" was given the types:10551056 # type: dynamic(%{..., params: term()})1057 # from: lib/phoenix/endpoint/render_errors.ex:133:171058 conn.params10591060 # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})1061 # from: lib/phoenix/endpoint/render_errors.ex:133:171062 conn.params10631064 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"10651066 type warning found at:1067 │1068 135 │ params -> %Plug.Conn{conn | query_params: %{}, params: params}1069 │ ~1070 │1071 └─ lib/phoenix/endpoint/render_errors.ex:135:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/110721073 warning: a struct for Plug.Conn is expected on struct update:10741075 %Plug.Conn{conn | params: params}10761077 but got type:10781079 dynamic(%{..., params: map()})10801081 where "conn" was given the type:10821083 # type: dynamic(%{..., params: map()})1084 # from: lib/phoenix/controller.ex:1327:171085 Map.get(conn.params, required_key)10861087 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"10881089 type warning found at:1090 │1091 1334 │ %Plug.Conn{conn | params: params}1092 │ ~1093 │1094 └─ lib/phoenix/controller.ex:1334:5: Phoenix.Controller.scrub_params/210951096Generated phoenix app1097==> phoenix_live_reload1098Compiling 5 files (.ex)1099Generated phoenix_live_reload app1100warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1101 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21102 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11103 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51104 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21105 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41106 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/211071108==> phoenix_live_view1109Compiling 39 files (.ex)1110 warning: unused require Logger1111 │1112 48 │ require Logger1113 │ ~1114 │1115 └─ lib/phoenix_live_view/socket.ex:48:311161117 warning: unused require Phoenix.ChannelTest1118 │1119 5 │ require Phoenix.ChannelTest1120 │ ~1121 │1122 └─ lib/phoenix_live_view/test/upload_client.ex:5:311231124 warning: unused require Phoenix.ChannelTest1125 │1126 183 │ require Phoenix.ChannelTest1127 │ ~1128 │1129 └─ lib/phoenix_live_view/test/live_view_test.ex:183:311301131 warning: unused require Phoenix.ConnTest1132 │1133 182 │ require Phoenix.ConnTest1134 │ ~1135 │1136 └─ lib/phoenix_live_view/test/live_view_test.ex:182:311371138 warning: unused require Logger1139 │1140 6 │ require Logger1141 │ ~1142 │1143 └─ lib/phoenix_live_view/upload_channel.ex:6:311441145 warning: a struct for Phoenix.LiveView.Socket is expected on struct update:11461147 %Phoenix.LiveView.Socket{1148 socket1149 | assigns: Map.merge(temp_assigns, socket.assigns),1150 private: Map.put(socket.private, :temporary_assigns, temp_assigns)1151 }11521153 but got type:11541155 dynamic()11561157 where "socket" was given the type:11581159 # type: dynamic()1160 # from: lib/phoenix_live_view/utils.ex:528:211161 socket11621163 when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"11641165 type warning found at:1166 │1167 535 │ %Socket{1168 │ ~1169 │1170 └─ lib/phoenix_live_view/utils.ex:535:5: Phoenix.LiveView.Utils.do_mount_opt/311711172 warning: the following clause will never match:11731174 {:error, reason} ->11751176 because it attempts to match on the result of:11771178 IO.binwrite(state.file, data)11791180 which has type:11811182 dynamic(not {:error, term()})11831184 type warning found at:1185 │1186 23 │ {:error, reason} -> {:error, reason, state}1187 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1188 │1189 └─ lib/phoenix_live_view/upload_tmp_file_writer.ex:23: Phoenix.LiveView.UploadTmpFileWriter.write_chunk/211901191 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:11921193 %Phoenix.LiveView.UploadEntry{1194 entry1195 | preflighted?: entry.preflighted? || Enum.__in__(entry.ref, refs_awaiting)1196 }11971198 but got type:11991200 dynamic()12011202 where "entry" was given the type:12031204 # type: dynamic()1205 # from: lib/phoenix_live_view/upload_config.ex:363:171206 entry <- conf.entries12071208 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"12091210 type warning found at:1211 │1212 364 │ %UploadEntry{entry | preflighted?: entry.preflighted? || entry.ref in refs_awaiting}1213 │ ~1214 │1215 └─ lib/phoenix_live_view/upload_config.ex:364:9: Phoenix.LiveView.UploadConfig.mark_preflighted/112161217 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:12181219 %Phoenix.LiveView.UploadEntry{entry | valid?: true, uuid: generate_uuid()}12201221 but got type:12221223 dynamic()12241225 where "entry" was given the type:12261227 # type: dynamic()1228 # from: lib/phoenix_live_view/upload_config.ex:579:301229 entry12301231 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"12321233 type warning found at:1234 │1235 580 │ entry = %UploadEntry{entry | valid?: true, uuid: generate_uuid()}1236 │ ~1237 │1238 └─ lib/phoenix_live_view/upload_config.ex:580:13: Phoenix.LiveView.UploadConfig.put_valid_entry/212391240 warning: the following clause is redundant:12411242 def update(assigns, _key, fun) when is_function(fun, 1) or is_function(fun, 2)12431244 it has type:12451246 dynamic(), dynamic(), dynamic((none() -> term()) or (none(), none() -> term()))12471248 previous clauses have already matched on the following types:12491250 %Phoenix.LiveView.Socket{}, term(), (none(), none() -> term())1251 %Phoenix.LiveView.Socket{}, term(), (none() -> term())1252 term(), term(), (none(), none() -> term())1253 term(), term(), (none() -> term())12541255 │1256 1366 │ def update(assigns, _key, fun) when is_function(fun, 1) or is_function(fun, 2) do1257 │ ~1258 │1259 └─ lib/phoenix_component.ex:1366:7: Phoenix.Component.update/312601261 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:12621263 %Phoenix.LiveView.UploadEntry{entry | valid?: false}12641265 but got type:12661267 dynamic()12681269 where "entry" was given the type:12701271 # type: dynamic()1272 # from: lib/phoenix_live_view/upload_config.ex:592:321273 entry12741275 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"12761277 type warning found at:1278 │1279 593 │ entry = %UploadEntry{entry | valid?: false}1280 │ ~1281 │1282 └─ lib/phoenix_live_view/upload_config.ex:593:13: Phoenix.LiveView.UploadConfig.put_invalid_entry/312831284 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:12851286 %Phoenix.LiveView.UploadEntry{entry | cancelled?: true}12871288 but got type:12891290 dynamic()12911292 where "entry" was given the type:12931294 # type: dynamic()1295 # from: lib/phoenix_live_view/upload_config.ex:676:421296 entry12971298 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"12991300 type warning found at:1301 │1302 676 │ update_entry(conf, entry.ref, fn entry -> %UploadEntry{entry | cancelled?: true} end)1303 │ ~1304 │1305 └─ lib/phoenix_live_view/upload_config.ex:676:51: Phoenix.LiveView.UploadConfig.cancel_entry/213061307 warning: Logger.disable/1 is deprecated. Use Logger.put_process_level(pid, :none) instead1308 │1309 73 │ Logger.disable(self())1310 │ ~1311 │1312 └─ lib/phoenix_live_view/test/client_proxy.ex:73:12: Phoenix.LiveViewTest.ClientProxy.init/113131314 warning: a struct for Phoenix.LiveViewTest.ClientProxy is expected on struct update:13151316 %Phoenix.LiveViewTest.ClientProxy{view | rendered: rendered}13171318 but got type:13191320 dynamic(%{..., rendered: map()})13211322 where "view" was given the type:13231324 # type: dynamic(%{..., rendered: map()})1325 # from: lib/phoenix_live_view/test/client_proxy.ex:739:241326 Phoenix.LiveViewTest.DOM.merge_diff(view.rendered, diff)13271328 when defining the variable "view", you must also pattern match on "%Phoenix.LiveViewTest.ClientProxy{}"13291330 type warning found at:1331 │1332 740 │ new_view = %ClientProxy{view | rendered: rendered}1333 │ ~1334 │1335 └─ lib/phoenix_live_view/test/client_proxy.ex:740:20: Phoenix.LiveViewTest.ClientProxy.merge_rendered/313361337 warning: the right-hand side of || (shown as ... below) will never be executed:13381339 conn.private[:live_view_connect_info] || prune_conn(conn) || ...13401341 because the left-hand side always evaluates to:13421343 dynamic(not false and not nil)13441345 where "conn" was given the types:13461347 # type: dynamic(%Plug.Conn{assigns: %{..., live_module: term()}, status: integer()})1348 # from: lib/phoenix_live_view/test/live_view_test.ex:324:721349 %Plug.Conn{status: 200, assigns: %{live_module: live_module}} = conn13501351 # type: dynamic(%Plug.Conn{1352 assigns: %{..., live_module: term()},1353 private:1354 %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or1355 non_struct_map(),1356 status: integer()1357 })1358 # from: lib/phoenix_live_view/test/live_view_test.ex:338:351359 conn.private[:live_view_connect_params]13601361 type warning found at:1362 │1363 339 │ connect_info: conn.private[:live_view_connect_info] || prune_conn(conn) || %{},1364 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1365 │1366 └─ lib/phoenix_live_view/test/live_view_test.ex:339: Phoenix.LiveViewTest.connect_from_static_token/213671368 warning: a struct for Phoenix.LiveView.Socket is expected on struct update:13691370 %Phoenix.LiveView.Socket{1371 socket1372 | assigns: %Phoenix.LiveView.Socket.AssignsNotInSocket{__assigns__: assigns}1373 }13741375 but got type:13761377 dynamic(%{..., assigns: term()})13781379 where "socket" was given the type:13801381 # type: dynamic(%{..., assigns: term()})1382 # from: lib/phoenix_live_view/renderer.ex:121:431383 %{assigns: assigns} = socket13841385 when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"13861387 type warning found at:1388 │1389 122 │ socket = %Socket{socket | assigns: %Socket.AssignsNotInSocket{__assigns__: assigns}}1390 │ ~1391 │1392 └─ lib/phoenix_live_view/renderer.ex:122:14: Phoenix.LiveView.Renderer.render_assigns/113931394 warning: the following pattern will never match:13951396 template = Phoenix.LiveView.Utils.normalize_layout(template, "live_session :root_layout")13971398 because the right-hand side has type:13991400 none()14011402 where "template" was given the types:14031404 # type: binary()1405 # from: lib/phoenix_live_view/router.ex:288:661406 is_binary(template)14071408 # type: binary()1409 # from: lib/phoenix_live_view/router.ex1410 {:root_layout, {mod, template}}14111412 type warning found at:1413 │1414 289 │ template = Phoenix.LiveView.Utils.normalize_layout(template, "live_session :root_layout")1415 │ ~1416 │1417 └─ lib/phoenix_live_view/router.ex:289:18: Phoenix.LiveView.Router.validate_live_session_opts/314181419 warning: the following pattern will never match:14201421 template = Phoenix.LiveView.Utils.normalize_layout(template, "live_session :layout")14221423 because the right-hand side has type:14241425 none()14261427 where "template" was given the types:14281429 # type: binary()1430 # from: lib/phoenix_live_view/router.ex:305:611431 is_binary(template)14321433 # type: binary()1434 # from: lib/phoenix_live_view/router.ex1435 {:layout, {mod, template}}14361437 type warning found at:1438 │1439 306 │ template = Phoenix.LiveView.Utils.normalize_layout(template, "live_session :layout")1440 │ ~1441 │1442 └─ lib/phoenix_live_view/router.ex:306:18: Phoenix.LiveView.Router.validate_live_session_opts/314431444 warning: the following clause is redundant:14451446 def to_iodata(%_{} = struct)14471448 it has type:14491450 dynamic(%Phoenix.LiveView.Rendered{})14511452 previous clauses have already matched on the following types:14531454 %Phoenix.LiveView.Rendered{}14551456 │1457 153 │ def to_iodata(%_{} = struct) do1458 │ ~1459 │1460 └─ lib/phoenix_live_view/engine.ex:153:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/114611462 warning: the 1st pattern in clause will never match:14631464 nil14651466 because it is expected to receive type:14671468 dynamic(%Phoenix.LiveView.Rendered{})14691470 hint: defimpl for Phoenix.LiveView.Rendered requires its callbacks to match exclusively on %Phoenix.LiveView.Rendered{}14711472 type warning found at:1473 │1474 157 │ def to_iodata(nil) do1475 │ ~~~~~~~~~~~~~~~~~~~~~1476 │1477 └─ lib/phoenix_live_view/engine.ex:157: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/114781479 warning: the following clause is redundant:14801481 def to_iodata(other)14821483 it has type:14841485 dynamic(%Phoenix.LiveView.Rendered{})14861487 previous clauses have already matched on the following types:14881489 %Phoenix.LiveView.Rendered{}14901491 │1492 161 │ def to_iodata(other) do1493 │ ~1494 │1495 └─ lib/phoenix_live_view/engine.ex:161:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/114961497 warning: this clause of defp class_names/1 is never used (or it will always fail/warn when invoked)1498 │1499 799 │ defp class_names(nil), do: []1500 │ ~1501 │1502 └─ lib/phoenix_live_view/js.ex:799:8: Phoenix.LiveView.JS.class_names/115031504Generated phoenix_live_view app1505==> live_view_native1506Compiling 21 files (.ex)1507 warning: the following clause will never match:15081509 _ ->15101511 it is expected to match on type:15121513 none()15141515 type warning found at:1516 │1517 31 │ _ ->1518 │ ~1519 │1520 └─ lib/live_view_native/templates.ex:31:7: LiveViewNative.Templates.compile_class_tree/315211522Generated live_view_native app1523warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1524 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21525 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11526 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51527 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21528 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41529 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/215301531==> phoenix_live_dashboard1532Compiling 36 files (.ex)1533 warning: Postgrex.Interval.to_string/1 is undefined (module Postgrex.Interval is not available or is yet to be defined)1534 │1535 281 │ do: struct.to_string(value)1536 │ ~1537 │1538 └─ lib/phoenix/live_dashboard/pages/ecto_stats_page.ex:281:16: Phoenix.LiveDashboard.EctoStatsPage.format/215391540Generated phoenix_live_dashboard app1541==> live_view_native_swiftui1542Compiling 14 files (.ex)1543 warning: unused require Logger1544 │1545 12 │ require Logger1546 │ ~1547 │1548 └─ lib/live_view_native/swiftui/platform.ex:12:515491550Compiling lib/live_view_native/swiftui/rules_parser/modifiers.ex (it's taking more than 10s)1551 warning: the following clause will never match:15521553 {:., annotations, [nil, part]} ->15541555 because it attempts to match on the result of:15561557 outer15581559 which has type:15601561 dynamic(atom())15621563 type warning found at:1564 │1565 96 │ {:., annotations, [nil, part]} ->1566 │ ~1567 │1568 └─ lib/live_view_native/swiftui/rules_parser/post_processors.ex:96:9: LiveViewNative.SwiftUI.RulesParser.PostProcessors.combine_chain_ast_parts/215691570Generated live_view_native_swiftui app1571==> kino_live_view_native1572Compiling 19 files (.ex)1573 warning: unused require IEx.Helpers1574 │1575 3 │ require IEx.Helpers1576 │ ~1577 │1578 └─ lib/server/smart_cells/live_view_native.ex:3:315791580warning: defining a Gettext backend by calling15811582 use Gettext, otp_app: ...15831584is deprecated. To define a backend, call:15851586 use Gettext.Backend, otp_app: :my_app15871588Then, instead of importing your backend, call this in your module:15891590 use Gettext, backend: MyApp.Gettext15911592 lib/server_web/gettext.ex:23: ServerWeb.Gettext (module)15931594 warning: variable "params" is unused (if the variable is not meant to be used, prefix it with an underscore)1595 │1596 4 │ def mount(params, session, socket) do1597 │ ~~~~~~1598 │1599 └─ lib/server_web/live/hello_live.ex:4:13: ServerWeb.HelloLive.mount/316001601 warning: variable "session" is unused (if the variable is not meant to be used, prefix it with an underscore)1602 │1603 4 │ def mount(params, session, socket) do1604 │ ~~~~~~~1605 │1606 └─ lib/server_web/live/hello_live.ex:4:21: ServerWeb.HelloLive.mount/316071608 warning: variable "assigns" is unused (if the variable is not meant to be used, prefix it with an underscore)1609 │1610 8 │ def render(assigns = %{format: :swiftui}) do1611 │ ~~~~~~~1612 │1613 └─ lib/server_web/live/hello_live.ex:8:14: ServerWeb.HelloLive.render/116141615 error: undefined function sigil_SWIFTUI/2 (expected ServerWeb.HelloLive to define such a function or for it to be imported, but none are available)1616 │1617 9 │ ~SWIFTUI"""1618 │ ^^^^^^^^^^^^^1619 │1620 └─ lib/server_web/live/hello_live.ex:9:5: ServerWeb.HelloLive.render/1162116221623== Compilation error in file lib/server_web/live/hello_live.ex ==1624** (CompileError) lib/server_web/live/hello_live.ex: cannot compile module ServerWeb.HelloLive (errors have been logged)16251626could 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"