ex_ussd_simulator

Build log

nerves_system_qemu_aarch64

ex_ussd_simulator 0.1.4 · fail · run ex_ussd_simulator-0.1.4-1791178964357
1605 of 1605 lines
1Resolving Hex dependencies...2Resolution completed in 0.289s3Unchanged:4  certifi 2.15.05  circular_buffer 1.1.06  cowboy 2.19.07  cowboy_telemetry 0.3.18  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  elixir_make 0.10.019  ex_ussd_simulator 0.1.420  hackney 1.25.0 VULNERABLE!21    EEF-CVE-2026-47071 (HIGH)22    aka: CVE-2026-47071, GHSA-gp9c-pm5m-5cxr23    SOCKS5 TLS upgrade ignores caller timeout in hackney24    https://osv.dev/vulnerability/EEF-CVE-2026-470712526    EEF-CVE-2026-47076 (MEDIUM)27    aka: CVE-2026-47076, GHSA-pj7v-xfvx-wmjq28    SSRF allowlist bypass via percent-encoded host in hackney29    https://osv.dev/vulnerability/EEF-CVE-2026-470763031    EEF-CVE-2026-47069 (LOW)32    aka: CVE-2026-47069, GHSA-mp55-p8c9-rfw233    CRLF injection in cookie domain/path options in hackney34    https://osv.dev/vulnerability/EEF-CVE-2026-470693536    EEF-CVE-2026-47075 (MEDIUM)37    aka: CVE-2026-47075, GHSA-j9wq-vxxc-94wf38    CR/LF injection in query parameter in hackney39    https://osv.dev/vulnerability/EEF-CVE-2026-4707540  httpoison 1.8.241  idna 6.1.142  interactive_cmd 0.1.443  jason 1.4.544  metrics 1.0.145  mime 2.0.746  mimerl 1.5.047  nerves 2.0.0-pre.248  nerves_discovery 0.1.549  nerves_logging 0.2.450  nerves_runtime 0.13.1351  nerves_system_bbb 2.30.252  nerves_system_br 1.34.453  nerves_system_mangopi_mq_pro 0.17.254  nerves_system_qemu_aarch64 0.4.255  nerves_system_rpi0 2.1.256  nerves_system_rpi4 2.1.257  nerves_system_rpi5 2.1.258  nerves_system_trellis 0.5.059  nerves_system_x86_64 1.34.260  nerves_toolchain_aarch64_nerves_linux_gnu 15.3.161  nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.162  nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.163  nerves_toolchain_riscv64_nerves_linux_gnu 15.3.164  nerves_toolchain_x86_64_nerves_linux_musl 15.3.165  nerves_uevent 0.1.766  parse_trans 3.4.167  phoenix 1.5.15 VULNERABLE!68    GHSA-p8f7-22gq-m7j9 (HIGH)69    aka: CVE-2022-4297570    Phoenix before 1.6.14 mishandles check_origin wildcarding71    https://osv.dev/vulnerability/GHSA-p8f7-22gq-m7j972  phoenix_html 2.14.3 VULNERABLE!73    GHSA-5g2h-9x5v-5h3x (MEDIUM)74    aka: CVE-2021-46871, GHSA-j3gg-r6gp-95q275    phoenix_html allows Cross-site Scripting in HEEx class attributes76    https://osv.dev/vulnerability/GHSA-5g2h-9x5v-5h3x77  phoenix_live_view 0.15.7 VULNERABLE!78    EEF-CVE-2026-64941 (LOW)79    aka: CVE-2026-64941, GHSA-36m4-rm57-3prf80    Open redirect in Phoenix.LiveView.validate_local_url!/2 via ASCII tab, LF and CR81    https://osv.dev/vulnerability/EEF-CVE-2026-6494182  phoenix_pubsub 2.3.083  plug 1.20.384  plug_cowboy 2.9.085  plug_crypto 1.2.586  property_table 0.3.487  ranch 2.3.088  ring_logger 0.11.789  ssl_verify_fun 1.1.790  tablet 0.3.391  telemetry 0.4.392  toolshed 0.5.093  uboot_env 1.0.294  unicode_util_compat 0.7.195* Getting ex_ussd_simulator (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 httpoison (Hex package)124* Getting jason (Hex package)125* Getting phoenix (Hex package)126* Getting phoenix_html (Hex package)127* Getting phoenix_live_view (Hex package)128* Getting plug_cowboy (Hex package)129* Getting cowboy (Hex package)130* Getting cowboy_telemetry (Hex package)131* Getting plug (Hex package)132* Getting mime (Hex package)133* Getting plug_crypto (Hex package)134* Getting telemetry (Hex package)135* Getting cowlib (Hex package)136* Getting ranch (Hex package)137* Getting phoenix_pubsub (Hex package)138* Getting hackney (Hex package)139* Getting certifi (Hex package)140* Getting idna (Hex package)141* Getting metrics (Hex package)142* Getting mimerl (Hex package)143* Getting parse_trans (Hex package)144* Getting ssl_verify_fun (Hex package)145* Getting unicode_util_compat (Hex package)146Found packages with security advisories, see above for details147You have added/upgraded packages you could sponsor, run `mix hex.sponsor` to learn more148==> nerves_system_br149Generated nerves_system_br app150==> mime151Compiling 1 file (.ex)152Generated mime app153==> circular_buffer154Compiling 1 file (.ex)155Generated circular_buffer app156==> jason157Compiling 10 files (.ex)158Generated jason app159==> plug_crypto160Compiling 5 files (.ex)161Generated plug_crypto app162==> nerves_compatibility_test163===> Analyzing applications...164===> Compiling mimerl165===> Analyzing applications...166===> Compiling ranch167==> ssl_verify_fun168Compiling 7 files (.erl)169Generated ssl_verify_fun app170==> tablet171Compiling 2 files (.ex)172Generated tablet app173==> elixir_make174Compiling 8 files (.ex)175Generated elixir_make app176==> nerves_logging177 CC kmsg_tailer.o178 LD kmsg_tailer179Compiling 5 files (.ex)180Generated nerves_logging app181==> nerves_compatibility_test182===> Analyzing applications...183===> Compiling cowlib184==> nerves_discovery185Compiling 5 files (.ex)186Generated nerves_discovery app187==> ring_logger188Compiling 7 files (.ex)189Generated ring_logger app190==> interactive_cmd191Compiling 1 file (.ex)192Generated interactive_cmd app193==> nerves194Compiling 65 files (.ex)195    warning: redefining module Nerves (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.beam)196    │197  6 │ defmodule Nerves do198    │ ~~~~~~~~~~~~~~~~~~~199    │200    └─ lib/nerves.ex:6: Nerves (module)201202    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)203    │204  6 │ defmodule Mix.Tasks.Nerves.Init do205    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~206    │207    └─ lib/mix/tasks/nerves.init.ex:6: Mix.Tasks.Nerves.Init (module)208209    warning: redefining module Nerves.ArtifactResolver (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.ArtifactResolver.beam)210    │211  5 │ defmodule Nerves.ArtifactResolver do212    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~213    │214    └─ lib/nerves/artifact_resolver.ex:5: Nerves.ArtifactResolver (module)215216    warning: redefining module Nerves.BuildAction.AppModes (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.AppModes.beam)217    │218  6 │ defmodule Nerves.BuildAction.AppModes do219    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~220    │221    └─ lib/nerves/build_action/app_modes.ex:6: Nerves.BuildAction.AppModes (module)222223    warning: redefining module Nerves.BuildAction.CheckExecutables (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.CheckExecutables.beam)224    │225  5 │ defmodule Nerves.BuildAction.CheckExecutables do226    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~227    │228    └─ lib/nerves/build_action/check_executables.ex:5: Nerves.BuildAction.CheckExecutables (module)229230    warning: redefining module Nerves.BuildAction.Erlinit (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.Erlinit.beam)231    │232  8 │ defmodule Nerves.BuildAction.Erlinit do233    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~234    │235    └─ lib/nerves/build_action/erlinit.ex:8: Nerves.BuildAction.Erlinit (module)236237    warning: redefining module Nerves.BuildAction.Firmware (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.Firmware.beam)238    │239  5 │ defmodule Nerves.BuildAction.Firmware do240    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~241    │242    └─ lib/nerves/build_action/firmware.ex:5: Nerves.BuildAction.Firmware (module)243244    warning: redefining module Nerves.BuildAction.IExStartupCheck (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.IExStartupCheck.beam)245    │246  7 │ defmodule Nerves.BuildAction.IExStartupCheck do247    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~248    │249    └─ lib/nerves/build_action/iex_startup_check.ex:7: Nerves.BuildAction.IExStartupCheck (module)250251    warning: redefining module Nerves.BuildAction.NervesV1System (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1System.beam)252    │253  5 │ defmodule Nerves.BuildAction.NervesV1System do254    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~255    │256    └─ lib/nerves/build_action/nerves_v1_system.ex:5: Nerves.BuildAction.NervesV1System (module)257258    warning: redefining module Nerves.BuildAction.NervesV1Toolchain (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1Toolchain.beam)259    │260  5 │ defmodule Nerves.BuildAction.NervesV1Toolchain do261    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~262    │263    └─ lib/nerves/build_action/nerves_v1_toolchain.ex:5: Nerves.BuildAction.NervesV1Toolchain (module)264265    warning: redefining module Nerves.BuildAction.Rootfs (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.Rootfs.beam)266    │267  5 │ defmodule Nerves.BuildAction.Rootfs do268    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~269    │270    └─ lib/nerves/build_action/rootfs.ex:5: Nerves.BuildAction.Rootfs (module)271272    warning: redefining module Nerves.BuildAction.SortApps (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.SortApps.beam)273    │274  6 │ defmodule Nerves.BuildAction.SortApps do275    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~276    │277    └─ lib/nerves/build_action/sort_apps.ex:6: Nerves.BuildAction.SortApps (module)278279    warning: redefining module Nerves.BuildAction.StripAll (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.StripAll.beam)280    │281  5 │ defmodule Nerves.BuildAction.StripAll do282    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~283    │284    └─ lib/nerves/build_action/strip_all.ex:5: Nerves.BuildAction.StripAll (module)285286    warning: redefining module Nerves.BuildAction.Trimmer (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.Trimmer.beam)287    │288  5 │ defmodule Nerves.BuildAction.Trimmer do289    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~290    │291    └─ lib/nerves/build_action/trimmer.ex:5: Nerves.BuildAction.Trimmer (module)292293    warning: redefining module Nerves.BuildPlan (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildPlan.beam)294    │295  5 │ defmodule Nerves.BuildPlan do296    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~297    │298    └─ lib/nerves/build_plan.ex:5: Nerves.BuildPlan (module)299300    warning: redefining module Nerves.BuildPlan.Checks (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildPlan.Checks.beam)301    │302  5 │ defmodule Nerves.BuildPlan.Checks do303    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~304    │305    └─ lib/nerves/build_plan/checks.ex:5: Nerves.BuildPlan.Checks (module)306307    warning: redefining module Nerves.Container (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.Container.beam)308    │309  6 │ defmodule Nerves.Container do310    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~311    │312    └─ lib/nerves/container.ex:6: Nerves.Container (module)313314    warning: redefining module Nerves.Fingerprint (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.Fingerprint.beam)315    │316  5 │ defmodule Nerves.Fingerprint do317    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~318    │319    └─ lib/nerves/fingerprint.ex:5: Nerves.Fingerprint (module)320321    warning: redefining module Nerves.MixPackage (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.MixPackage.beam)322    │323  5 │ defmodule Nerves.MixPackage do324    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~325    │326    └─ lib/nerves/mix_package.ex:5: Nerves.MixPackage (module)327328    warning: redefining module Nerves.Paths (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.Paths.beam)329    │330  5 │ defmodule Nerves.Paths do331    │ ~~~~~~~~~~~~~~~~~~~~~~~~~332    │333    └─ lib/nerves/paths.ex:5: Nerves.Paths (module)334335    warning: redefining module Nerves.TargetTuple (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.TargetTuple.beam)336    │337  5 │ defmodule Nerves.TargetTuple do338    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~339    │340    └─ lib/nerves/target_tuple.ex:5: Nerves.TargetTuple (module)341342Generated nerves app343==> nerves_toolchain_aarch64_nerves_linux_gnu344Compiling 1 file (.ex)345Generated nerves_toolchain_aarch64_nerves_linux_gnu app346==> nerves_system_qemu_aarch64347Compiling 1 file (.ex)348Generated nerves_system_qemu_aarch64 app349==> nerves_compatibility_test350===> Analyzing applications...351===> Compiling unicode_util_compat352===> Analyzing applications...353===> Compiling idna354===> Analyzing applications...355===> Compiling telemetry356===> Analyzing applications...357===> Compiling cowboy358==> phoenix_pubsub359Compiling 12 files (.ex)360Generated phoenix_pubsub app361==> nerves_compatibility_test362===> Analyzing applications...363===> Compiling certifi364==> plug365Compiling 1 file (.erl)366Compiling 42 files (.ex)367Generated plug app368==> phoenix_html369Compiling 8 files (.ex)370    warning: using single-quoted strings to represent charlists is deprecated.371    Use ~c"" if you indeed want a charlist or use "" instead.372    You may run "mix format --migrate" to change all single-quoted373    strings to use the ~c sigil and fix this warning.374    │375 12 │   @anno (if :erlang.system_info(:otp_release) >= '19' do376    │                                                  ~377    │378    └─ lib/phoenix_html/engine.ex:12:50379380    warning: the 1st pattern in clause will never match:381382        60383384    because it is expected to receive type:385386        dynamic(empty_list() or non_empty_list(term(), term()))387388    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())389390    type warning found at:391    │392 56 │   def to_iodata(?<), do: "&lt;"393    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~394    │395    └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/1396397    warning: the 1st pattern in clause will never match:398399        62400401    because it is expected to receive type:402403        dynamic(empty_list() or non_empty_list(term(), term()))404405    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())406407    type warning found at:408    │409 57 │   def to_iodata(?>), do: "&gt;"410    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~411    │412    └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/1413414    warning: the 1st pattern in clause will never match:415416        38417418    because it is expected to receive type:419420        dynamic(empty_list() or non_empty_list(term(), term()))421422    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())423424    type warning found at:425    │426 58 │   def to_iodata(?&), do: "&amp;"427    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~428    │429    └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/1430431    warning: the 1st pattern in clause will never match:432433        34434435    because it is expected to receive type:436437        dynamic(empty_list() or non_empty_list(term(), term()))438439    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())440441    type warning found at:442    │443 59 │   def to_iodata(?"), do: "&quot;"444    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~445    │446    └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/1447448    warning: the 1st pattern in clause will never match:449450        39451452    because it is expected to receive type:453454        dynamic(empty_list() or non_empty_list(term(), term()))455456    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())457458    type warning found at:459    │460 60 │   def to_iodata(?'), do: "&#39;"461    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~462    │463    └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/1464465    warning: the 1st pattern in clause will never match:466467        {:safe, data}468469    because it is expected to receive type:470471        dynamic(empty_list() or non_empty_list(term(), term()))472473    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())474475    type warning found at:476    │477 76 │   def to_iodata({:safe, data}) do478    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~479    │480    └─ lib/phoenix_html/safe.ex:76: Phoenix.HTML.Safe.List.to_iodata/1481482    warning: the following clause is redundant:483484        def to_iodata(other)485486    it has type:487488        dynamic(empty_list() or non_empty_list(term(), term()))489490    previous clauses have already matched on the following types:491492        non_empty_list(term(), term())493        empty_list()494495    │496 80 │   def to_iodata(other) do497    │       ~498    │499    └─ lib/phoenix_html/safe.ex:80:7: Phoenix.HTML.Safe.List.to_iodata/1500501    warning: the 1st pattern in clause will never match:502503        h504505    because it is expected to receive type:506507        dynamic(empty_list() or non_empty_list(term(), term()))508509    where "h" was given the type:510511        # type: integer()512        # from: lib/phoenix_html/safe.ex:62:25513        is_integer(h)514515    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())516517    type warning found at:518    │519 62 │   def to_iodata(h) when is_integer(h) and h <= 255 do520    │                 ~521    │522    └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/1523524    warning: the 1st pattern in clause will never match:525526        h527528    because it is expected to receive type:529530        dynamic(empty_list() or non_empty_list(term(), term()))531532    where "h" was given the type:533534        # type: integer()535        # from: lib/phoenix_html/safe.ex:66:25536        is_integer(h)537538    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())539540    type warning found at:541    │542 66 │   def to_iodata(h) when is_integer(h) do543    │                 ~544    │545    └─ lib/phoenix_html/safe.ex:66:17: Phoenix.HTML.Safe.List.to_iodata/1546547    warning: the 1st pattern in clause will never match:548549        h550551    because it is expected to receive type:552553        dynamic(empty_list() or non_empty_list(term(), term()))554555    where "h" was given the type:556557        # type: binary()558        # from: lib/phoenix_html/safe.ex:72:25559        is_binary(h)560561    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())562563    type warning found at:564    │565 72 │   def to_iodata(h) when is_binary(h) do566    │                 ~567    │568    └─ lib/phoenix_html/safe.ex:72:17: Phoenix.HTML.Safe.List.to_iodata/1569570Generated phoenix_html app571==> nerves_compatibility_test572===> Analyzing applications...573===> Compiling parse_trans574==> uboot_env575Compiling 5 files (.ex)576Generated uboot_env app577==> nerves_compatibility_test578===> Analyzing applications...579===> Compiling metrics580===> Analyzing applications...581===> Compiling hackney582     ┌─ src/hackney_trace.erl:583     │584 132 │    (catch io:format(standard_io, "stop trace at ~s~n", [format_timestamp(Timestamp)])),585     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.586Compile directive 'nowarn_deprecated_catch' can be used to suppress587warnings in selected modules.588589     ┌─ src/hackney_trace.erl:590     │591 139 │    (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),592     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.593Compile directive 'nowarn_deprecated_catch' can be used to suppress594warnings in selected modules.595596     ┌─ src/hackney_trace.erl:597     │598 146 │    (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),599     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.600Compile directive 'nowarn_deprecated_catch' can be used to suppress601warnings in selected modules.602603     ┌─ src/hackney_trace.erl:604     │605 147 │    (catch file:close(Fd)),606     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.607Compile directive 'nowarn_deprecated_catch' can be used to suppress608warnings in selected modules.609610     ┌─ src/hackney_trace.erl:611     │612 154 │    (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),613     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.614Compile directive 'nowarn_deprecated_catch' can be used to suppress615warnings in selected modules.616617     ┌─ src/hackney_trace.erl:618     │619 155 │    (catch file:close(Fd)),620     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.621Compile directive 'nowarn_deprecated_catch' can be used to suppress622warnings in selected modules.623624     ┌─ src/hackney_trace.erl:625     │626 161 │    (catch print_hackney_trace(Fd, Sev, Timestamp, Who,627     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.628Compile directive 'nowarn_deprecated_catch' can be used to suppress629warnings in selected modules.630631     ┌─ src/hackney_trace.erl:632     │633 165 │    (catch print_trace(Fd, Event)),634     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.635Compile directive 'nowarn_deprecated_catch' can be used to suppress636warnings in selected modules.637638639    ┌─ src/hackney_pool.erl:640    │641 80 │    case catch gen_server:call(Pool, {checkout, Connection, Requester, RequestRef}, CheckoutTimeout) of642    │         ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.643Compile directive 'nowarn_deprecated_catch' can be used to suppress644warnings in selected modules.645646     ┌─ src/hackney_pool.erl:647     │648 101 │                _ = catch hackney_connection:close(Connection, Socket),649     │                    ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.650Compile directive 'nowarn_deprecated_catch' can be used to suppress651warnings in selected modules.652653     ┌─ src/hackney_pool.erl:654     │655 130 │            _ = catch hackney_connection:close(Connection, Socket),656     │                ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.657Compile directive 'nowarn_deprecated_catch' can be used to suppress658warnings in selected modules.659660     ┌─ src/hackney_pool.erl:661     │662 134 │        catch hackney_connection:close(Connection, Socket),663     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.664Compile directive 'nowarn_deprecated_catch' can be used to suppress665warnings in selected modules.666667     ┌─ src/hackney_pool.erl:668     │669 319 │                 catch Transport:close(Socket),670     │                 ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.671Compile directive 'nowarn_deprecated_catch' can be used to suppress672warnings in selected modules.673674     ┌─ src/hackney_pool.erl:675     │676 417 │                case catch hackney_connection:controlling_process(Connection, S, self()) of677     │                     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.678Compile directive 'nowarn_deprecated_catch' can be used to suppress679warnings in selected modules.680681     ┌─ src/hackney_pool.erl:682     │683 423 │                    _ = catch hackney_connection:close(Connection, S),684     │                        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.685Compile directive 'nowarn_deprecated_catch' can be used to suppress686warnings in selected modules.687688     ┌─ src/hackney_pool.erl:689     │690 444 │        catch hackney_connection:close(Connection, Socket),691     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.692Compile directive 'nowarn_deprecated_catch' can be used to suppress693warnings in selected modules.694695     ┌─ src/hackney_pool.erl:696     │697 543 │            _ = (catch hackney_connection:close(Connection, Socket)),698     │                 ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.699Compile directive 'nowarn_deprecated_catch' can be used to suppress700warnings in selected modules.701702703     ┌─ src/hackney_happy.erl:704     │705 101 │    catch exit(Pid, normal),706     │    ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.707Compile directive 'nowarn_deprecated_catch' can be used to suppress708warnings in selected modules.709710     ┌─ src/hackney_happy.erl:711     │712 128 │    case (catch inet_res:getbyname(Hostname, Type)) of713     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.714Compile directive 'nowarn_deprecated_catch' can be used to suppress715warnings in selected modules.716717     ┌─ src/hackney_happy.erl:718     │719 151 │    case (catch inet:gethostbyname(Hostname, InetType)) of720     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.721Compile directive 'nowarn_deprecated_catch' can be used to suppress722warnings in selected modules.723724725     ┌─ src/hackney_manager.erl:726     │727 114 │    catch ets:delete(?MODULE, Ref),728     │    ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.729Compile directive 'nowarn_deprecated_catch' can be used to suppress730warnings in selected modules.731732     ┌─ src/hackney_manager.erl:733     │734 125 │            catch Transport:close(Socket);735     │            ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.736Compile directive 'nowarn_deprecated_catch' can be used to suppress737warnings in selected modules.738739     ┌─ src/hackney_manager.erl:740     │741 129 │            catch Handler:checkin(SocketRef, Socket)742     │            ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.743Compile directive 'nowarn_deprecated_catch' can be used to suppress744warnings in selected modules.745746     ┌─ src/hackney_manager.erl:747     │748 133 │          catch Transport:controlling_process(Socket, self()),749     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.750Compile directive 'nowarn_deprecated_catch' can be used to suppress751warnings in selected modules.752753     ┌─ src/hackney_manager.erl:754     │755 134 │          catch Transport:close(Socket),756     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.757Compile directive 'nowarn_deprecated_catch' can be used to suppress758warnings in selected modules.759760     ┌─ src/hackney_manager.erl:761     │762 227 │            catch ets:delete(?MODULE, Ref),763     │            ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.764Compile directive 'nowarn_deprecated_catch' can be used to suppress765warnings in selected modules.766767     ┌─ src/hackney_manager.erl:768     │769 255 │    catch ets:delete(?MODULE, Ref),770     │    ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.771Compile directive 'nowarn_deprecated_catch' can be used to suppress772warnings in selected modules.773774     ┌─ src/hackney_manager.erl:775     │776 269 │          catch Transport:controlling_process(Socket, self()),777     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.778Compile directive 'nowarn_deprecated_catch' can be used to suppress779warnings in selected modules.780781     ┌─ src/hackney_manager.erl:782     │783 270 │          catch Transport:close(Socket),784     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.785Compile directive 'nowarn_deprecated_catch' can be used to suppress786warnings in selected modules.787788     ┌─ src/hackney_manager.erl:789     │790 383 │          catch unlink(Stream),791     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.792Compile directive 'nowarn_deprecated_catch' can be used to suppress793warnings in selected modules.794795     ┌─ src/hackney_manager.erl:796     │797 416 │        catch ets:delete(?REFS, Ref),798     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.799Compile directive 'nowarn_deprecated_catch' can be used to suppress800warnings in selected modules.801802     ┌─ src/hackney_manager.erl:803     │804 426 │        catch ets:delete(?REFS, Ref),805     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.806Compile directive 'nowarn_deprecated_catch' can be used to suppress807warnings in selected modules.808809     ┌─ src/hackney_manager.erl:810     │811 470 │    case catch hackney_stream:start_link(StreamTo2, Ref, Client) of812     │         ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.813Compile directive 'nowarn_deprecated_catch' can be used to suppress814warnings in selected modules.815816     ┌─ src/hackney_manager.erl:817     │818 487 │           catch Transport:close(Socket),819     │           ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.820Compile directive 'nowarn_deprecated_catch' can be used to suppress821warnings in selected modules.822823     ┌─ src/hackney_manager.erl:824     │825 543 │        catch ets:delete(?REFS, Ref),826     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.827Compile directive 'nowarn_deprecated_catch' can be used to suppress828warnings in selected modules.829830     ┌─ src/hackney_manager.erl:831     │832 544 │        catch ets:delete(?MODULE, Ref),833     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.834Compile directive 'nowarn_deprecated_catch' can be used to suppress835warnings in selected modules.836837     ┌─ src/hackney_manager.erl:838     │839 559 │        catch ets:delete(?REFS, Ref),840     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.841Compile directive 'nowarn_deprecated_catch' can be used to suppress842warnings in selected modules.843844     ┌─ src/hackney_manager.erl:845     │846 560 │        catch ets:delete(?MODULE, Ref),847     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.848Compile directive 'nowarn_deprecated_catch' can be used to suppress849warnings in selected modules.850851     ┌─ src/hackney_manager.erl:852     │853 618 │        catch unlink(Pid),854     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.855Compile directive 'nowarn_deprecated_catch' can be used to suppress856warnings in selected modules.857858859==> property_table860Compiling 8 files (.ex)861Generated property_table app862==> nerves_uevent863 CC uevent.o864 LD uevent865Compiling 5 files (.ex)866Generated nerves_uevent app867==> nerves_runtime868Compiling 14 files (.ex)869Generated nerves_runtime app870==> toolshed871Compiling 5 files (.ex)872Generated toolshed app873==> nerves_compatibility_test874===> Analyzing applications...875===> Compiling cowboy_telemetry876==> plug_cowboy877Compiling 5 files (.ex)878Generated plug_cowboy app879warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"880  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2881  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1882  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5883  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2884  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4885  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2886887==> phoenix888Compiling 66 files (.ex)889     warning: the variable "prefix" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator890     │891 194 │       <<attr::size(prefix)-binary, ":unique">> -> attr892     │                    ~893     │894     └─ lib/mix/phoenix/schema.ex:194:20: Mix.Phoenix.Schema.drop_unique/1895896     warning: using single-quoted strings to represent charlists is deprecated.897     Use ~c"" if you indeed want a charlist or use "" instead.898     You may run "mix format --migrate" to change all single-quoted899     strings to use the ~c sigil and fix this warning.900     │901 258 │           notBefore: {:utcTime, '#{not_before}000000Z'},902     │                                 ~903     │904     └─ lib/mix/tasks/phx.gen.cert.ex:258:33905906     warning: using single-quoted strings to represent charlists is deprecated.907     Use ~c"" if you indeed want a charlist or use "" instead.908     You may run "mix format --migrate" to change all single-quoted909     strings to use the ~c sigil and fix this warning.910     │911 259 │           notAfter: {:utcTime, '#{not_after}000000Z'}912     │                                ~913     │914     └─ lib/mix/tasks/phx.gen.cert.ex:259:32915916    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead917    │918 55 │             Logger.warn(919    │                    ~920    │921    └─ lib/phoenix/code_reloader/server.ex:55:20: Phoenix.CodeReloader.Server.handle_call/3922923      warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.924925      This error happens when you have function calls without parentheses inside keywords. For example:926927          function(arg, one: nested_call a, b, c)928          function(arg, one: if expr, do: :this, else: :that)929930      In the examples above, we don't know if the arguments "b" and "c" apply to the function "function" or "nested_call". Or if the keywords "do" and "else" apply to the function "function" or "if". You can solve this by explicitly adding parentheses:931932          function(arg, one: if(expr, do: :this, else: :that))933          function(arg, one: nested_call(a, b, c))934935      Ambiguity found at:936      │937 1002 │   defp get_disposition_type(other), do: raise ArgumentError, "expected :disposition to be :attachment or :inline, got: #{inspect(other)}"938      │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~939      │940      └─ lib/phoenix/controller.ex:1002941942    warning: unused require Logger943    │944  9 │   require Logger945    │   ~946    │947    └─ lib/phoenix/config.ex:9:3948949     warning: unused require Logger950     │951 240 │   require Logger952     │   ~953     │954     └─ lib/phoenix/endpoint.ex:240:3955956      warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead957      │958 1013 │       Logger.warn "send_download/3 has been invoked during an AJAX request. " <>959      │              ~960      │961      └─ lib/phoenix/controller.ex:1013:14: Phoenix.Controller.warn_if_ajax/1962963    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead964    │965 82 │     Logger.warn "Phoenix.Endpoint.CowboyAdapter is deprecated and it will be removed in next versions. " <>966    │            ~967    │968    └─ lib/phoenix/endpoint/cowboy_adapter.ex:82:12: Phoenix.Endpoint.CowboyAdapter.child_specs/2969970    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead971    │972 71 │             Logger.warn("no configuration found for otp_app #{inspect(otp_app)} and module #{inspect(mod)}")973    │                    ~974    │975    └─ lib/phoenix/endpoint/supervisor.ex:71:20: Phoenix.Endpoint.Supervisor.init/1976977    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead978    │979 95 │       Logger.warn(":instrumenters configuration for #{inspect(mod)} is deprecated and has no effect")980    │              ~981    │982    └─ lib/phoenix/endpoint/supervisor.ex:95:14: Phoenix.Endpoint.Supervisor.init/1983984     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead985     │986 116 │       Logger.warn """987     │              ~988     │989     └─ lib/phoenix/endpoint/supervisor.ex:116:14: Phoenix.Endpoint.Supervisor.pubsub_children/2990991     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead992     │993 166 │         Logger.warn "Phoenix.Endpoint.CowboyHandler is deprecated, please use Phoenix.Endpoint.CowboyAdapter instead"994     │                ~995     │996     └─ lib/phoenix/endpoint/supervisor.ex:166:16: Phoenix.Endpoint.Supervisor.user_adapter/2997998     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead999     │1000 170 │         Logger.warn "The :handler option in #{inspect endpoint} is deprecated, please use :adapter instead"1001     │                ~1002     │1003     └─ lib/phoenix/endpoint/supervisor.ex:170:16: Phoenix.Endpoint.Supervisor.user_adapter/210041005     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1006     │1007 346 │       Logger.warn("url: [host: ...] configuration value #{inspect(host)} for #{inspect(endpoint)} is invalid")1008     │              ~1009     │1010     └─ lib/phoenix/endpoint/supervisor.ex:346:14: Phoenix.Endpoint.Supervisor.build_url/210111012    warning: unused require Phoenix.Endpoint1013    │1014  6 │   require Phoenix.Endpoint1015    │   ~1016    │1017    └─ lib/phoenix/controller.ex:6:310181019    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 operator1020    │1021 46 │       <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix1022    │                             ~1023    │1024    └─ lib/phoenix/naming.ex:46:29: Phoenix.Naming.unsuffix/210251026     warning: using single-quoted strings to represent charlists is deprecated.1027     Use ~c"" if you indeed want a charlist or use "" instead.1028     You may run "mix format --migrate" to change all single-quoted1029     strings to use the ~c sigil and fix this warning.1030     │1031 411 │   @anno (if :erlang.system_info(:otp_release) >= '19' do1032     │                                                  ~1033     │1034     └─ lib/phoenix/router.ex:411:5010351036    warning: unused require Phoenix.Endpoint1037    │1038 19 │   require Phoenix.Endpoint1039    │   ~1040    │1041    └─ lib/phoenix/endpoint/render_errors.ex:19:310421043    warning: using single-quoted strings to represent charlists is deprecated.1044    Use ~c"" if you indeed want a charlist or use "" instead.1045    You may run "mix format --migrate" to change all single-quoted1046    strings to use the ~c sigil and fix this warning.1047    │1048  8 │   @anno (if :erlang.system_info(:otp_release) >= '19' do1049    │                                                  ~1050    │1051    └─ lib/phoenix/router/helpers.ex:8:5010521053    warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.10541055    This error happens when you have function calls without parentheses inside keywords. For example:10561057        function(arg, one: nested_call a, b, c)1058        function(arg, one: if expr, do: :this, else: :that)10591060    In the examples above, we don't know if the arguments "b" and "c" apply to the function "function" or "nested_call". Or if the keywords "do" and "else" apply to the function "function" or "if". You can solve this by explicitly adding parentheses:10611062        function(arg, one: if(expr, do: :this, else: :that))1063        function(arg, one: nested_call(a, b, c))10641065    Ambiguity found at:1066    │1067 71 │     unless actions -- supported_actions == [], do: raise ArgumentError, """1068    │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1069    │1070    └─ lib/phoenix/router/resource.ex:7110711072     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1073     │1074 734 │     Logger.warn fn -> "Ignoring unmatched topic \"#{topic}\" in #{inspect(handler)}" end1075     │            ~1076     │1077     └─ lib/phoenix/socket.ex:734:12: Phoenix.Socket.encode_ignore/210781079    warning: unused require Phoenix.Endpoint1080    │1081  6 │   require Phoenix.Endpoint1082    │   ~1083    │1084    └─ lib/phoenix/channel/server.ex:6:310851086     warning: unused require Phoenix.Endpoint1087     │1088 188 │   require Phoenix.Endpoint1089     │   ~1090     │1091     └─ lib/phoenix/socket.ex:188:310921093    warning: unused require Logger1094    │1095 93 │   require Logger1096    │   ~1097    │1098    └─ lib/phoenix/token.ex:93:310991100     warning: using single-quoted strings to represent charlists is deprecated.1101     Use ~c"" if you indeed want a charlist or use "" instead.1102     You may run "mix format --migrate" to change all single-quoted1103     strings to use the ~c sigil and fix this warning.1104     │1105 178 │   @anno (if :erlang.system_info(:otp_release) >= '19' do1106     │                                                  ~1107     │1108     └─ lib/phoenix/view.ex:178:5011091110    warning: a struct for Plug.Conn is expected on struct update:11111112        %Plug.Conn{conn | state: :sent}11131114    but got type:11151116        dynamic()11171118    where "conn" was given the type:11191120        # type: dynamic()1121        # from: lib/phoenix/endpoint/render_errors.ex:57:171122        conn11231124    when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"11251126    type warning found at:1127    │1128 61 │         %Plug.Conn{conn | state: :sent}1129    │         ~1130    │1131    └─ lib/phoenix/endpoint/render_errors.ex:61:9: Phoenix.Endpoint.RenderErrors.__catch__/511321133     warning: a struct for Plug.Conn is expected on struct update:11341135         %Plug.Conn{conn | query_params: %{}, params: %{}}11361137     but got type:11381139         dynamic(%{..., params: %Plug.Conn.Unfetched{}})11401141     where "conn" was given the types:11421143         # type: dynamic(%{..., params: term()})1144         # from: lib/phoenix/endpoint/render_errors.ex:124:171145         conn.params11461147         # type: dynamic(%{..., params: %Plug.Conn.Unfetched{}})1148         # from: lib/phoenix/endpoint/render_errors.ex:124:171149         conn.params11501151     when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"11521153     type warning found at:1154     │1155 125 │         %Plug.Conn.Unfetched{} -> %Plug.Conn{conn | query_params: %{}, params: %{}}1156     │                                   ~1157     │1158     └─ lib/phoenix/endpoint/render_errors.ex:125:35: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/111591160     warning: a struct for Plug.Conn is expected on struct update:11611162         %Plug.Conn{conn | query_params: %{}, params: params}11631164     but got type:11651166         dynamic(%{..., params: not %Plug.Conn.Unfetched{}})11671168     where "conn" was given the types:11691170         # type: dynamic(%{..., params: term()})1171         # from: lib/phoenix/endpoint/render_errors.ex:124:171172         conn.params11731174         # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})1175         # from: lib/phoenix/endpoint/render_errors.ex:124:171176         conn.params11771178     when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"11791180     type warning found at:1181     │1182 126 │         params -> %Plug.Conn{conn | query_params: %{}, params: params}1183     │                   ~1184     │1185     └─ lib/phoenix/endpoint/render_errors.ex:126:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/111861187     warning: incompatible types given to socket_children/1:11881189         socket_children(mod)11901191     given types:11921193         -dynamic(atom())-11941195     but expected one of:11961197         %{..., __sockets__: term()}11981199     where "mod" was given the types:12001201         # type: dynamic(atom() or binary())1202         # from: lib/phoenix/endpoint/supervisor.ex:64:411203         defaults(otp_app, mod)12041205         # type: dynamic(atom())1206         # from: lib/phoenix/endpoint/supervisor.ex:68:161207         mod.init(:supervisor, env_conf)12081209     type warning found at:1210     │1211 105 │       socket_children(mod) ++1212     │       ~1213     │1214     └─ lib/phoenix/endpoint/supervisor.ex:105:7: Phoenix.Endpoint.Supervisor.init/112151216      warning: a struct for Plug.Conn is expected on struct update:12171218          %Plug.Conn{conn | params: params}12191220      but got type:12211222          dynamic(%{..., params: map()})12231224      where "conn" was given the type:12251226          # type: dynamic(%{..., params: map()})1227          # from: lib/phoenix/controller.ex:1040:171228          Map.get(conn.params, required_key)12291230      when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"12311232      type warning found at:1233      │1234 1047 │     %Plug.Conn{conn | params: params}1235      │     ~1236      │1237      └─ lib/phoenix/controller.ex:1047:5: Phoenix.Controller.scrub_params/212381239Generated phoenix app1240warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1241  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21242  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11243  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51244  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21245  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41246  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/212471248==> phoenix_live_view1249Compiling 22 files (.ex)1250    warning: unused require Logger1251    │1252 25 │   require Logger1253    │   ~1254    │1255    └─ lib/phoenix_live_view/socket.ex:25:312561257     warning: unused require Phoenix.ChannelTest1258     │1259 141 │   require Phoenix.ChannelTest1260     │   ~1261     │1262     └─ lib/phoenix_live_view/test/live_view_test.ex:141:312631264     warning: unused require Phoenix.ConnTest1265     │1266 140 │   require Phoenix.ConnTest1267     │   ~1268     │1269     └─ lib/phoenix_live_view/test/live_view_test.ex:140:312701271    warning: unused require Phoenix.ChannelTest1272    │1273  4 │   require Phoenix.ChannelTest1274    │   ~1275    │1276    └─ lib/phoenix_live_view/test/upload_client.ex:4:312771278    warning: unused require Logger1279    │1280  6 │   require Logger1281    │   ~1282    │1283    └─ lib/phoenix_live_view/upload_channel.ex:6:312841285     warning: a struct for Phoenix.LiveView.Socket is expected on struct update:12861287         %Phoenix.LiveView.Socket{1288           socket1289           | private: Map.put(socket.private, :phoenix_live_layout, {mod, template})1290         }12911292     but got type:12931294         dynamic()12951296     where "socket" was given the type:12971298         # type: dynamic()1299         # from: lib/phoenix_live_view/utils.ex:464:211300         socket13011302     when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"13031304     type warning found at:1305     │1306 465 │     %Socket{socket | private: Map.put(socket.private, :phoenix_live_layout, {mod, template})}1307     │     ~1308     │1309     └─ lib/phoenix_live_view/utils.ex:465:5: Phoenix.LiveView.Utils.do_mount_opt/313101311     warning: a struct for Phoenix.LiveView.Socket is expected on struct update:13121313         %Phoenix.LiveView.Socket{socket | private: Map.put(socket.private, :phoenix_live_layout, false)}13141315     but got type:13161317         dynamic()13181319     where "socket" was given the type:13201321         # type: dynamic()1322         # from: lib/phoenix_live_view/utils.ex:468:211323         socket13241325     when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"13261327     type warning found at:1328     │1329 469 │     %Socket{socket | private: Map.put(socket.private, :phoenix_live_layout, false)}1330     │     ~1331     │1332     └─ lib/phoenix_live_view/utils.ex:469:5: Phoenix.LiveView.Utils.do_mount_opt/313331334     warning: a struct for Phoenix.LiveView.Socket is expected on struct update:13351336         %Phoenix.LiveView.Socket{1337           socket1338           | assigns: Map.merge(temp_assigns, socket.assigns),1339             private: Map.put(socket.private, :temporary_assigns, temp_assigns)1340         }13411342     but got type:13431344         dynamic()13451346     where "socket" was given the type:13471348         # type: dynamic()1349         # from: lib/phoenix_live_view/utils.ex:478:211350         socket13511352     when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"13531354     type warning found at:1355     │1356 485 │     %Socket{1357     │     ~1358     │1359     └─ lib/phoenix_live_view/utils.ex:485:5: Phoenix.LiveView.Utils.do_mount_opt/313601361     warning: a struct for Phoenix.LiveView.Socket is expected on struct update:13621363         %Phoenix.LiveView.Socket{1364           socket1365           | assigns: %Phoenix.LiveView.Socket.AssignsNotInSocket{__assigns__: assigns}1366         }13671368     but got type:13691370         dynamic(%{..., assigns: term(), changed: term()})13711372     where "socket" was given the type:13731374         # type: dynamic(%{..., assigns: term(), changed: term()})1375         # from: lib/phoenix_live_view/utils.ex:496:611376         %{assigns: assigns, changed: changed} = socket13771378     when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"13791380     type warning found at:1381     │1382 497 │     socket = %Socket{socket | assigns: %Socket.AssignsNotInSocket{__assigns__: assigns}}1383     │              ~1384     │1385     └─ lib/phoenix_live_view/utils.ex:497:14: Phoenix.LiveView.Utils.render_assigns/113861387     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:13881389         %Phoenix.LiveView.UploadEntry{entry | preflighted?: true}13901391     but got type:13921393         dynamic()13941395     where "entry" was given the type:13961397         # type: dynamic()1398         # from: lib/phoenix_live_view/upload_config.ex:341:281399         entry <- conf.entries14001401     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"14021403     type warning found at:1404     │1405 341 │       | entries: for(entry <- conf.entries, do: %UploadEntry{entry | preflighted?: true})1406     │                                                 ~1407     │1408     └─ lib/phoenix_live_view/upload_config.ex:341:49: Phoenix.LiveView.UploadConfig.mark_preflighted/114091410     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:14111412         %Phoenix.LiveView.UploadEntry{entry | valid?: true, uuid: generate_uuid()}14131414     but got type:14151416         dynamic()14171418     where "entry" was given the type:14191420         # type: dynamic()1421         # from: lib/phoenix_live_view/upload_config.ex:541:301422         entry14231424     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"14251426     type warning found at:1427     │1428 542 │     entry = %UploadEntry{entry | valid?: true, uuid: generate_uuid()}1429     │             ~1430     │1431     └─ lib/phoenix_live_view/upload_config.ex:542:13: Phoenix.LiveView.UploadConfig.put_valid_entry/214321433     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:14341435         %Phoenix.LiveView.UploadEntry{entry | valid?: false}14361437     but got type:14381439         dynamic()14401441     where "entry" was given the type:14421443         # type: dynamic()1444         # from: lib/phoenix_live_view/upload_config.ex:554:321445         entry14461447     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"14481449     type warning found at:1450     │1451 555 │     entry = %UploadEntry{entry | valid?: false}1452     │             ~1453     │1454     └─ lib/phoenix_live_view/upload_config.ex:555:13: Phoenix.LiveView.UploadConfig.put_invalid_entry/314551456     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:14571458         %Phoenix.LiveView.UploadEntry{entry | cancelled?: true}14591460     but got type:14611462         dynamic()14631464     where "entry" was given the type:14651466         # type: dynamic()1467         # from: lib/phoenix_live_view/upload_config.ex:638:421468         entry14691470     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"14711472     type warning found at:1473     │1474 638 │         update_entry(conf, entry.ref, fn entry -> %UploadEntry{entry | cancelled?: true} end)1475     │                                                   ~1476     │1477     └─ lib/phoenix_live_view/upload_config.ex:638:51: Phoenix.LiveView.UploadConfig.cancel_entry/214781479    warning: Logger.disable/1 is deprecated. Use Logger.put_process_level(pid, :none) instead1480    │1481 56 │     Logger.disable(self())1482    │            ~1483    │1484    └─ lib/phoenix_live_view/test/client_proxy.ex:56:12: Phoenix.LiveViewTest.ClientProxy.init/114851486     warning: a struct for Phoenix.LiveViewTest.ClientProxy is expected on struct update:14871488         %Phoenix.LiveViewTest.ClientProxy{view | rendered: rendered}14891490     but got type:14911492         dynamic(%{..., rendered: term()})14931494     where "view" was given the type:14951496         # type: dynamic(%{..., rendered: term()})1497         # from: lib/phoenix_live_view/test/client_proxy.ex:600:241498         Phoenix.LiveViewTest.DOM.merge_diff(view.rendered, diff)14991500     when defining the variable "view", you must also pattern match on "%Phoenix.LiveViewTest.ClientProxy{}"15011502     type warning found at:1503     │1504 601 │         new_view = %ClientProxy{view | rendered: rendered}1505     │                    ~1506     │1507     └─ lib/phoenix_live_view/test/client_proxy.ex:601:20: Phoenix.LiveViewTest.ClientProxy.merge_rendered/315081509     warning: Plug.Conn.Query.decode_pair/2 is deprecated. Use decode_init/0, decode_each/2, and decode_done/2 instead1510     │1511 986 │       Plug.Conn.Query.decode_pair({name, DOM.attribute(selected, "value")}, acc)1512     │                       ~1513     │1514     └─ lib/phoenix_live_view/test/client_proxy.ex:986:23: Phoenix.LiveViewTest.ClientProxy.form_defaults/31515     └─ lib/phoenix_live_view/test/client_proxy.ex:991:21: Phoenix.LiveViewTest.ClientProxy.form_defaults/31516     └─ lib/phoenix_live_view/test/client_proxy.ex:1001:27: Phoenix.LiveViewTest.ClientProxy.form_defaults/31517     └─ lib/phoenix_live_view/test/client_proxy.ex:1010:25: Phoenix.LiveViewTest.ClientProxy.form_defaults/315181519     warning: the following clause is redundant:15201521         def to_iodata(%_{} = struct)15221523     it has type:15241525         dynamic(%Phoenix.LiveView.Rendered{})15261527     previous clauses have already matched on the following types:15281529         %Phoenix.LiveView.Rendered{}15301531     │1532 126 │     def to_iodata(%_{} = struct) do1533     │         ~1534     │1535     └─ lib/phoenix_live_view/engine.ex:126:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/115361537     warning: the 1st pattern in clause will never match:15381539         nil15401541     because it is expected to receive type:15421543         dynamic(%Phoenix.LiveView.Rendered{})15441545     hint: defimpl for Phoenix.LiveView.Rendered requires its callbacks to match exclusively on %Phoenix.LiveView.Rendered{}15461547     type warning found at:1548     │1549 130 │     def to_iodata(nil) do1550     │     ~~~~~~~~~~~~~~~~~~~~~1551     │1552     └─ lib/phoenix_live_view/engine.ex:130: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/115531554     warning: the following clause is redundant:15551556         def to_iodata(other)15571558     it has type:15591560         dynamic(%Phoenix.LiveView.Rendered{})15611562     previous clauses have already matched on the following types:15631564         %Phoenix.LiveView.Rendered{}15651566     │1567 134 │     def to_iodata(other) do1568     │         ~1569     │1570     └─ lib/phoenix_live_view/engine.ex:134:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/115711572Generated phoenix_live_view app1573==> httpoison1574Compiling 3 files (.ex)1575Generated httpoison app1576warning: Phoenix now requires you to explicitly list which engine to use1577for Phoenix JSON encoding. We recommend everyone to upgrade to1578Jason by setting in your config/config.exs:15791580    config :phoenix, :json_library, Jason15811582And then adding {:jason, "~> 1.0"} as a dependency.15831584If instead you would rather continue using Poison, then add to1585your config/config.exs:15861587    config :phoenix, :json_library, Poison15881589  (phoenix 1.5.15) lib/phoenix.ex:38: Phoenix.start/21590  (kernel 11.0.4) application_master.erl:299: :application_master.start_it_old/415911592==> ex_ussd_simulator1593Compiling 9 files (.ex)15941595== Compilation error in file lib/endpoint.ex ==1596** (ArgumentError) invalid :json_decoder option. The module Poison is not loaded and could not be found1597    (plug 1.20.3) lib/plug/parsers/json.ex:48: Plug.Parsers.JSON.validate_decoder!/11598    (plug 1.20.3) lib/plug/parsers/json.ex:35: Plug.Parsers.JSON.init/11599    (plug 1.20.3) lib/plug/parsers.ex:283: anonymous fn/2 in Plug.Parsers.convert_parsers/21600    (elixir 1.20.3) lib/enum.ex:1725: Enum."-map/2-lists^map/1-1-"/21601    (elixir 1.20.3) lib/enum.ex:1725: Enum."-map/2-lists^map/1-1-"/21602    (plug 1.20.3) lib/plug/parsers.ex:263: Plug.Parsers.init/11603    (plug 1.20.3) lib/plug/builder.ex:358: Plug.Builder.init_module_plug/41604    (plug 1.20.3) lib/plug/builder.ex:339: anonymous fn/5 in Plug.Builder.compile/31605could not compile dependency :ex_ussd_simulator, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile ex_ussd_simulator --force", update it with "mix deps.update ex_ussd_simulator" or clean it with "mix deps.clean ex_ussd_simulator"