step_flow

Build log

nerves_system_x86_64

step_flow 1.9.0 · fail · run step_flow-1.9.0-1791114008798
2182 of 2182 lines
1Resolving Hex dependencies...2Resolution completed in 0.91s3Unchanged:4  accept 0.3.75  amqp 4.1.16  amqp_client 4.3.47  castore 1.0.218  certifi 2.17.09  circular_buffer 1.1.010  conv_case 0.2.311  cowboy 2.19.012  cowlib 2.20.0 VULNERABLE!13    EEF-CVE-2026-43966 (MEDIUM)14    aka: CVE-2026-43966, GHSA-w4f7-4cxr-rv3c15    HTTP Response Splitting via Non-VCHAR Bytes in cow_http_struct_hd:escape_string/216    https://osv.dev/vulnerability/EEF-CVE-2026-439661718    EEF-CVE-2026-43969 (LOW)19    aka: CVE-2026-43969, GHSA-g2wm-735q-3f5620    Cookie Request Header Injection via Unvalidated Encoder in cow_cookie:cookie/121    https://osv.dev/vulnerability/EEF-CVE-2026-4396922  credentials_obfuscation 3.5.023  db_connection 2.10.224  decimal 3.1.125  ecto 3.14.226  ecto_enum 1.4.027  ecto_sql 3.14.028  elixir_make 0.10.029  ex_json_schema 0.11.530  expo 1.1.131  gettext 0.26.232  h2 0.12.433  hackney 4.8.534  httpoison 3.0.035  idna 7.1.036  interactive_cmd 0.1.437  jason 1.4.538  json 1.4.139  json_xema 0.6.540  mime 2.0.741  mimerl 1.5.042  nerves 2.0.0-pre.243  nerves_discovery 0.1.544  nerves_logging 0.2.445  nerves_runtime 0.13.1346  nerves_system_bbb 2.30.247  nerves_system_br 1.34.448  nerves_system_mangopi_mq_pro 0.17.249  nerves_system_qemu_aarch64 0.4.250  nerves_system_rpi0 2.1.251  nerves_system_rpi4 2.1.252  nerves_system_rpi5 2.1.253  nerves_system_trellis 0.5.054  nerves_system_x86_64 1.34.255  nerves_toolchain_aarch64_nerves_linux_gnu 15.3.156  nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.157  nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.158  nerves_toolchain_riscv64_nerves_linux_gnu 15.3.159  nerves_toolchain_x86_64_nerves_linux_musl 15.3.160  nerves_uevent 0.1.761  open_api_spex 3.18.362  parse_trans 3.4.263  phoenix 1.7.2464  phoenix_html 4.1.165  phoenix_html_helpers 1.0.166  phoenix_pubsub 2.1.367  phoenix_template 1.1.068  phoenix_view 2.0.469  plug 1.15.6 VULNERABLE!70    EEF-CVE-2026-56814 (MEDIUM)71    aka: CVE-2026-56814, GHSA-95qv-c9g9-rm6372    Plug: multipart :length limit is not charged for part headers, enabling unbounded temp-file creation (denial of service)73    https://osv.dev/vulnerability/EEF-CVE-2026-568147475    EEF-CVE-2026-56813 (LOW)76    aka: CVE-2026-56813, GHSA-wpmj-jh88-rpgm77    Cookie attribute injection in Plug.Conn.Cookies.encode/278    https://osv.dev/vulnerability/EEF-CVE-2026-5681379  plug_crypto 2.2.080  postgrex 0.22.481  prometheus 4.13.0 RETIRED!82    (other) Breaking changes regarding automated discovery of collectors, version was promoted to 5.0.083  prometheus_ex 3.1.084  prometheus_plugs 1.1.585  property_table 0.3.486  quantile_estimator 1.0.287  quic 2.1.188  rabbit_common 4.3.489  ranch 2.2.090  recon 2.5.691  ring_logger 0.11.792  ssl_verify_fun 1.1.793  step_flow 1.9.094  tablet 0.3.395  telemetry 1.4.296  thoas 1.2.197  toolshed 0.5.098  uboot_env 1.0.299  websock 0.5.3100  websock_adapter 0.5.9101  webtransport 0.4.8102  xema 0.17.9103* Getting step_flow (Hex package)104* Getting nerves (Hex package)105* Getting ring_logger (Hex package)106* Getting toolshed (Hex package)107* Getting nerves_runtime (Hex package)108* Getting nerves_system_bbb (Hex package)109* Getting nerves_system_mangopi_mq_pro (Hex package)110* Getting nerves_system_qemu_aarch64 (Hex package)111* Getting nerves_system_rpi0 (Hex package)112* Getting nerves_system_rpi4 (Hex package)113* Getting nerves_system_rpi5 (Hex package)114* Getting nerves_system_trellis (Hex package)115* Getting nerves_system_x86_64 (Hex package)116* Getting nerves_system_br (Hex package)117* Getting nerves_toolchain_x86_64_nerves_linux_musl (Hex package)118* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)119* Getting nerves_toolchain_aarch64_nerves_linux_gnu (Hex package)120* Getting nerves_toolchain_armv6_nerves_linux_gnueabihf (Hex package)121* Getting nerves_toolchain_riscv64_nerves_linux_gnu (Hex package)122* Getting nerves_logging (Hex package)123* Getting nerves_uevent (Hex package)124* Getting uboot_env (Hex package)125* Getting elixir_make (Hex package)126* Getting property_table (Hex package)127* Getting circular_buffer (Hex package)128* Getting interactive_cmd (Hex package)129* Getting nerves_discovery (Hex package)130* Getting tablet (Hex package)131* Getting amqp (Hex package)132* Getting cowboy (Hex package)133* Getting ecto (Hex package)134* Getting ecto_enum (Hex package)135* Getting ecto_sql (Hex package)136* Getting ex_json_schema (Hex package)137* Getting gettext (Hex package)138* Getting httpoison (Hex package)139* Getting jason (Hex package)140* Getting json (Hex package)141* Getting json_xema (Hex package)142* Getting open_api_spex (Hex package)143* Getting phoenix (Hex package)144* Getting phoenix_html (Hex package)145* Getting phoenix_html_helpers (Hex package)146* Getting phoenix_pubsub (Hex package)147* Getting phoenix_view (Hex package)148* Getting plug (Hex package)149* Getting postgrex (Hex package)150* Getting prometheus_ex (Hex package)151* Getting prometheus_plugs (Hex package)152* Getting xema (Hex package)153* Getting conv_case (Hex package)154* Getting accept (Hex package)155* Getting prometheus (Hex package)156* Getting quantile_estimator (Hex package)157* Getting db_connection (Hex package)158* Getting decimal (Hex package)159* Getting telemetry (Hex package)160* Getting mime (Hex package)161* Getting plug_crypto (Hex package)162* Getting phoenix_template (Hex package)163* Getting castore (Hex package)164* Getting websock_adapter (Hex package)165* Getting websock (Hex package)166* Getting hackney (Hex package)167* Getting certifi (Hex package)168* Getting h2 (Hex package)169* Getting idna (Hex package)170* Getting mimerl (Hex package)171* Getting parse_trans (Hex package)172* Getting quic (Hex package)173* Getting ssl_verify_fun (Hex package)174* Getting webtransport (Hex package)175* Getting expo (Hex package)176* Getting cowlib (Hex package)177* Getting ranch (Hex package)178* Getting amqp_client (Hex package)179* Getting credentials_obfuscation (Hex package)180* Getting rabbit_common (Hex package)181* Getting recon (Hex package)182* Getting thoas (Hex package)183Found retired packages, see above for details184Found packages with security advisories, see above for details185You have added/upgraded packages you could sponsor, run `mix hex.sponsor` to learn more186===> Analyzing applications...187===> Compiling credentials_obfuscation188==> json189Compiling 13 files (.ex)190    warning: redefining module JSON (current version loaded from /home/nerves/.elixir/lib/elixir/ebin/Elixir.JSON.beam)191    │192  1 │ defmodule JSON do193    │ ~~~~~~~~~~~~~~~~~194    │195    └─ lib/json.ex:1: JSON (module)196197    warning: redefining module JSON.Encoder (current version loaded from /home/nerves/.elixir/lib/elixir/ebin/Elixir.JSON.Encoder.beam)198    │199  1 │ defprotocol JSON.Encoder do200    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~201    │202    └─ lib/json/encoder.ex:1: JSON.Encoder (module)203204    warning: redefining module JSON.Encoder.List (current version loaded from /home/nerves/.elixir/lib/elixir/ebin/Elixir.JSON.Encoder.List.beam)205    │206 25 │ defimpl JSON.Encoder, for: List do207    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~208    │209    └─ lib/json/encoder/default_implementations.ex:25: JSON.Encoder.List (module)210211    warning: redefining module JSON.Encoder.Integer (current version loaded from /home/nerves/.elixir/lib/elixir/ebin/Elixir.JSON.Encoder.Integer.beam)212    │213 53 │ defimpl JSON.Encoder, for: [Integer, Float] do214    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~215    │216    └─ lib/json/encoder/default_implementations.ex:53: JSON.Encoder.Integer (module)217218    warning: redefining module JSON.Encoder.Float (current version loaded from /home/nerves/.elixir/lib/elixir/ebin/Elixir.JSON.Encoder.Float.beam)219    │220 53 │ defimpl JSON.Encoder, for: [Integer, Float] do221    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~222    │223    └─ lib/json/encoder/default_implementations.ex:53: JSON.Encoder.Float (module)224225    warning: unused require Logger226    │227 14 │   require Logger228    │   ~229    │230    └─ lib/json/logger.ex:14:3231232    warning: redefining module JSON.Encoder.Atom (current version loaded from /home/nerves/.elixir/lib/elixir/ebin/Elixir.JSON.Encoder.Atom.beam)233    │234 66 │ defimpl JSON.Encoder, for: Atom do235    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~236    │237    └─ lib/json/encoder/default_implementations.ex:66: JSON.Encoder.Atom (module)238239    warning: redefining module JSON.Encoder.BitString (current version loaded from /home/nerves/.elixir/lib/elixir/ebin/Elixir.JSON.Encoder.BitString.beam)240    │241 83 │ defimpl JSON.Encoder, for: BitString do242    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~243    │244    └─ lib/json/encoder/default_implementations.ex:83: JSON.Encoder.BitString (module)245246     warning: redefining module JSON.Encoder.Map (current version loaded from /home/nerves/.elixir/lib/elixir/ebin/Elixir.JSON.Encoder.Map.beam)247     │248 147 │ defimpl JSON.Encoder, for: Map do249     │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~250     │251     └─ lib/json/encoder/default_implementations.ex:147: JSON.Encoder.Map (module)252253    warning: using single-quoted strings to represent charlists is deprecated.254    Use ~c"" if you indeed want a charlist or use "" instead.255    You may run "mix format --migrate" to change all single-quoted256    strings to use the ~c sigil and fix this warning.257    │258 89 │   defp apply_exponent({:ok, acc, <<exponent::utf8, rest::binary>>}) when exponent in 'eE' do259    │                                                                                      ~260    │261    └─ lib/json/parser/number.ex:89:86262263    warning: use Bitwise is deprecated. import Bitwise instead264    │265  8 │   use Bitwise266    │   ~~~~~~~~~~~267    │268    └─ lib/json/parser/string.ex:8: JSON.Parser.String (module)269270    warning: use Bitwise is deprecated. import Bitwise instead271    │272  6 │   use Bitwise273    │   ~~~~~~~~~~~274    │275    └─ lib/json/parser/unicode.ex:6: JSON.Parser.Unicode (module)276277    warning: JSON.Encoder.encode/1 is undefined or private. Did you mean:278279        * encode/2280281    │282 25 │   defdelegate encode(term), to: Encoder283    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~284    │285    └─ (elixir 1.20.3) lib/json.ex:25: JSON.encode/1286287     warning: function encode/2 required by protocol JSON.Encoder is not implemented (in module JSON.Encoder.Any)288     │289 159 │ defimpl JSON.Encoder, for: Any do290     │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~291     │292     └─ lib/json/encoder/default_implementations.ex:159: JSON.Encoder.Any (module)293294     warning: JSON.Encoder.encode/1 is undefined or private. Did you mean:295296         * encode/2297298     │299 176 │     |> JSON.Encoder.encode()300     │                     ~301     │302     └─ lib/json/encoder/default_implementations.ex:176:21: JSON.Encoder.Any.encode/1303304     warning: function encode/2 required by protocol JSON.Encoder is not implemented (in module JSON.Encoder.Map)305     │306 147 │ defimpl JSON.Encoder, for: Map do307     │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~308     │309     └─ lib/json/encoder/default_implementations.ex:147: JSON.Encoder.Map (module)310311     warning: function encode/2 required by protocol JSON.Encoder is not implemented (in module JSON.Encoder.Record)312     │313 135 │ defimpl JSON.Encoder, for: Record do314     │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~315     │316     └─ lib/json/encoder/default_implementations.ex:135: JSON.Encoder.Record (module)317318    warning: function encode/2 required by protocol JSON.Encoder is not implemented (in module JSON.Encoder.BitString)319    │320 83 │ defimpl JSON.Encoder, for: BitString do321    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~322    │323    └─ lib/json/encoder/default_implementations.ex:83: JSON.Encoder.BitString (module)324325    warning: function encode/2 required by protocol JSON.Encoder is not implemented (in module JSON.Encoder.Atom)326    │327 66 │ defimpl JSON.Encoder, for: Atom do328    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~329    │330    └─ lib/json/encoder/default_implementations.ex:66: JSON.Encoder.Atom (module)331332    warning: function encode/2 required by protocol JSON.Encoder is not implemented (in module JSON.Encoder.Float)333    │334 53 │ defimpl JSON.Encoder, for: [Integer, Float] do335    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~336    │337    └─ lib/json/encoder/default_implementations.ex:53: JSON.Encoder.Float (module)338339    warning: JSON.Encoder.encode/1 is undefined or private. Did you mean:340341        * encode/2342343    │344 73 │   def encode(atom) when is_atom(atom), do: atom |> Atom.to_string() |> JSON.Encoder.encode()345    │                                                                                     ~346    │347    └─ (elixir 1.20.3) lib/json/encoder/default_implementations.ex:73:85: JSON.Encoder.Atom.encode/1348349    warning: function encode/2 required by protocol JSON.Encoder is not implemented (in module JSON.Encoder.Integer)350    │351 53 │ defimpl JSON.Encoder, for: [Integer, Float] do352    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~353    │354    └─ lib/json/encoder/default_implementations.ex:53: JSON.Encoder.Integer (module)355356    warning: JSON.Encoder.encode/1 is undefined or private. Did you mean:357358        * encode/2359360    │361 28 │     case Encoder.encode(item) do362    │                  ~363    │364    └─ lib/json/encoder/helpers.ex:28:18: JSON.Encoder.Helpers.encode_item/1365366    warning: function encode/2 required by protocol JSON.Encoder is not implemented (in module JSON.Encoder.List)367    │368 25 │ defimpl JSON.Encoder, for: List do369    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~370    │371    └─ lib/json/encoder/default_implementations.ex:25: JSON.Encoder.List (module)372373    warning: function encode/2 required by protocol JSON.Encoder is not implemented (in module JSON.Encoder.HashDict)374    │375 13 │ defimpl JSON.Encoder, for: HashDict do376    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~377    │378    └─ lib/json/encoder/default_implementations.ex:13: JSON.Encoder.HashDict (module)379380    warning: function encode/2 required by protocol JSON.Encoder is not implemented (in module JSON.Encoder.Tuple)381    │382  1 │ defimpl JSON.Encoder, for: Tuple do383    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~384    │385    └─ lib/json/encoder/default_implementations.ex:1: JSON.Encoder.Tuple (module)386387Generated json app388==> recon389Compiling 6 files (.erl)390Generated recon app391==> nerves_compatibility_test392===> Analyzing applications...393===> Compiling quantile_estimator394===> Analyzing applications...395===> Compiling accept396===> Analyzing applications...397===> Compiling ranch398    ┌─ src/ranch_conns_sup.erl:399    │400 89 │  	catch erlang:send(SupPid, {?MODULE, active_connections, self(), Tag},401    │  	╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.402Compile directive 'nowarn_deprecated_catch' can be used to suppress403warnings in selected modules.404405406==> conv_case407Compiling 1 file (.ex)408Generated conv_case app409==> xema410Compiling 19 files (.ex)411Generated xema app412==> nerves_compatibility_test413===> Analyzing applications...414===> Compiling cowboy415==> phoenix_html416Compiling 6 files (.ex)417    warning: the 1st pattern in clause will never match:418419        60420421    because it is expected to receive type:422423        dynamic(empty_list() or non_empty_list(term(), term()))424425    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())426427    type warning found at:428    │429 56 │   def to_iodata(?<), do: "&lt;"430    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~431    │432    └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/1433434    warning: the 1st pattern in clause will never match:435436        62437438    because it is expected to receive type:439440        dynamic(empty_list() or non_empty_list(term(), term()))441442    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())443444    type warning found at:445    │446 57 │   def to_iodata(?>), do: "&gt;"447    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~448    │449    └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/1450451    warning: the 1st pattern in clause will never match:452453        38454455    because it is expected to receive type:456457        dynamic(empty_list() or non_empty_list(term(), term()))458459    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())460461    type warning found at:462    │463 58 │   def to_iodata(?&), do: "&amp;"464    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~465    │466    └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/1467468    warning: the 1st pattern in clause will never match:469470        34471472    because it is expected to receive type:473474        dynamic(empty_list() or non_empty_list(term(), term()))475476    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())477478    type warning found at:479    │480 59 │   def to_iodata(?"), do: "&quot;"481    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~482    │483    └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/1484485    warning: the 1st pattern in clause will never match:486487        39488489    because it is expected to receive type:490491        dynamic(empty_list() or non_empty_list(term(), term()))492493    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())494495    type warning found at:496    │497 60 │   def to_iodata(?'), do: "&#39;"498    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~499    │500    └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/1501502    warning: the 1st pattern in clause will never match:503504        {:safe, data}505506    because it is expected to receive type:507508        dynamic(empty_list() or non_empty_list(term(), term()))509510    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())511512    type warning found at:513    │514 76 │   def to_iodata({:safe, data}) do515    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~516    │517    └─ lib/phoenix_html/safe.ex:76: Phoenix.HTML.Safe.List.to_iodata/1518519    warning: the following clause is redundant:520521        def to_iodata(other)522523    it has type:524525        dynamic(empty_list() or non_empty_list(term(), term()))526527    previous clauses have already matched on the following types:528529        non_empty_list(term(), term())530        empty_list()531532    │533 80 │   def to_iodata(other) do534    │       ~535    │536    └─ lib/phoenix_html/safe.ex:80:7: Phoenix.HTML.Safe.List.to_iodata/1537538    warning: the 1st pattern in clause will never match:539540        h541542    because it is expected to receive type:543544        dynamic(empty_list() or non_empty_list(term(), term()))545546    where "h" was given the type:547548        # type: integer()549        # from: lib/phoenix_html/safe.ex:62:25550        is_integer(h)551552    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())553554    type warning found at:555    │556 62 │   def to_iodata(h) when is_integer(h) and h <= 255 do557    │                 ~558    │559    └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/1560561    warning: the 1st pattern in clause will never match:562563        h564565    because it is expected to receive type:566567        dynamic(empty_list() or non_empty_list(term(), term()))568569    where "h" was given the type:570571        # type: integer()572        # from: lib/phoenix_html/safe.ex:66:25573        is_integer(h)574575    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())576577    type warning found at:578    │579 66 │   def to_iodata(h) when is_integer(h) do580    │                 ~581    │582    └─ lib/phoenix_html/safe.ex:66:17: Phoenix.HTML.Safe.List.to_iodata/1583584    warning: the 1st pattern in clause will never match:585586        h587588    because it is expected to receive type:589590        dynamic(empty_list() or non_empty_list(term(), term()))591592    where "h" was given the type:593594        # type: binary()595        # from: lib/phoenix_html/safe.ex:72:25596        is_binary(h)597598    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())599600    type warning found at:601    │602 72 │   def to_iodata(h) when is_binary(h) do603    │                 ~604    │605    └─ lib/phoenix_html/safe.ex:72:17: Phoenix.HTML.Safe.List.to_iodata/1606607Generated phoenix_html app608==> phoenix_template609Compiling 4 files (.ex)610Generated phoenix_template app611==> phoenix_pubsub612Compiling 11 files (.ex)613    warning: unused require Logger614    │615 74 │   require Logger616    │   ~617    │618    └─ lib/phoenix/tracker.ex:74:3619620    warning: a struct for Phoenix.Tracker.Replica is expected on struct update:621622        %Phoenix.Tracker.Replica{replica | status: :permdown}623624    but got type:625626        dynamic()627628    where "replica" was given the type:629630        # type: dynamic()631        # from: lib/phoenix/tracker/replica.ex:72:17632        replica633634    when defining the variable "replica", you must also pattern match on "%Phoenix.Tracker.Replica{}"635636    type warning found at:637    │638 72 │   defp permdown(replica), do: %Replica{replica | status: :permdown}639    │                               ~640    │641    └─ lib/phoenix/tracker/replica.ex:72:31: Phoenix.Tracker.Replica.permdown/1642643    warning: a struct for Phoenix.Tracker.Replica is expected on struct update:644645        %Phoenix.Tracker.Replica{replica | status: :down}646647    but got type:648649        dynamic()650651    where "replica" was given the type:652653        # type: dynamic()654        # from: lib/phoenix/tracker/replica.ex:74:13655        replica656657    when defining the variable "replica", you must also pattern match on "%Phoenix.Tracker.Replica{}"658659    type warning found at:660    │661 74 │   defp down(replica), do: %Replica{replica | status: :down}662    │                           ~663    │664    └─ lib/phoenix/tracker/replica.ex:74:27: Phoenix.Tracker.Replica.down/1665666    warning: a struct for Phoenix.Tracker.Replica is expected on struct update:667668        %Phoenix.Tracker.Replica{replica | last_heartbeat_at: now_ms()}669670    but got type:671672        dynamic()673674    where "replica" was given the type:675676        # type: dynamic()677        # from: lib/phoenix/tracker/replica.ex:76:29678        replica679680    when defining the variable "replica", you must also pattern match on "%Phoenix.Tracker.Replica{}"681682    type warning found at:683    │684 77 │     %Replica{replica | last_heartbeat_at: now_ms()}685    │     ~686    │687    └─ lib/phoenix/tracker/replica.ex:77:5: Phoenix.Tracker.Replica.touch_last_heartbeat/1688689    warning: a struct for Phoenix.Tracker.State is expected on struct update:690691        %Phoenix.Tracker.State{state | clouds: pruned_clouds, delta: new_delta}692693    but got type:694695        dynamic(%{696          ...,697          clouds: term(),698          delta: %{..., clouds: term(), mode: :delta, values: map()},699          values: term()700        })701702    where "state" was given the types:703704        # type: dynamic(%{..., values: term()})705        # from: lib/phoenix/tracker/state.ex:94:49706        :ets.lookup(state.values, {topic, pid, key})707708        # type: dynamic(%{..., clouds: term(), values: term()})709        # from: lib/phoenix/tracker/state.ex:95:21710        delete_tag(state.clouds, tag)711712        # type: dynamic(%{713          ...,714          clouds: term(),715          delta: %{..., clouds: term(), mode: :delta, values: map()},716          values: term()717        })718        # from: lib/phoenix/tracker/state.ex:96:17719        remove_delta_tag(state.delta, tag)720721    when defining the variable "state", you must also pattern match on "%Phoenix.Tracker.State{}"722723    type warning found at:724    │725 97 │     state = bump_clock(%State{state | clouds: pruned_clouds, delta: new_delta})726    │                        ~727    │728    └─ lib/phoenix/tracker/state.ex:97:24: Phoenix.Tracker.State.leave_join/5729730     warning: a struct for Phoenix.Tracker.State is expected on struct update:731732         %Phoenix.Tracker.State{delta | values: Map.put(delta.values, tag, {pid, topic, key, meta})}733734     but got type:735736         dynamic()737738     where "delta" was given the type:739740         # type: dynamic()741         # from: lib/phoenix/tracker/state.ex:506:36742         %Phoenix.Tracker.State{delta: delta} = state743744     when defining the variable "delta", you must also pattern match on "%Phoenix.Tracker.State{}"745746     type warning found at:747     │748 510 │     new_delta = %State{delta | values: Map.put(delta.values, tag, {pid, topic, key, meta})}749     │                 ~750     │751     └─ lib/phoenix/tracker/state.ex:510:17: Phoenix.Tracker.State.do_add/5752753     warning: a struct for Phoenix.Tracker.State is expected on struct update:754755         %Phoenix.Tracker.State{delta | clouds: put_tag(delta.clouds, {rep, new_clock})}756757     but got type:758759         dynamic()760761     where "delta" was given the type:762763         # type: dynamic()764         # from: lib/phoenix/tracker/state.ex:586:99765         %Phoenix.Tracker.State{mode: :normal, replica: rep, clouds: clouds, context: ctx, delta: delta} =766           state767768     when defining the variable "delta", you must also pattern match on "%Phoenix.Tracker.State{}"769770     type warning found at:771     │772 592 │            delta: %State{delta | clouds: put_tag(delta.clouds, {rep, new_clock})}}773     │                   ~774     │775     └─ lib/phoenix/tracker/state.ex:592:19: Phoenix.Tracker.State.bump_clock/1776777     warning: a struct for Phoenix.Tracker.State is expected on struct update:778779         %Phoenix.Tracker.State{delta | range: {start_clock, new_end}}780781     but got type:782783         dynamic(%{..., range: {term(), term()}})784785     where "delta" was given the type:786787         # type: dynamic(%{..., range: {term(), term()}})788         # from: lib/phoenix/tracker/state.ex:596:30789         {start_clock, end_clock} = delta.range790791     when defining the variable "delta", you must also pattern match on "%Phoenix.Tracker.State{}"792793     type warning found at:794     │795 600 │            delta: %State{delta | range: {start_clock, new_end}}}796     │                   ~797     │798     └─ lib/phoenix/tracker/state.ex:600:19: Phoenix.Tracker.State.put_context/2799800Generated phoenix_pubsub app801==> nerves_compatibility_test802===> Analyzing applications...803===> Compiling thoas804===> Analyzing applications...805===> Compiling rabbit_common806gen_server2.erl:334:10: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.807Compile directive 'nowarn_deprecated_catch' can be used to suppress808warnings in selected modules.809gen_server2.erl:342:10: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.810Compile directive 'nowarn_deprecated_catch' can be used to suppress811warnings in selected modules.812gen_server2.erl:353:5: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.813Compile directive 'nowarn_deprecated_catch' can be used to suppress814warnings in selected modules.815gen_server2.erl:356:5: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.816Compile directive 'nowarn_deprecated_catch' can be used to suppress817warnings in selected modules.818gen_server2.erl:359:5: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.819Compile directive 'nowarn_deprecated_catch' can be used to suppress820warnings in selected modules.821gen_server2.erl:366:5: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.822Compile directive 'nowarn_deprecated_catch' can be used to suppress823warnings in selected modules.824gen_server2.erl:378:5: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.825Compile directive 'nowarn_deprecated_catch' can be used to suppress826warnings in selected modules.827gen_server2.erl:439:13: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.828Compile directive 'nowarn_deprecated_catch' can be used to suppress829warnings in selected modules.830gen_server2.erl:448:5: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.831Compile directive 'nowarn_deprecated_catch' can be used to suppress832warnings in selected modules.833gen_server2.erl:452:5: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.834Compile directive 'nowarn_deprecated_catch' can be used to suppress835warnings in selected modules.836gen_server2.erl:489:10: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.837Compile directive 'nowarn_deprecated_catch' can be used to suppress838warnings in selected modules.839gen_server2.erl:565:10: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.840Compile directive 'nowarn_deprecated_catch' can be used to suppress841warnings in selected modules.842gen_server2.erl:622:10: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.843Compile directive 'nowarn_deprecated_catch' can be used to suppress844warnings in selected modules.845gen_server2.erl:729:18: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.846Compile directive 'nowarn_deprecated_catch' can be used to suppress847warnings in selected modules.848gen_server2.erl:744:18: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.849Compile directive 'nowarn_deprecated_catch' can be used to suppress850warnings in selected modules.851gen_server2.erl:811:17: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.852Compile directive 'nowarn_deprecated_catch' can be used to suppress853warnings in selected modules.854gen_server2.erl:872:5: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.855Compile directive 'nowarn_deprecated_catch' can be used to suppress856warnings in selected modules.857gen_server2.erl:932:10: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.858Compile directive 'nowarn_deprecated_catch' can be used to suppress859warnings in selected modules.860gen_server2.erl:985:18: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.861Compile directive 'nowarn_deprecated_catch' can be used to suppress862warnings in selected modules.863gen_server2.erl:1035:10: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.864Compile directive 'nowarn_deprecated_catch' can be used to suppress865warnings in selected modules.866gen_server2.erl:1048:18: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.867Compile directive 'nowarn_deprecated_catch' can be used to suppress868warnings in selected modules.869gen_server2.erl:1056:14: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.870Compile directive 'nowarn_deprecated_catch' can be used to suppress871warnings in selected modules.872gen_server2.erl:1112:10: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.873Compile directive 'nowarn_deprecated_catch' can be used to suppress874warnings in selected modules.875gen_server2.erl:1158:10: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.876Compile directive 'nowarn_deprecated_catch' can be used to suppress877warnings in selected modules.878gen_server2.erl:1249:10: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.879Compile directive 'nowarn_deprecated_catch' can be used to suppress880warnings in selected modules.881gen_server2.erl:1329:39: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.882Compile directive 'nowarn_deprecated_catch' can be used to suppress883warnings in selected modules.884gen_server2.erl:1339:39: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.885Compile directive 'nowarn_deprecated_catch' can be used to suppress886warnings in selected modules.887gen_server2.erl:1377:23: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.888Compile directive 'nowarn_deprecated_catch' can be used to suppress889warnings in selected modules.890891rabbit_registry.erl:49:10: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.892Compile directive 'nowarn_deprecated_catch' can be used to suppress893warnings in selected modules.894rabbit_registry.erl:167:10: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.895Compile directive 'nowarn_deprecated_catch' can be used to suppress896warnings in selected modules.897898rabbit_nodes_common.erl:57:8: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.899Compile directive 'nowarn_deprecated_catch' can be used to suppress900warnings in selected modules.901902rabbit_env.erl:1354:12: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.903Compile directive 'nowarn_deprecated_catch' can be used to suppress904warnings in selected modules.905rabbit_env.erl:1385:12: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.906Compile directive 'nowarn_deprecated_catch' can be used to suppress907warnings in selected modules.908rabbit_env.erl:1426:12: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.909Compile directive 'nowarn_deprecated_catch' can be used to suppress910warnings in selected modules.911912supervisor2.erl:441:10: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.913Compile directive 'nowarn_deprecated_catch' can be used to suppress914warnings in selected modules.915supervisor2.erl:1453:5: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.916Compile directive 'nowarn_deprecated_catch' can be used to suppress917warnings in selected modules.918919rabbit_misc.erl:1520:5: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.920Compile directive 'nowarn_deprecated_catch' can be used to suppress921warnings in selected modules.922923rabbit_net.erl:183:5: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.924Compile directive 'nowarn_deprecated_catch' can be used to suppress925warnings in selected modules.926927rabbit_routing_parser.erl:54:27: Warning: a pattern `P1=P2` where both sides are constructors928may yield an error in a future version of Erlang/OTP.929Note that a pattern such as `{a,B}={Y,Z} -> ...` can always be930written in a unified form `{a=Y,B=Z} -> ...`.931Compile directive 'nowarn_match_alias_pats' can be used to suppress932warnings in selected modules.933934===> Analyzing applications...935===> Compiling amqp_client936amqp_channel.erl:868:5: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.937Compile directive 'nowarn_deprecated_catch' can be used to suppress938warnings in selected modules.939amqp_channel.erl:876:5: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.940Compile directive 'nowarn_deprecated_catch' can be used to suppress941warnings in selected modules.942amqp_channel.erl:884:9: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.943Compile directive 'nowarn_deprecated_catch' can be used to suppress944warnings in selected modules.945946uri_parser.erl:51:19: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.947Compile directive 'nowarn_deprecated_catch' can be used to suppress948warnings in selected modules.949950amqp_network_connection.erl:49:5: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.951Compile directive 'nowarn_deprecated_catch' can be used to suppress952warnings in selected modules.953amqp_network_connection.erl:270:25: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.954Compile directive 'nowarn_deprecated_catch' can be used to suppress955warnings in selected modules.956957==> amqp958Compiling 16 files (.ex)959Generated amqp app960==> json_xema961Compiling 4 files (.ex)962Generated json_xema app963==> phoenix_view964Compiling 1 file (.ex)965     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 operator966     │967 655 │       <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix968     │                             ~969     │970     └─ lib/phoenix_view.ex:655:29: Phoenix.View.unsuffix/2971972Generated phoenix_view app973==> nerves_compatibility_test974===> Analyzing applications...975===> Compiling prometheus976==> prometheus_ex977Compiling 19 files (.ex)978    warning: unused require Prometheus.Metric979    │980  4 │   require Prometheus.Metric981    │   ~982    │983    └─ lib/prometheus/erlang.ex:4:3984985Generated prometheus_ex app986==> plug987Compiling 1 file (.erl)988warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"989  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2990  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1991  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5992  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2993  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4994  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2995996Compiling 40 files (.ex)997     warning: unused require Bitwise998     │999 105 │   require Bitwise1000     │   ~1001     │1002     └─ lib/plug/csrf_protection.ex:105:310031004    warning: unused require Logger1005    │1006 52 │   require Logger1007    │   ~1008    │1009    └─ lib/plug/request_id.ex:52:310101011     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 operator1012     │1013 160 │         <<prefix::binary-size(prefix_size), char, suffix::binary-size(suffix_size)>> = segment1014     │                               ~1015     │1016     └─ lib/plug/router/utils.ex:160:31: Plug.Router.Utils.build_path_clause/710171018     warning: the variable "suffix_size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator1019     │1020 160 │         <<prefix::binary-size(prefix_size), char, suffix::binary-size(suffix_size)>> = segment1021     │                                                                       ~1022     │1023     └─ lib/plug/router/utils.ex:160:71: Plug.Router.Utils.build_path_clause/710241025     warning: the following clause will never match:10261027         {:error, reason} ->10281029     because it attempts to match on the result of:10301031         IO.binwrite(device, contents)10321033     which has type:10341035         dynamic(not {:error, term()})10361037     type warning found at:1038     │1039 275 │       {:error, reason} ->1040     │       ~~~~~~~~~~~~~~~~~~~1041     │1042     └─ lib/plug/parsers/multipart.ex:275: Plug.Parsers.MULTIPART.binwrite!/210431044    warning: a struct for Plug.Conn is expected on struct update:10451046        %Plug.Conn{conn | method: method}10471048    but got type:10491050        dynamic()10511052    where "conn" was given the type:10531054        # type: dynamic()1055        # from: lib/plug/method_override.ex:60:241056        conn10571058    when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"10591060    type warning found at:1061    │1062 64 │       %Plug.Conn{conn | method: method}1063    │       ~1064    │1065    └─ lib/plug/method_override.ex:64:7: Plug.MethodOverride.override_method/210661067    warning: a struct for Plug.Conn is expected on struct update:10681069        %Plug.Conn{1070          conn1071          | adapter: {Plug.Adapters.Test.Conn, state},1072            host: uri.host || conn.host || "www.example.com",1073            method: method,1074            owner: owner,1075            path_info: split_path(uri.path),1076            port: uri.port || conn_port,1077            remote_ip: conn.remote_ip || {127, 0, 0, 1},1078            req_headers: req_headers,1079            request_path: uri.path,1080            query_string: query,1081            query_params: query_params || %Plug.Conn.Unfetched{aspect: :query_params},1082            body_params: body_params || %Plug.Conn.Unfetched{aspect: :body_params},1083            params: params || %Plug.Conn.Unfetched{aspect: :params},1084            scheme: String.to_atom(String.downcase(uri.scheme || "http"))1085        }10861087    but got type:10881089        dynamic(%{..., adapter: {atom(), term()}, port: term(), req_headers: term()})10901091    where "conn" was given the types:10921093        # type: dynamic(%{..., req_headers: term()})1094        # from: lib/plug/adapters/test/conn.ex:21:71095        body_or_params(body_or_params, query, conn.req_headers, method)10961097        # type: dynamic(%{..., adapter: {atom(), term()}, req_headers: term()})1098        # from: lib/plug/adapters/test/conn.ex:30:221099        get_from_adapter(conn, :get_http_protocol, :"HTTP/1.1")11001101        # type: dynamic(%{..., adapter: {atom(), term()}, port: term(), req_headers: term()})1102        # from: lib/plug/adapters/test/conn.ex:39:301103        conn.port != 011041105    when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"11061107    type warning found at:1108    │1109 41 │     %Plug.Conn{1110    │     ~1111    │1112    └─ lib/plug/adapters/test/conn.ex:41:5: Plug.Adapters.Test.Conn.conn/411131114Generated plug app1115==> open_api_spex1116Compiling 80 files (.ex)1117    warning: unused require Mix.Generator1118    │1119 26 │   require Mix.Generator1120    │   ~1121    │1122    └─ lib/mix/tasks/openapi.spec.yaml.ex:26:311231124    warning: unused require Mix.Generator1125    │1126 29 │   require Mix.Generator1127    │   ~1128    │1129    └─ lib/mix/tasks/openapi.spec.json.ex:29:311301131    warning: unused require Mix.Generator1132    │1133  5 │   require Mix.Generator1134    │   ~1135    │1136    └─ lib/open_api_spex/export_spec.ex:5:311371138     warning: the following clause is redundant:11391140         defp resolve_schema_modules_from_media_type(media = %OpenApiSpex.MediaType{}, schemas)11411142     it has type:11431144         dynamic(%OpenApiSpex.MediaType{}), dynamic()11451146     previous clauses have already matched on the following types:11471148         %OpenApiSpex.MediaType{}, term()11491150     │1151 141 │   defp resolve_schema_modules_from_media_type(media = %MediaType{}, schemas) do1152     │        ~1153     │1154     └─ lib/open_api_spex/schema_resolver.ex:141:8: OpenApiSpex.SchemaResolver.resolve_schema_modules_from_media_type/211551156    warning: a struct for OpenApiSpex.Cast is expected on struct update:11571158        %OpenApiSpex.Cast{ctx | errors: ctx.errors ++ errors}11591160    but got type:11611162        dynamic(1163          %OpenApiSpex.Cast{1164            schema: %{..., allOf: non_empty_list(term(), term()), "x-validate": atom() and not nil}1165          } or1166            (%OpenApiSpex.Cast{1167               schema:1168                 %{1169                   ...,1170                   allOf: non_empty_list(term(), term()),1171                   anyOf: empty_list() or non_empty_list(term(), term()),1172                   type: term()1173                 } and1174                   not (%{..., "x-validate": not nil} or %{..., discriminator: map(), type: :object} or1175                          %{..., enum: empty_list() or non_empty_list(term(), term())})1176             } and1177               not (%OpenApiSpex.Cast{value: nil, schema: %{..., nullable: false}} or1178                      %OpenApiSpex.Cast{1179                        value: nil,1180                        schema: %{..., oneOf: empty_list() or non_empty_list(term(), term())}1181                      } or1182                      %OpenApiSpex.Cast{1183                        value: nil,1184                        schema: %{..., allOf: empty_list() or non_empty_list(term(), term())}1185                      } or %OpenApiSpex.Cast{value: nil, schema: %{..., nullable: true}} or1186                      %OpenApiSpex.Cast{1187                        value: nil,1188                        schema: %{..., anyOf: empty_list() or non_empty_list(term(), term())}1189                      } or %OpenApiSpex.Cast{value: nil})) or1190            (%OpenApiSpex.Cast{1191               schema:1192                 %{..., allOf: non_empty_list(term(), term()), discriminator: map(), type: :object} and1193                   not (%{..., "x-validate": not nil} or1194                          %{..., enum: empty_list() or non_empty_list(term(), term())})1195             } and1196               not (%OpenApiSpex.Cast{value: nil, schema: %{..., nullable: false}} or1197                      %OpenApiSpex.Cast{1198                        value: nil,1199                        schema: %{..., oneOf: empty_list() or non_empty_list(term(), term())}1200                      } or1201                      %OpenApiSpex.Cast{1202                        value: nil,1203                        schema: %{..., allOf: empty_list() or non_empty_list(term(), term())}1204                      } or %OpenApiSpex.Cast{value: nil, schema: %{..., nullable: true}} or1205                      %OpenApiSpex.Cast{1206                        value: nil,1207                        schema: %{..., anyOf: empty_list() or non_empty_list(term(), term())}1208                      } or %OpenApiSpex.Cast{value: nil})) or1209            (%OpenApiSpex.Cast{1210               schema:1211                 %{..., allOf: non_empty_list(term(), term()), enum: empty_list()} and1212                   not %{..., "x-validate": not nil}1213             } and1214               not (%OpenApiSpex.Cast{value: nil, schema: %{..., nullable: false}} or1215                      %OpenApiSpex.Cast{1216                        value: nil,1217                        schema: %{..., oneOf: empty_list() or non_empty_list(term(), term())}1218                      } or1219                      %OpenApiSpex.Cast{1220                        value: nil,1221                        schema: %{..., allOf: empty_list() or non_empty_list(term(), term())}1222                      } or %OpenApiSpex.Cast{value: nil, schema: %{..., nullable: true}} or1223                      %OpenApiSpex.Cast{1224                        value: nil,1225                        schema: %{..., anyOf: empty_list() or non_empty_list(term(), term())}1226                      } or %OpenApiSpex.Cast{value: nil})) or1227            (%OpenApiSpex.Cast{1228               schema:1229                 %{..., allOf: non_empty_list(term(), term()), enum: non_empty_list(term(), term())} and1230                   not %{..., "x-validate": not nil}1231             } and1232               not (%OpenApiSpex.Cast{value: nil, schema: %{..., nullable: false}} or1233                      %OpenApiSpex.Cast{1234                        value: nil,1235                        schema: %{..., oneOf: empty_list() or non_empty_list(term(), term())}1236                      } or1237                      %OpenApiSpex.Cast{1238                        value: nil,1239                        schema: %{..., allOf: empty_list() or non_empty_list(term(), term())}1240                      } or %OpenApiSpex.Cast{value: nil, schema: %{..., nullable: true}} or1241                      %OpenApiSpex.Cast{1242                        value: nil,1243                        schema: %{..., anyOf: empty_list() or non_empty_list(term(), term())}1244                      } or %OpenApiSpex.Cast{value: nil})) or1245            (%OpenApiSpex.Cast{1246               schema:1247                 %{..., allOf: non_empty_list(term(), term()), type: term()} and1248                   not (%{..., "x-validate": not nil} or %{..., discriminator: map(), type: :object} or1249                          %{..., anyOf: empty_list() or non_empty_list(term(), term()), type: term()} or1250                          %{..., enum: empty_list() or non_empty_list(term(), term())})1251             } and1252               not (%OpenApiSpex.Cast{value: nil} or1253                      %OpenApiSpex.Cast{value: nil, schema: %{..., nullable: true}} or1254                      %OpenApiSpex.Cast{1255                        value: nil,1256                        schema: %{..., allOf: empty_list() or non_empty_list(term(), term())}1257                      } or1258                      %OpenApiSpex.Cast{1259                        value: nil,1260                        schema: %{..., oneOf: empty_list() or non_empty_list(term(), term())}1261                      } or %OpenApiSpex.Cast{value: nil, schema: %{..., nullable: false}})) or1262            (%OpenApiSpex.Cast{1263               value: nil,1264               schema: %{..., allOf: non_empty_list(term(), term()), nullable: false}1265             } and1266               not %OpenApiSpex.Cast{1267                 schema: %OpenApiSpex.Reference{} or %{..., "x-validate": not nil} or nil1268               }) or1269            (%OpenApiSpex.Cast{1270               value: nil,1271               schema:1272                 %{..., allOf: non_empty_list(term(), term())} and1273                   not (%{..., oneOf: empty_list() or non_empty_list(term(), term())} or1274                          %{..., nullable: true} or1275                          %{..., anyOf: empty_list() or non_empty_list(term(), term())} or1276                          %{..., nullable: false})1277             } and1278               not %OpenApiSpex.Cast{1279                 schema: %OpenApiSpex.Reference{} or %{..., "x-validate": not nil} or nil1280               }) or1281            (%OpenApiSpex.Cast{1282               value: nil,1283               schema:1284                 %{1285                   ...,1286                   allOf: non_empty_list(term(), term()),1287                   anyOf: empty_list() or non_empty_list(term(), term())1288                 } and1289                   not (%{..., oneOf: empty_list() or non_empty_list(term(), term())} or1290                          %{..., nullable: true} or %{..., nullable: false})1291             } and1292               not %OpenApiSpex.Cast{1293                 schema: %OpenApiSpex.Reference{} or %{..., "x-validate": not nil} or nil1294               }) or1295            (%OpenApiSpex.Cast{1296               value: nil,1297               schema:1298                 %{1299                   ...,1300                   allOf: non_empty_list(term(), term()),1301                   oneOf: empty_list() or non_empty_list(term(), term())1302                 } and not (%{..., nullable: true} or %{..., nullable: false})1303             } and1304               not %OpenApiSpex.Cast{1305                 schema: %OpenApiSpex.Reference{} or %{..., "x-validate": not nil} or nil1306               }) or1307            (%{..., errors: term(), schema: %{..., allOf: non_empty_list(term(), term())}} and1308               not (%OpenApiSpex.Cast{value: nil} or %OpenApiSpex.Cast{schema: %{..., type: :integer}} or1309                      %OpenApiSpex.Cast{1310                        schema: %{1311                          ...,1312                          anyOf: empty_list() or non_empty_list(term(), term()),1313                          type: term()1314                        }1315                      } or %OpenApiSpex.Cast{schema: %{..., enum: empty_list()}} or1316                      %OpenApiSpex.Cast{schema: %{..., type: :array}} or1317                      %OpenApiSpex.Cast{1318                        value: nil,1319                        schema: %{..., anyOf: empty_list() or non_empty_list(term(), term())}1320                      } or %OpenApiSpex.Cast{schema: %{..., type: :boolean}} or1321                      %OpenApiSpex.Cast{schema: %{..., type: :string}} or1322                      %OpenApiSpex.Cast{schema: %{..., type: term()}} or1323                      %OpenApiSpex.Cast{1324                        schema: %OpenApiSpex.Reference{} or %{..., "x-validate": not nil} or nil1325                      } or %OpenApiSpex.Cast{value: nil, schema: %{..., nullable: true}} or1326                      %OpenApiSpex.Cast{1327                        value: nil,1328                        schema: %{..., allOf: empty_list() or non_empty_list(term(), term())}1329                      } or %OpenApiSpex.Cast{schema: %{..., type: :object}} or1330                      %OpenApiSpex.Cast{schema: %{..., discriminator: map(), type: :object}} or1331                      %OpenApiSpex.Cast{1332                        schema: %{..., enum: empty_list() or non_empty_list(term(), term())}1333                      } or1334                      %OpenApiSpex.Cast{1335                        schema: %{1336                          ...,1337                          allOf: empty_list() or non_empty_list(term(), term()),1338                          type: term()1339                        }1340                      } or %OpenApiSpex.Cast{schema: %{..., type: nil}} or1341                      %OpenApiSpex.Cast{1342                        value: nil,1343                        schema: %{..., oneOf: empty_list() or non_empty_list(term(), term())}1344                      } or %OpenApiSpex.Cast{value: nil, schema: %{..., nullable: false}} or1345                      %OpenApiSpex.Cast{1346                        schema: %{1347                          ...,1348                          oneOf: empty_list() or non_empty_list(term(), term()),1349                          type: term()1350                        }1351                      } or %OpenApiSpex.Cast{schema: %{..., type: :number}}))1352        )13531354    where "ctx" was given the types:13551356        # type: dynamic(%{..., schema: %{..., allOf: non_empty_list(term(), term())}})1357        # from: lib/open_api_spex/cast/all_of.ex:9:741358        %{schema: %{allOf: [%OpenApiSpex.Schema{} = schema | remaining]}} = ctx13591360        # type: dynamic(%{..., errors: term(), schema: %{..., allOf: non_empty_list(term(), term())}})1361        # from: lib/open_api_spex/cast/all_of.ex:13:151362        OpenApiSpex.Cast.cast(%{ctx | errors: [], schema: relaxed_schema})13631364        # type: dynamic(1365          %OpenApiSpex.Cast{1366            schema: %{..., allOf: non_empty_list(term(), term()), "x-validate": atom() and not nil}1367          } or1368            (%OpenApiSpex.Cast{1369               schema:1370                 %{1371                   ...,1372                   allOf: non_empty_list(term(), term()),1373                   anyOf: empty_list() or non_empty_list(term(), term()),1374                   type: term()1375                 } and1376                   not (%{..., "x-validate": not nil} or %{..., discriminator: map(), type: :object} or1377                          %{..., enum: empty_list() or non_empty_list(term(), term())})1378             } and1379               not (%OpenApiSpex.Cast{value: nil, schema: %{..., nullable: false}} or1380                      %OpenApiSpex.Cast{1381                        value: nil,1382                        schema: %{..., oneOf: empty_list() or non_empty_list(term(), term())}1383                      } or1384                      %OpenApiSpex.Cast{1385                        value: nil,1386                        schema: %{..., allOf: empty_list() or non_empty_list(term(), term())}1387                      } or %OpenApiSpex.Cast{value: nil, schema: %{..., nullable: true}} or1388                      %OpenApiSpex.Cast{1389                        value: nil,1390                        schema: %{..., anyOf: empty_list() or non_empty_list(term(), term())}1391                      } or %OpenApiSpex.Cast{value: nil})) or1392            (%OpenApiSpex.Cast{1393               schema:1394                 %{..., allOf: non_empty_list(term(), term()), discriminator: map(), type: :object} and1395                   not (%{..., "x-validate": not nil} or1396                          %{..., enum: empty_list() or non_empty_list(term(), term())})1397             } and1398               not (%OpenApiSpex.Cast{value: nil, schema: %{..., nullable: false}} or1399                      %OpenApiSpex.Cast{1400                        value: nil,1401                        schema: %{..., oneOf: empty_list() or non_empty_list(term(), term())}1402                      } or1403                      %OpenApiSpex.Cast{1404                        value: nil,1405                        schema: %{..., allOf: empty_list() or non_empty_list(term(), term())}1406                      } or %OpenApiSpex.Cast{value: nil, schema: %{..., nullable: true}} or1407                      %OpenApiSpex.Cast{1408                        value: nil,1409                        schema: %{..., anyOf: empty_list() or non_empty_list(term(), term())}1410                      } or %OpenApiSpex.Cast{value: nil})) or1411            (%OpenApiSpex.Cast{1412               schema:1413                 %{..., allOf: non_empty_list(term(), term()), enum: empty_list()} and1414                   not %{..., "x-validate": not nil}1415             } and1416               not (%OpenApiSpex.Cast{value: nil, schema: %{..., nullable: false}} or1417                      %OpenApiSpex.Cast{1418                        value: nil,1419                        schema: %{..., oneOf: empty_list() or non_empty_list(term(), term())}1420                      } or1421                      %OpenApiSpex.Cast{1422                        value: nil,1423                        schema: %{..., allOf: empty_list() or non_empty_list(term(), term())}1424                      } or %OpenApiSpex.Cast{value: nil, schema: %{..., nullable: true}} or1425                      %OpenApiSpex.Cast{1426                        value: nil,1427                        schema: %{..., anyOf: empty_list() or non_empty_list(term(), term())}1428                      } or %OpenApiSpex.Cast{value: nil})) or1429            (%OpenApiSpex.Cast{1430               schema:1431                 %{..., allOf: non_empty_list(term(), term()), enum: non_empty_list(term(), term())} and1432                   not %{..., "x-validate": not nil}1433             } and1434               not (%OpenApiSpex.Cast{value: nil, schema: %{..., nullable: false}} or1435                      %OpenApiSpex.Cast{1436                        value: nil,1437                        schema: %{..., oneOf: empty_list() or non_empty_list(term(), term())}1438                      } or1439                      %OpenApiSpex.Cast{1440                        value: nil,1441                        schema: %{..., allOf: empty_list() or non_empty_list(term(), term())}1442                      } or %OpenApiSpex.Cast{value: nil, schema: %{..., nullable: true}} or1443                      %OpenApiSpex.Cast{1444                        value: nil,1445                        schema: %{..., anyOf: empty_list() or non_empty_list(term(), term())}1446                      } or %OpenApiSpex.Cast{value: nil})) or1447            (%OpenApiSpex.Cast{1448               schema:1449                 %{..., allOf: non_empty_list(term(), term()), type: term()} and1450                   not (%{..., "x-validate": not nil} or %{..., discriminator: map(), type: :object} or1451                          %{..., anyOf: empty_list() or non_empty_list(term(), term()), type: term()} or1452                          %{..., enum: empty_list() or non_empty_list(term(), term())})1453             } and1454               not (%OpenApiSpex.Cast{value: nil} or1455                      %OpenApiSpex.Cast{value: nil, schema: %{..., nullable: true}} or1456                      %OpenApiSpex.Cast{1457                        value: nil,1458                        schema: %{..., allOf: empty_list() or non_empty_list(term(), term())}1459                      } or1460                      %OpenApiSpex.Cast{1461                        value: nil,1462                        schema: %{..., oneOf: empty_list() or non_empty_list(term(), term())}1463                      } or %OpenApiSpex.Cast{value: nil, schema: %{..., nullable: false}})) or1464            (%OpenApiSpex.Cast{1465               value: nil,1466               schema: %{..., allOf: non_empty_list(term(), term()), nullable: false}1467             } and1468               not %OpenApiSpex.Cast{1469                 schema: %OpenApiSpex.Reference{} or %{..., "x-validate": not nil} or nil1470               }) or1471            (%OpenApiSpex.Cast{1472               value: nil,1473               schema:1474                 %{..., allOf: non_empty_list(term(), term())} and1475                   not (%{..., oneOf: empty_list() or non_empty_list(term(), term())} or1476                          %{..., nullable: true} or1477                          %{..., anyOf: empty_list() or non_empty_list(term(), term())} or1478                          %{..., nullable: false})1479             } and1480               not %OpenApiSpex.Cast{1481                 schema: %OpenApiSpex.Reference{} or %{..., "x-validate": not nil} or nil1482               }) or1483            (%OpenApiSpex.Cast{1484               value: nil,1485               schema:1486                 %{1487                   ...,1488                   allOf: non_empty_list(term(), term()),1489                   anyOf: empty_list() or non_empty_list(term(), term())1490                 } and1491                   not (%{..., oneOf: empty_list() or non_empty_list(term(), term())} or1492                          %{..., nullable: true} or %{..., nullable: false})1493             } and1494               not %OpenApiSpex.Cast{1495                 schema: %OpenApiSpex.Reference{} or %{..., "x-validate": not nil} or nil1496               }) or1497            (%OpenApiSpex.Cast{1498               value: nil,1499               schema:1500                 %{1501                   ...,1502                   allOf: non_empty_list(term(), term()),1503                   oneOf: empty_list() or non_empty_list(term(), term())1504                 } and not (%{..., nullable: true} or %{..., nullable: false})1505             } and1506               not %OpenApiSpex.Cast{1507                 schema: %OpenApiSpex.Reference{} or %{..., "x-validate": not nil} or nil1508               }) or1509            (%{..., errors: term(), schema: %{..., allOf: non_empty_list(term(), term())}} and1510               not (%OpenApiSpex.Cast{value: nil} or %OpenApiSpex.Cast{schema: %{..., type: :integer}} or1511                      %OpenApiSpex.Cast{1512                        schema: %{1513                          ...,1514                          anyOf: empty_list() or non_empty_list(term(), term()),1515                          type: term()1516                        }1517                      } or %OpenApiSpex.Cast{schema: %{..., enum: empty_list()}} or1518                      %OpenApiSpex.Cast{schema: %{..., type: :array}} or1519                      %OpenApiSpex.Cast{1520                        value: nil,1521                        schema: %{..., anyOf: empty_list() or non_empty_list(term(), term())}1522                      } or %OpenApiSpex.Cast{schema: %{..., type: :boolean}} or1523                      %OpenApiSpex.Cast{schema: %{..., type: :string}} or1524                      %OpenApiSpex.Cast{schema: %{..., type: term()}} or1525                      %OpenApiSpex.Cast{1526                        schema: %OpenApiSpex.Reference{} or %{..., "x-validate": not nil} or nil1527                      } or %OpenApiSpex.Cast{value: nil, schema: %{..., nullable: true}} or1528                      %OpenApiSpex.Cast{1529                        value: nil,1530                        schema: %{..., allOf: empty_list() or non_empty_list(term(), term())}1531                      } or %OpenApiSpex.Cast{schema: %{..., type: :object}} or1532                      %OpenApiSpex.Cast{schema: %{..., discriminator: map(), type: :object}} or1533                      %OpenApiSpex.Cast{1534                        schema: %{..., enum: empty_list() or non_empty_list(term(), term())}1535                      } or1536                      %OpenApiSpex.Cast{1537                        schema: %{1538                          ...,1539                          allOf: empty_list() or non_empty_list(term(), term()),1540                          type: term()1541                        }1542                      } or %OpenApiSpex.Cast{schema: %{..., type: nil}} or1543                      %OpenApiSpex.Cast{1544                        value: nil,1545                        schema: %{..., oneOf: empty_list() or non_empty_list(term(), term())}1546                      } or %OpenApiSpex.Cast{value: nil, schema: %{..., nullable: false}} or1547                      %OpenApiSpex.Cast{1548                        schema: %{1549                          ...,1550                          oneOf: empty_list() or non_empty_list(term(), term()),1551                          type: term()1552                        }1553                      } or %OpenApiSpex.Cast{schema: %{..., type: :number}}))1554        )1555        # from: lib/open_api_spex/cast/all_of.ex:13:151556        OpenApiSpex.Cast.cast(%{ctx | errors: [], schema: relaxed_schema})15571558    when defining the variable "ctx", you must also pattern match on "%OpenApiSpex.Cast{}"15591560    type warning found at:1561    │1562 26 │           %Cast{ctx | errors: ctx.errors ++ errors},1563    │           ~1564    │1565    └─ lib/open_api_spex/cast/all_of.ex:26:11: OpenApiSpex.Cast.AllOf.cast_all_of/215661567     warning: the following clause is redundant:15681569         def cast(schema = %OpenApiSpex.Schema{type: :object, allOf: []}, value = %{}, schemas)15701571     it has type:15721573         dynamic(%OpenApiSpex.Schema{type: :object, allOf: empty_list()}), dynamic(map()), dynamic()15741575     previous clauses have already matched on the following types:15761577         %OpenApiSpex.Schema{type: :boolean}, boolean(), term()1578         %OpenApiSpex.Schema{type: :boolean}, binary(), term()1579         %OpenApiSpex.Schema{type: :integer}, integer(), term()1580         %OpenApiSpex.Schema{type: :integer}, binary(), term()1581         %OpenApiSpex.Schema{type: :number}, float(), term()1582         %OpenApiSpex.Schema{type: :number}, integer(), term()1583         %OpenApiSpex.Schema{type: :number}, binary(), term()1584         %OpenApiSpex.Schema{type: :string, format: :"date-time"}, binary(), term()1585         %OpenApiSpex.Schema{type: :string, format: :date}, binary(), term()1586         %OpenApiSpex.Schema{type: :string, format: :binary}, %Plug.Upload{}, term()1587         %OpenApiSpex.Schema{type: :string}, binary(), term()1588         %OpenApiSpex.Schema{type: :array, items: nil}, empty_list() or non_empty_list(term(), term()), term()1589         %OpenApiSpex.Schema{type: :array}, empty_list(), term()1590         %OpenApiSpex.Schema{type: :array}, non_empty_list(term(), term()), term()1591         %OpenApiSpex.Schema{type: :array}, not empty_list() and not non_empty_list(term(), term()), term()1592         %OpenApiSpex.Schema{type: :object, discriminator: map()}, map(), term()1593         %OpenApiSpex.Schema{type: :object, allOf: empty_list() or non_empty_list(term(), term())}, map(), term()15941595     │1596 107 │   def cast(schema = %Schema{type: :object, allOf: []}, value = %{}, schemas) do1597     │       ~1598     │1599     └─ lib/open_api_spex/deprecated_cast.ex:107:7: OpenApiSpex.DeprecatedCast.cast/316001601     warning: the following clause is redundant:16021603         def cast(%OpenApiSpex.Schema{oneOf: []}, _value, _schemas)16041605     it has type:16061607         %OpenApiSpex.Schema{oneOf: empty_list()}, dynamic(), dynamic()16081609     previous clauses have already matched on the following types:16101611         %OpenApiSpex.Schema{type: :boolean}, boolean(), term()1612         %OpenApiSpex.Schema{type: :boolean}, binary(), term()1613         %OpenApiSpex.Schema{type: :integer}, integer(), term()1614         %OpenApiSpex.Schema{type: :integer}, binary(), term()1615         %OpenApiSpex.Schema{type: :number}, float(), term()1616         %OpenApiSpex.Schema{type: :number}, integer(), term()1617         %OpenApiSpex.Schema{type: :number}, binary(), term()1618         %OpenApiSpex.Schema{type: :string, format: :"date-time"}, binary(), term()1619         %OpenApiSpex.Schema{type: :string, format: :date}, binary(), term()1620         %OpenApiSpex.Schema{type: :string, format: :binary}, %Plug.Upload{}, term()1621         %OpenApiSpex.Schema{type: :string}, binary(), term()1622         %OpenApiSpex.Schema{type: :array, items: nil}, empty_list() or non_empty_list(term(), term()), term()1623         %OpenApiSpex.Schema{type: :array}, empty_list(), term()1624         %OpenApiSpex.Schema{type: :array}, non_empty_list(term(), term()), term()1625         %OpenApiSpex.Schema{type: :array}, not empty_list() and not non_empty_list(term(), term()), term()1626         %OpenApiSpex.Schema{type: :object, discriminator: map()}, map(), term()1627         %OpenApiSpex.Schema{type: :object, allOf: empty_list() or non_empty_list(term(), term())}, map(), term()1628         %OpenApiSpex.Schema{oneOf: empty_list() or non_empty_list(term(), term())}, term(), term()16291630     │1631 115 │   def cast(%Schema{oneOf: []}, _value, _schemas) do1632     │       ~1633     │1634     └─ lib/open_api_spex/deprecated_cast.ex:115:7: OpenApiSpex.DeprecatedCast.cast/316351636     warning: this clause of defp term_type/1 is never used (or it will always fail/warn when invoked)1637     │1638 325 │   defp term_type(v) when is_nil(v), do: nil1639     │        ~1640     │1641     └─ lib/open_api_spex/deprecated_cast.ex:325:8: OpenApiSpex.DeprecatedCast.term_type/116421643     warning: this clause of defp validate_required_properties/3 is never used (or it will always fail/warn when invoked)1644     │1645 466 │   defp validate_required_properties(%Schema{type: :object, required: nil}, _val, _path), do: :ok1646     │        ~1647     │1648     └─ lib/open_api_spex/deprecated_cast.ex:466:8: OpenApiSpex.DeprecatedCast.validate_required_properties/316491650    warning: a struct for OpenApiSpex.Cast is expected on struct update:16511652        %OpenApiSpex.Cast{ctx | errors: ctx.errors ++ errors}16531654    but got type:16551656        dynamic(%{..., schemas: term()})16571658    where "ctx" was given the type:16591660        # type: dynamic(%{..., schemas: term()})1661        # from: lib/open_api_spex/cast/one_of.ex:14:301662        OpenApiSpex.resolve_schema(schema, ctx.schemas)16631664    when defining the variable "ctx", you must also pattern match on "%OpenApiSpex.Cast{}"16651666    type warning found at:1667    │1668 22 │             {%Cast{ctx | errors: ctx.errors ++ errors}, results, [schema | error_schemas]}1669    │              ~1670    │1671    └─ lib/open_api_spex/cast/one_of.ex:22:14: OpenApiSpex.Cast.OneOf.cast/116721673    warning: a struct for OpenApiSpex.Cast is expected on struct update:16741675        %OpenApiSpex.Cast{new_ctx | errors: new_ctx.errors ++ errors}16761677    but got type:16781679        dynamic(%{..., schema: %{..., anyOf: term()}})16801681    where "new_ctx" was given the type:16821683        # type: dynamic(%{..., schema: %{..., anyOf: term()}})1684        # from: lib/open_api_spex/cast/any_of.ex:20:131685        new_ctx = Map.update!(ctx, :schema, fn x -> Map.update!(x, :anyOf, fn _ -> remaining end) end)16861687    when defining the variable "new_ctx", you must also pattern match on "%OpenApiSpex.Cast{}"16881689    type warning found at:1690    │1691 35 │           %Cast{new_ctx | errors: new_ctx.errors ++ errors},1692    │           ~1693    │1694    └─ lib/open_api_spex/cast/any_of.ex:35:11: OpenApiSpex.Cast.AnyOf.cast_any_of/316951696     warning: the right-hand side of || will never be executed:16971698         description || ...16991700     because the left-hand side always evaluates to:17011702         dynamic(not false and not nil)17031704     where "description" was given the type:17051706         # type: dynamic(not false and not nil)1707         # from: lib/open_api_spex/controller.ex1708         {:ok, {mod_meta, summary, description, meta}}17091710     type warning found at:1711     │1712 184 │           description: description || "",1713     │           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1714     │1715     └─ lib/open_api_spex/controller.ex:184: OpenApiSpex.Controller.__api_operation__/217161717    warning: the right-hand side of || will always execute:17181719        OpenApiSpex.OpenApi.yaml_encoder()17201721    because the left-hand side always evaluates to:17221723        dynamic(nil)17241725    where "x" (context Kernel) was given the type:17261727        # type: dynamic(nil)1728        # from: lib/mix/tasks/openapi.spec.yaml.ex:541729        x17301731    type warning found at:1732    │1733 54 │     OpenApiSpex.OpenApi.yaml_encoder() ||1734    │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1735    │1736    └─ lib/mix/tasks/openapi.spec.yaml.ex:54: Mix.Tasks.Openapi.Spec.Yaml.encoder/017371738Generated open_api_spex app1739==> phoenix_html_helpers1740Compiling 6 files (.ex)1741    warning: comparison between distinct types found:17421743        id == nil17441745    given types:17461747        dynamic(not false and not nil and not binary()) == nil17481749    where "id" was given the types:17501751        # type: dynamic(not false and not nil)1752        # from: lib/phoenix_html_helpers/form_data.ex:5:81753        id = Keyword.get(opts, :id) || name17541755        # type: dynamic(not false and not nil and not binary())1756        # from: lib/phoenix_html_helpers/form_data.ex:7:121757        is_binary(id)17581759    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 false17601761    type warning found at:1762    │1763  7 │     unless is_binary(id) or is_nil(id) do1764    │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1765    │1766    └─ lib/phoenix_html_helpers/form_data.ex:7: Phoenix.HTML.FormData.Atom.to_form/217671768    warning: incompatible types given to form_for/3:17691770        form_for(form_data, action, [])17711772    given types:17731774        dynamic(), dynamic(), -empty_list()-17751776    but expected one of:17771778        term(), term(), (none() -> term())17791780    where "action" was given the type:17811782        # type: dynamic()1783        # from: lib/phoenix_html_helpers/form.ex:36:271784        action17851786    where "form_data" was given the type:17871788        # type: dynamic()1789        # from: lib/phoenix_html_helpers/form.ex:36:161790        form_data17911792    type warning found at:1793    │1794 37 │     form_for(form_data, action, [])1795    │     ~1796    │1797    └─ lib/phoenix_html_helpers/form.ex:37:5: PhoenixHTMLHelpers.Form.form_for/217981799Generated phoenix_html_helpers app1800==> prometheus_plugs1801Compiling 3 files (.ex)1802    warning: unused require Logger1803    │1804 53 │   require Logger1805    │   ~1806    │1807    └─ lib/prometheus/plug_exporter.ex:53:318081809    warning: unused require Logger1810    │1811 91 │   require Logger1812    │   ~1813    │1814    └─ lib/prometheus/plug_instrumenter.ex:91:318151816    warning: unused require Logger1817    │1818 91 │   require Logger1819    │   ~1820    │1821    └─ lib/prometheus/plug_pipeline_instrumenter.ex:91:318221823    warning: Plug.Router.Utils.split/1 is undefined (module Plug.Router.Utils is not available or is yet to be defined)1824    │1825 73 │     path = Plug.Router.Utils.split(Config.path(module_name))1826    │                              ~1827    │1828    └─ lib/prometheus/plug_exporter.ex:73:30: Prometheus.PlugExporter.__using__/118291830     warning: Plug.Builder.compile/3 is undefined (module Plug.Builder is not available or is yet to be defined)1831     │1832 227 │     {conn, body} = Plug.Builder.compile(env, plugs, [])1833     │                                 ~1834     │1835     └─ lib/prometheus/plug_instrumenter.ex:227:33: Prometheus.PlugInstrumenter.__before_compile__/118361837Generated prometheus_plugs app1838==> ecto_enum1839Compiling 5 files (.ex)1840Generated ecto_enum app1841==> websock_adapter1842Compiling 4 files (.ex)1843Generated websock_adapter app1844warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1845  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21846  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11847  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51848  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21849  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41850  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/218511852==> phoenix1853Compiling 71 files (.ex)1854    warning: unused require Logger1855    │1856  9 │   require Logger1857    │   ~1858    │1859    └─ lib/phoenix/config.ex:9:318601861     warning: unused require Logger1862     │1863 281 │   require Logger1864     │   ~1865     │1866     └─ lib/phoenix/endpoint.ex:281:318671868    warning: unused require Phoenix.Endpoint1869    │1870  6 │   require Phoenix.Endpoint1871    │   ~1872    │1873    └─ lib/phoenix/controller.ex:6:318741875    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 operator1876    │1877 46 │       <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix1878    │                             ~1879    │1880    └─ lib/phoenix/naming.ex:46:29: Phoenix.Naming.unsuffix/218811882    warning: unused require Phoenix.Endpoint1883    │1884 17 │   require Phoenix.Endpoint1885    │   ~1886    │1887    └─ lib/phoenix/endpoint/render_errors.ex:17:318881889    warning: unused require Phoenix.Endpoint1890    │1891  6 │   require Phoenix.Endpoint1892    │   ~1893    │1894    └─ lib/phoenix/channel/server.ex:6:318951896     warning: unused require Phoenix.Endpoint1897     │1898 202 │   require Phoenix.Endpoint1899     │   ~1900     │1901     └─ lib/phoenix/socket.ex:202:319021903    warning: unused require Logger1904    │1905 70 │   require Logger1906    │   ~1907    │1908    └─ lib/phoenix/socket/pool_supervisor.ex:70:319091910     warning: unused require Logger1911     │1912 100 │   require Logger1913     │   ~1914     │1915     └─ lib/phoenix/token.ex:100:319161917     warning: comparison between distinct types found:19181919         merge_all != []19201921     given types:19221923         dynamic(non_empty_list({atom(), term()})) != empty_list()19241925     where "merge_all" was given the type:19261927         # type: dynamic(non_empty_list({atom(), term()}))1928         # from: lib/phoenix/router/route.ex:121:151929         merge_all = merge_params ++ merge_private ++ merge_assigns19301931     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 false19321933     type warning found at:1934     │1935 123 │     if merge_all != [] do1936     │                  ~1937     │1938     └─ lib/phoenix/router/route.ex:123:18: Phoenix.Router.Route.build_prepare/119391940    warning: a struct for Plug.Conn is expected on struct update:19411942        %Plug.Conn{conn | state: :sent}19431944    but got type:19451946        dynamic()19471948    where "conn" was given the type:19491950        # type: dynamic()1951        # from: lib/phoenix/endpoint/render_errors.ex:55:171952        conn19531954    when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"19551956    type warning found at:1957    │1958 60 │           %Plug.Conn{conn | state: :sent}1959    │           ~1960    │1961    └─ lib/phoenix/endpoint/render_errors.ex:60:11: Phoenix.Endpoint.RenderErrors.__catch__/519621963     warning: a struct for Plug.Conn is expected on struct update:19641965         %Plug.Conn{conn | query_params: %{}, params: %{}}19661967     but got type:19681969         dynamic(%{..., params: %Plug.Conn.Unfetched{}})19701971     where "conn" was given the types:19721973         # type: dynamic(%{..., params: term()})1974         # from: lib/phoenix/endpoint/render_errors.ex:133:171975         conn.params19761977         # type: dynamic(%{..., params: %Plug.Conn.Unfetched{}})1978         # from: lib/phoenix/endpoint/render_errors.ex:133:171979         conn.params19801981     when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"19821983     type warning found at:1984     │1985 134 │         %Plug.Conn.Unfetched{} -> %Plug.Conn{conn | query_params: %{}, params: %{}}1986     │                                   ~1987     │1988     └─ lib/phoenix/endpoint/render_errors.ex:134:35: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/119891990     warning: a struct for Plug.Conn is expected on struct update:19911992         %Plug.Conn{conn | query_params: %{}, params: params}19931994     but got type:19951996         dynamic(%{..., params: not %Plug.Conn.Unfetched{}})19971998     where "conn" was given the types:19992000         # type: dynamic(%{..., params: term()})2001         # from: lib/phoenix/endpoint/render_errors.ex:133:172002         conn.params20032004         # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})2005         # from: lib/phoenix/endpoint/render_errors.ex:133:172006         conn.params20072008     when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"20092010     type warning found at:2011     │2012 135 │         params -> %Plug.Conn{conn | query_params: %{}, params: params}2013     │                   ~2014     │2015     └─ lib/phoenix/endpoint/render_errors.ex:135:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/120162017      warning: a struct for Plug.Conn is expected on struct update:20182019          %Plug.Conn{conn | params: params}20202021      but got type:20222023          dynamic(%{..., params: map()})20242025      where "conn" was given the type:20262027          # type: dynamic(%{..., params: map()})2028          # from: lib/phoenix/controller.ex:1327:172029          Map.get(conn.params, required_key)20302031      when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"20322033      type warning found at:2034      │2035 1334 │     %Plug.Conn{conn | params: params}2036      │     ~2037      │2038      └─ lib/phoenix/controller.ex:1334:5: Phoenix.Controller.scrub_params/220392040Generated phoenix app2041==> nerves_compatibility_test2042===> Analyzing applications...2043===> Compiling quic2044===> Analyzing applications...2045===> Compiling webtransport2046===> Analyzing applications...2047===> Compiling hackney2048==> httpoison2049Compiling 3 files (.ex)2050Generated httpoison app2051==> step_flow2052Compiling 183 files (.ex)2053    warning: unused require Logger2054    │2055  5 │   require Logger2056    │   ~2057    │2058    └─ lib/step_flow/amqp/common_emitter.ex:5:320592060    warning: unused require Logger2061    │2062 11 │   require Logger2063    │   ~2064    │2065    └─ lib/step_flow/application.ex:11:320662067    warning: unused require Logger2068    │2069  6 │   require Logger2070    │   ~2071    │2072    └─ lib/step_flow/controllers/statistics/durations.ex:6:320732074    warning: unused require Logger2075    │2076  5 │   require Logger2077    │   ~2078    │2079    └─ lib/step_flow/controllers/step/launch_params.ex:5:320802081    warning: unused require Logger2082    │2083  7 │   require Logger2084    │   ~2085    │2086    └─ lib/step_flow/metrics/live_workflow_processing_collector.ex:7:320872088    warning: unused require Logger2089    │2090  7 │   require Logger2091    │   ~2092    │2093    └─ lib/step_flow/metrics/pending_job_collector.ex:7:320942095    warning: unused require Logger2096    │2097  8 │   require Logger2098    │   ~2099    │2100    └─ lib/step_flow/metrics/workflow_collector.ex:8:321012102    warning: unused require Logger2103    │2104  6 │   require Logger2105    │   ~2106    │2107    └─ lib/step_flow/models/rights/right.ex:6:321082109    warning: unused require Logger2110    │2111  5 │   require Logger2112    │   ~2113    │2114    └─ lib/step_flow/models/roles/role.ex:5:321152116    warning: unused require Logger2117    │2118  6 │   require Logger2119    │   ~2120    │2121    └─ lib/step_flow/models/roles/roles.ex:6:321222123    warning: unused require Logger2124    │2125  8 │   require Logger2126    │   ~2127    │2128    └─ lib/step_flow/models/workflow_definitions/workflow_definition.ex:8:321292130    warning: unused require Logger2131    │2132  4 │   require Logger2133    │   ~2134    │2135    └─ lib/step_flow/plugs/prometheus.ex:4:321362137    warning: unused require Logger2138    │2139  4 │   require Logger2140    │   ~2141    │2142    └─ lib/step_flow/plugs/step_flow.ex:4:321432144    warning: unused require Logger2145    │2146  4 │   require Logger2147    │   ~2148    │2149    └─ lib/step_flow/view/workflow_view.ex:4:321502151     warning: the following clause is redundant:21522153         def create_worker_status!(%StepFlow.Progressions.Progression{} = message)21542155     it has type:21562157         dynamic(%StepFlow.Progressions.Progression{})21582159     previous clauses have already matched on the following types:21602161         map()21622163     │2164 181 │   def create_worker_status!(%StepFlow.Progressions.Progression{} = message) do2165     │       ~2166     │2167     └─ lib/step_flow/models/workers/worker_statuses.ex:181:7: StepFlow.Workers.WorkerStatuses.create_worker_status!/121682169Generated step_flow app2170==> nerves_compatibility_test2171Compiling 2 files (.ex)2172Generated nerves_compatibility_test app2173* skipping runtime configuration (config/runtime.exs not found)2174** (Mix) Duplicated modules: 2175	'Elixir.JSON.Encoder.Map' specified in elixir and json2176	'Elixir.JSON.Encoder.List' specified in elixir and json2177	'Elixir.JSON.Encoder.Integer' specified in elixir and json2178	'Elixir.JSON.Encoder.Float' specified in elixir and json2179	'Elixir.JSON.Encoder.BitString' specified in elixir and json2180	'Elixir.JSON.Encoder.Atom' specified in elixir and json2181	'Elixir.JSON.Encoder' specified in elixir and json2182	'Elixir.JSON' specified in elixir and json