servicex_matching

Build log

host

servicex_matching 0.0.1 · fail · run servicex_matching-0.0.1-1791099677034
1956 of 1956 lines
1Resolving Hex dependencies...2Resolution completed in 0.213s3Unchanged:4  bcrypt_elixir 1.1.15  certifi 2.15.06  circular_buffer 1.1.07  combine 0.10.08  comeonin 4.1.29  connection 1.0.410  cors_plug 1.5.211  cowboy 1.1.2 VULNERABLE!12    GHSA-w4f7-4cxr-rv3c (MEDIUM)13    aka: CVE-2026-43966, EEF-CVE-2026-4396614    cowboy and gun affected by an HTTP Request/Response Splitting vulnerability15    https://osv.dev/vulnerability/GHSA-w4f7-4cxr-rv3c16  cowlib 1.0.2 VULNERABLE!17    EEF-CVE-2026-7790 (HIGH)18    aka: CVE-2026-7790, GHSA-32p9-57cr-4x6519    Unbounded chunk-size hex digits in cowlib cause quadratic CPU and memory DoS20    https://osv.dev/vulnerability/EEF-CVE-2026-77902122    EEF-CVE-2026-43970 (HIGH)23    aka: CVE-2026-43970, GHSA-84f2-rp86-235p24    Decompression Bomb in cow_spdy:inflate/2 Allows Memory Exhaustion via Crafted SPDY Frame25    https://osv.dev/vulnerability/EEF-CVE-2026-4397026  db_connection 1.1.327  decimal 1.9.0 VULNERABLE!28    EEF-CVE-2026-32686 (MEDIUM)29    aka: CVE-2026-32686, GHSA-rhv4-8758-jx7v30    Unbounded exponent in decimal enables unauthenticated DoS31    https://osv.dev/vulnerability/EEF-CVE-2026-3268632  ecto 2.2.1233  elixir_make 0.10.034  expo 1.1.135  gettext 0.26.236  guardian 1.2.1 VULNERABLE!37    EEF-CVE-2026-54894 (MEDIUM)38    aka: CVE-2026-54894, GHSA-xqch-c77q-rgh539    Atom-table exhaustion denial of service in Guardian via unbounded atom creation from binary keys40    https://osv.dev/vulnerability/EEF-CVE-2026-548944142    EEF-CVE-2026-55735 (HIGH)43    aka: CVE-2026-55735, GHSA-7975-hp3r-5qhv44    Guardian.revoke/3 acts on unverified token claims, allowing forged-token session revocation45    https://osv.dev/vulnerability/EEF-CVE-2026-5573546  guardian_db 1.1.047  hackney 1.25.0 VULNERABLE!48    EEF-CVE-2026-47071 (HIGH)49    aka: CVE-2026-47071, GHSA-gp9c-pm5m-5cxr50    SOCKS5 TLS upgrade ignores caller timeout in hackney51    https://osv.dev/vulnerability/EEF-CVE-2026-470715253    EEF-CVE-2026-47076 (MEDIUM)54    aka: CVE-2026-47076, GHSA-pj7v-xfvx-wmjq55    SSRF allowlist bypass via percent-encoded host in hackney56    https://osv.dev/vulnerability/EEF-CVE-2026-470765758    EEF-CVE-2026-47069 (LOW)59    aka: CVE-2026-47069, GHSA-mp55-p8c9-rfw260    CRLF injection in cookie domain/path options in hackney61    https://osv.dev/vulnerability/EEF-CVE-2026-470696263    EEF-CVE-2026-47075 (MEDIUM)64    aka: CVE-2026-47075, GHSA-j9wq-vxxc-94wf65    CR/LF injection in query parameter in hackney66    https://osv.dev/vulnerability/EEF-CVE-2026-4707567  httpoison 1.8.268  idna 6.1.169  interactive_cmd 0.1.470  jose 1.11.1271  metrics 1.0.172  mime 2.0.773  mimerl 1.5.074  nerves 2.0.0-pre.275  nerves_discovery 0.1.576  nerves_logging 0.2.477  nerves_runtime 0.13.1378  nerves_system_bbb 2.30.279  nerves_system_br 1.34.480  nerves_system_mangopi_mq_pro 0.17.281  nerves_system_qemu_aarch64 0.4.282  nerves_system_rpi0 2.1.283  nerves_system_rpi4 2.1.284  nerves_system_rpi5 2.1.285  nerves_system_trellis 0.5.086  nerves_system_x86_64 1.34.287  nerves_toolchain_aarch64_nerves_linux_gnu 15.3.188  nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.189  nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.190  nerves_toolchain_riscv64_nerves_linux_gnu 15.3.191  nerves_toolchain_x86_64_nerves_linux_musl 15.3.192  nerves_uevent 0.1.793  parse_trans 3.4.194  phoenix 1.3.5 VULNERABLE!95    GHSA-p8f7-22gq-m7j9 (HIGH)96    aka: CVE-2022-4297597    Phoenix before 1.6.14 mishandles check_origin wildcarding98    https://osv.dev/vulnerability/GHSA-p8f7-22gq-m7j999100    EEF-CVE-2026-56812 (MEDIUM)101    aka: CVE-2026-56812, GHSA-63mc-hw7g-86rr102    Phoenix JavaScript presence client crashes on presence keys colliding with Object.prototype members in Presence.syncState/syncDiff103    https://osv.dev/vulnerability/EEF-CVE-2026-56812104105    EEF-CVE-2026-56811 (HIGH)106    aka: CVE-2026-56811, GHSA-6983-jfq8-485w107    Phoenix transports do not limit channel joins per connection, enabling process-exhaustion denial of service108    https://osv.dev/vulnerability/EEF-CVE-2026-56811109  phoenix_ecto 3.6.0110  phoenix_html 2.14.3 VULNERABLE!111    GHSA-5g2h-9x5v-5h3x (MEDIUM)112    aka: CVE-2021-46871, GHSA-j3gg-r6gp-95q2113    phoenix_html allows Cross-site Scripting in HEEx class attributes114    https://osv.dev/vulnerability/GHSA-5g2h-9x5v-5h3x115  phoenix_pubsub 1.1.2116  plug 1.20.3117  plug_crypto 2.2.0118  poison 3.1.0119  poolboy 1.5.2120  postgrex 0.13.5121  property_table 0.3.4122  ranch 1.3.2123  ring_logger 0.11.7124  servicex 0.1.2125  servicex_matching 0.0.1126  ssl_verify_fun 1.1.7127  tablet 0.3.3128  telemetry 1.4.2129  timex 3.7.13130  toolshed 0.5.0131  tzdata 1.2.2132  uboot_env 1.0.2133  unicode_util_compat 0.7.1134Found packages with security advisories, see above for details135All dependencies have been fetched136    warning: found quoted keyword "test" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes137    │138 79 │       "test": ["ecto.drop", "ecto.create --quiet", "ecto.migrate", "run priv/repo/seeds.exs", "test"]139    │       ~140    │141    └─ /work/proj/deps/servicex/mix.exs:79:7142143    warning: found quoted keyword "test" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes144    │145 75 │       "test": ["ecto.drop", "ecto.create --quiet", "ecto.migrate", "test"]146    │       ~147    │148    └─ /work/proj/deps/servicex_matching/mix.exs:75:7149150    warning: String.strip/1 is deprecated. Use String.trim/1 instead151    │152  4 │   @version File.read!("VERSION") |> String.strip153    │                                            ~154    │155    └─ /work/proj/deps/poison/mix.exs:4:44: Poison.Mixfile (module)156157==> comeonin158Compiling 2 files (.ex)159Generated comeonin app160warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"161  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2162  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1163  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5164  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2165  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4166  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2167168==> phoenix169Compiling 75 files (.ex)170     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 operator171     │172 170 │       <<attr::size(prefix)-binary, ":unique">> -> attr173     │                    ~174     │175     └─ lib/mix/phoenix/schema.ex:170:20: Mix.Phoenix.Schema.drop_unique/1176177     warning: using single-quoted strings to represent charlists is deprecated.178     Use ~c"" if you indeed want a charlist or use "" instead.179     You may run "mix format --migrate" to change all single-quoted180     strings to use the ~c sigil and fix this warning.181     │182 310 │     :error_logger.warning_msg('~p ~p received unexpected message in handle_info/2: ~p~n',183     │                               ~184     │185     └─ lib/phoenix/channel/server.ex:310:31186187    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead188    │189 39 │             Logger.warn "Phoenix is unable to create symlinks. Phoenix' code reloader will run " <>190    │                    ~191    │192    └─ lib/phoenix/code_reloader/server.ex:39:20: Phoenix.CodeReloader.Server.handle_call/3193194    warning: unused require Logger195    │196 20 │   require Logger197    │   ~198    │199    └─ lib/phoenix/endpoint/handler.ex:20:3200201    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead202    │203 39 │       Logger.warn """204    │              ~205    │206    └─ lib/phoenix/endpoint/supervisor.ex:39:14: Phoenix.Endpoint.Supervisor.init/1207208    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 operator209    │210 46 │       <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix211    │                             ~212    │213    └─ lib/phoenix/naming.ex:46:29: Phoenix.Naming.unsuffix/2214215     warning: using single-quoted strings to represent charlists is deprecated.216     Use ~c"" if you indeed want a charlist or use "" instead.217     You may run "mix format --migrate" to change all single-quoted218     strings to use the ~c sigil and fix this warning.219     │220 315 │   @anno (if :erlang.system_info(:otp_release) >= '19' do221     │                                                  ~222     │223     └─ lib/phoenix/router.ex:315:50224225     warning: using single-quoted strings to represent charlists is deprecated.226     Use ~c"" if you indeed want a charlist or use "" instead.227     You may run "mix format --migrate" to change all single-quoted228     strings to use the ~c sigil and fix this warning.229     │230 195 │   @anno (if :erlang.system_info(:otp_release) >= '19' do231     │                                                  ~232     │233     └─ lib/phoenix/router/helpers.ex:195:50234235    warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.236237    This error happens when you have function calls without parentheses inside keywords. For example:238239        function(arg, one: nested_call a, b, c)240        function(arg, one: if expr, do: :this, else: :that)241242    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:243244        function(arg, one: if(expr, do: :this, else: :that))245        function(arg, one: nested_call(a, b, c))246247    Ambiguity found at:248    │249 71 │     unless actions -- supported_actions == [], do: raise ArgumentError, """250    │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~251    │252    └─ lib/phoenix/router/resource.ex:71253254    warning: duplicate key :route found in struct255    │256 24 │   defstruct [:path, :actions, :param, :route, :controller, :route, :member, :collection, :singleton]257    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~258    │259    └─ lib/phoenix/router/resource.ex:24: Phoenix.Router.Resource (module)260261     warning: invalid type annotation. The left side of :: must be a variable, got: {:ok, pid()} | {:error, reason :: term()}. Note "left | right :: ann" is the same as "(left | right) :: ann". To solve this, use parentheses around the union operands: "left | (right :: ann)"262     │263 110 │   @callback start_link(Keyword.t) :: {:ok, pid()} | {:error, reason :: term()} :: :ignore264     │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~265     │266     └─ lib/phoenix/presence.ex:110: Phoenix.Presence (module)267268     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead269     │270 885 │       Logger.warn "send_download/3 has been invoked during an AJAX request. " <>271     │              ~272     │273     └─ lib/phoenix/controller.ex:885:14: Phoenix.Controller.warn_if_ajax/1274275     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead276     │277 304 │     Logger.warn fn -> "Ignoring unmatched topic \"#{msg.topic}\" in #{inspect(socket.handler)}" end278     │            ~279     │280     └─ lib/phoenix/socket/transport.ex:304:12: Phoenix.Socket.Transport.reply_ignore/2281282     warning: using single-quoted strings to represent charlists is deprecated.283     Use ~c"" if you indeed want a charlist or use "" instead.284     You may run "mix format --migrate" to change all single-quoted285     strings to use the ~c sigil and fix this warning.286     │287 174 │   @anno (if :erlang.system_info(:otp_release) >= '19' do288     │                                                  ~289     │290     └─ lib/phoenix/template.ex:174:50291292     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead293     │294 227 │     Logger.warn ":max_age was not set on Phoenix.Token.verify/4. " <>295     │            ~296     │297     └─ lib/phoenix/token.ex:227:12: Phoenix.Token.expired?/2298299    warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead300    │301 12 │       worker(Phoenix.Transports.LongPoll.Server, [], restart: :temporary)302    │       ~303    │304    └─ lib/phoenix/transports/long_poll_server.ex:12:7: Phoenix.Transports.LongPoll.Supervisor.init/1305306    warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead307    │308 14 │     supervise(children, strategy: :simple_one_for_one)309    │     ~310    │311    └─ lib/phoenix/transports/long_poll_server.ex:14:5: Phoenix.Transports.LongPoll.Supervisor.init/1312313     warning: expected a module (an atom) when invoking config/1 in expression:314315         endpoint.config(:endpoint_id)316317     where "endpoint" was given the type:318319         # type: dynamic(%{..., __pubsub_server__: atom()})320         # from: lib/phoenix/transports/long_poll.ex:199:10321         verify_token(endpoint, token, opts)322323     type warning found at:324     │325 201 │         server_ref = server_ref(endpoint.config(:endpoint_id), id, pid, priv_topic)326     │                                          ~327     │328     └─ lib/phoenix/transports/long_poll.ex:201:42: Phoenix.Transports.LongPoll.resume_session/3329330     warning: unknown key .__pubsub_server__ in expression:331332         endpoint.__pubsub_server__333334     the given type does not have the given key:335336         dynamic(337           %Phoenix.Socket{338             id: term(),339             assigns: term(),340             channel: term(),341             channel_pid: term(),342             endpoint: atom(),343             handler: term(),344             joined: term(),345             pubsub_server: term(),346             ref: term(),347             join_ref: term(),348             topic: term(),349             transport: term(),350             transport_pid: term(),351             transport_name: term(),352             serializer: term(),353             private: term(),354             vsn: term()355           } or356             %Plug.Conn{357               adapter: term(),358               assigns: term(),359               body_params: term(),360               cookies: term(),361               halted: term(),362               host: term(),363               method: term(),364               owner: term(),365               params: term(),366               path_info: term(),367               path_params: term(),368               port: term(),369               private: term(),370               query_params: term(),371               query_string: term(),372               remote_ip: term(),373               req_cookies: term(),374               req_headers: term(),375               request_path: term(),376               resp_body: term(),377               resp_cookies: term(),378               resp_headers: term(),379               scheme: term(),380               script_name: term(),381               secret_key_base: term(),382               state: term(),383               status: term()384             } or atom() or binary()385         )386387     where "endpoint" was given the type:388389         # type: dynamic(%Phoenix.Socket{endpoint: atom()} or %Plug.Conn{} or atom() or binary())390         # from: lib/phoenix/transports/long_poll.ex:254:19391         Phoenix.Token.sign(endpoint, Atom.to_string(endpoint.__pubsub_server__), data, opts[:crypto])392393     type warning found at:394     │395 254 │     Phoenix.Token.sign(endpoint, Atom.to_string(endpoint.__pubsub_server__), data, opts[:crypto])396     │                                                          ~~~~~~~~~~~~~~~~~397     │398     └─ lib/phoenix/transports/long_poll.ex:254:58: Phoenix.Transports.LongPoll.sign_token/3399400    warning: @behaviour :cowboy_websocket_handler does not exist (in module Phoenix.Endpoint.CowboyWebSocket)401    │402  1 │ defmodule Phoenix.Endpoint.CowboyWebSocket do403    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~404    │405    └─ lib/phoenix/endpoint/cowboy_websocket.ex:1: Phoenix.Endpoint.CowboyWebSocket (module)406407    warning: Plug.Adapters.Cowboy.Conn.conn/2 is undefined (module Plug.Adapters.Cowboy.Conn is not available or is yet to be defined)408    │409 10 │     conn = @connection.conn(req, transport)410    │                        ~411    │412    └─ lib/phoenix/endpoint/cowboy_websocket.ex:10:24: Phoenix.Endpoint.CowboyWebSocket.init/3413414     warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead415     │416 647 │       exception -> {:error, {exception, System.stacktrace()}}417     │                                                ~418     │419     └─ lib/phoenix/test/conn_test.ex:647:48: Phoenix.ConnTest.wrap_request/1420421    warning: :cowboy_req.compact/1 is undefined (module :cowboy_req is not available or is yet to be defined)422    │423 73 │     {:ok, :cowboy_req.compact(req), {handler, state}, timeout}424    │                       ~425    │426    └─ lib/phoenix/endpoint/cowboy_websocket.ex:73:23: Phoenix.Endpoint.CowboyWebSocket.websocket_init/3427428    warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead429    │430 23 │         {:upgrade, :protocol, __MODULE__, req, {:error, mfa, kind, reason, System.stacktrace}}431    │                                                                                   ~432    │433    └─ lib/phoenix/endpoint/cowboy_websocket.ex:23:83: Phoenix.Endpoint.CowboyWebSocket.init/3434435     warning: Plug.Crypto.safe_binary_to_term/1 is undefined or private436     │437 176 │         %{data: data, signed: signed} = Plug.Crypto.safe_binary_to_term(message)438     │                                                     ~439     │440     └─ lib/phoenix/token.ex:176:53: Phoenix.Token.verify/4441442     warning: a struct for Phoenix.Socket is expected on struct update:443444         %Phoenix.Socket{socket | id: id}445446     but got type:447448         dynamic()449450     where "socket" was given the type:451452         # type: dynamic()453         # from: lib/phoenix/socket/transport.ex454         {:ok, socket}455456     when defining the variable "socket", you must also pattern match on "%Phoenix.Socket{}"457458     type warning found at:459     │460 195 │           id when is_binary(id) -> {:ok, %Socket{socket | id: id}}461     │                                          ~462     │463     └─ lib/phoenix/socket/transport.ex:195:42: Phoenix.Socket.Transport.do_connect/7464465    warning: a struct for Plug.Conn is expected on struct update:466467        %Plug.Conn{conn | state: :sent}468469    but got type:470471        dynamic()472473    where "conn" was given the type:474475        # type: dynamic()476        # from: lib/phoenix/endpoint/render_errors.ex:79:21477        conn478479    when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"480481    type warning found at:482    │483 83 │         %Plug.Conn{conn | state: :sent}484    │         ~485    │486    └─ lib/phoenix/endpoint/render_errors.ex:83:9: Phoenix.Endpoint.RenderErrors.maybe_render/5487488    warning: a struct for Plug.Conn is expected on struct update:489490        %Plug.Conn{conn | query_params: %{}, params: %{}}491492    but got type:493494        dynamic(%{..., params: %Plug.Conn.Unfetched{}})495496    where "conn" was given the types:497498        # type: dynamic(%{..., params: term()})499        # from: lib/phoenix/endpoint/render_errors.ex:94:17500        conn.params501502        # type: dynamic(%{..., params: %Plug.Conn.Unfetched{}})503        # from: lib/phoenix/endpoint/render_errors.ex:94:17504        conn.params505506    when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"507508    type warning found at:509    │510 95 │         %Plug.Conn.Unfetched{} -> %Plug.Conn{conn | query_params: %{}, params: %{}}511    │                                   ~512    │513    └─ lib/phoenix/endpoint/render_errors.ex:95:35: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/1514515    warning: a struct for Plug.Conn is expected on struct update:516517        %Plug.Conn{conn | query_params: %{}, params: params}518519    but got type:520521        dynamic(%{..., params: not %Plug.Conn.Unfetched{}})522523    where "conn" was given the types:524525        # type: dynamic(%{..., params: term()})526        # from: lib/phoenix/endpoint/render_errors.ex:94:17527        conn.params528529        # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})530        # from: lib/phoenix/endpoint/render_errors.ex:94:17531        conn.params532533    when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"534535    type warning found at:536    │537 96 │         params -> %Plug.Conn{conn | query_params: %{}, params: params}538    │                   ~539    │540    └─ lib/phoenix/endpoint/render_errors.ex:96:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/1541542     warning: a struct for Plug.Conn is expected on struct update:543544         %Plug.Conn{conn | params: params}545546     but got type:547548         dynamic(%{..., params: map()})549550     where "conn" was given the type:551552         # type: dynamic(%{..., params: map()})553         # from: lib/phoenix/controller.ex:912:17554         Map.get(conn.params, required_key)555556     when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"557558     type warning found at:559     │560 919 │     %Plug.Conn{conn | params: params}561     │     ~562     │563     └─ lib/phoenix/controller.ex:919:5: Phoenix.Controller.scrub_params/2564565     warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead566     │567 198 │       supervisor(Task.Supervisor, [[name: task_supervisor]]),568     │       ~569     │570     └─ lib/phoenix/presence.ex:198:7: Phoenix.Presence.start_link/4571572     warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead573     │574 199 │       worker(Phoenix.Tracker, [module, opts, opts])575     │       ~576     │577     └─ lib/phoenix/presence.ex:199:7: Phoenix.Presence.start_link/4578579    warning: expected a map or struct when accessing .url in expression:580581        endpoint.url582583    where "endpoint" was given the types:584585        # type: dynamic(atom())586        # from: lib/phoenix/router/helpers.ex:24:20587        endpoint588589        # type: atom()590        # from: lib/phoenix/router/helpers.ex:24:35591        is_atom(endpoint)592593    hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()594595    type warning found at:596    │597 25 │     endpoint.url598    │              ~599    │600    └─ lib/phoenix/router/helpers.ex:25:14: Phoenix.Router.Helpers.url/2601602     warning: a struct for Plug.Conn is expected on struct update:603604         %Plug.Conn{conn | path_info: path, script_name: script}605606     but got type:607608         dynamic()609610     where "conn" was given the type:611612         # type: dynamic()613         # from: lib/phoenix/router/route.ex:147:10614         conn = target.call(%Plug.Conn{...}, opts)615616     when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"617618     type warning found at:619     │620 148 │     %Plug.Conn{conn | path_info: path, script_name: script}621     │     ~622     │623     └─ lib/phoenix/router/route.ex:148:5: Phoenix.Router.Route.forward/4624625     warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead626     │627 284 │             Phoenix.PlugError.reraise(piped_conn, :error, reason, System.stacktrace())628     │                                                                          ~629     │630     └─ lib/phoenix/router.ex:284:74: Phoenix.Router.__call__/1631632    warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead633    │634 71 │     supervise(children, strategy: :one_for_one)635    │     ~636    │637    └─ lib/phoenix/endpoint/supervisor.ex:71:5: Phoenix.Endpoint.Supervisor.init/1638639    warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead640    │641 76 │     [worker(Phoenix.Config, args)]642    │      ~643    │644    └─ lib/phoenix/endpoint/supervisor.ex:76:6: Phoenix.Endpoint.Supervisor.config_children/3645646    warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead647    │648 84 │       [supervisor(adapter, [mod.__pubsub_server__(), pub_conf])]649    │        ~650    │651    └─ lib/phoenix/endpoint/supervisor.ex:84:8: Phoenix.Endpoint.Supervisor.pubsub_children/2652    └─ lib/phoenix/endpoint/supervisor.ex:96:8: Phoenix.Endpoint.Supervisor.server_children/3653    └─ lib/phoenix/endpoint/supervisor.ex:97:8: Phoenix.Endpoint.Supervisor.server_children/3654655     warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead656     │657 106 │         worker(Phoenix.Endpoint.Watcher, watcher_args(cmd, args),658     │         ~659     │660     └─ lib/phoenix/endpoint/supervisor.ex:106:9: Phoenix.Endpoint.Supervisor.watcher_children/3661662     warning: expected a module (an atom) when invoking path/1 in expression:663664         endpoint.path("/")665666     where "endpoint" was given the type:667668         # type: dynamic(%{..., host: term()})669         # from: lib/phoenix/endpoint/supervisor.ex:312:14670         endpoint.host671672     type warning found at:673     │674 313 │     endpoint.path("/")675     │              ~676     │677     └─ lib/phoenix/endpoint/supervisor.ex:313:14: Phoenix.Endpoint.Supervisor.warmup/1678679    warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead680    │681 35 │     supervise(children, strategy: :one_for_one)682    │     ~683    │684    └─ lib/phoenix/endpoint/handler.ex:35:5: Phoenix.Endpoint.Handler.init/1685686    warning: Enum.partition/2 is deprecated. Use Enum.split_with/2 instead687    │688 39 │     {config_keywords, config_other} = Enum.partition(config, &keyword_item?/1)689    │                                            ~690    │691    └─ lib/phoenix/endpoint/handler.ex:39:44: Phoenix.Endpoint.Handler.default/3692693    warning: Plug.Adapters.Cowboy.child_spec/4 is deprecated. Use Plug.Cowboy.child_spec/4 instead694    │695 81 │       Plug.Adapters.Cowboy.child_spec(scheme, endpoint, [], config)696    │                            ~697    │698    └─ lib/phoenix/endpoint/cowboy_handler.ex:81:28: Phoenix.Endpoint.CowboyHandler.child_spec/3699700     warning: comparison between distinct types found:701702         !Path.extname(file_path) == ".gz"703704     given types:705706         dynamic(boolean()) == binary()707708     where "file_path" was given the type:709710         # type: dynamic(binary() or empty_list() or non_empty_list(term(), term()))711         # from: lib/phoenix/digester.ex:147:45712         Path.basename(file_path)713714     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 false715716     type warning found at:717     │718 148 │       !Path.extname(file_path) == ".gz"719     │                                ~720     │721     └─ lib/phoenix/digester.ex:148:32: Phoenix.Digester.uncompressed_digested_file?/1722723     warning: :ranch.get_addr/1 is undefined (module :ranch is not available or is yet to be defined)724     │725 113 │     {addr,port} = :ranch.get_addr(ref)726     │                          ~727     │728     └─ lib/phoenix/endpoint/cowboy_handler.ex:113:26: Phoenix.Endpoint.CowboyHandler.info/3729730    warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead731    │732 51 │       worker(Phoenix.CodeReloader.Server, [])733    │       ~734    │735    └─ lib/phoenix.ex:51:7: Phoenix.start/2736737    warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead738    │739 61 │             IO.puts Exception.format(kind, reason, System.stacktrace)740    │                                                           ~741    │742    └─ lib/phoenix/code_reloader/server.ex:61:59: Phoenix.CodeReloader.Server.handle_call/3743744     warning: Enum.partition/2 is deprecated. Use Enum.split_with/2 instead745     │746 155 │     Enum.partition attrs, fn747     │          ~748     │749     └─ lib/mix/tasks/phoenix.gen.model.ex:155:10: Mix.Tasks.Phoenix.Gen.Model.partition_attrs_and_assocs/1750751    warning: expected a map or struct when accessing .__phoenix_recompile__? in expression:752753        mod.__phoenix_recompile__?754755    where "mod" was given the type:756757        # type: dynamic(atom())758        # from: lib/mix/tasks/compile.phoenix.ex:34:12759        Code.ensure_loaded?(mod)760761    hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()762763    type warning found at:764    │765 36 │         mod.__phoenix_recompile__?766    │             ~767    │768    └─ lib/mix/tasks/compile.phoenix.ex:36:13: Mix.Tasks.Compile.Phoenix.modules_for_recompilation/1769770     warning: Enum.partition/2 is deprecated. Use Enum.split_with/2 instead771     │772 234 │       Enum.partition(attrs, fn773     │            ~774     │775     └─ lib/mix/phoenix/schema.ex:234:12: Mix.Phoenix.Schema.partition_attrs_and_assocs/2776777Generated phoenix app778==> phoenix_html779Compiling 8 files (.ex)780    warning: using single-quoted strings to represent charlists is deprecated.781    Use ~c"" if you indeed want a charlist or use "" instead.782    You may run "mix format --migrate" to change all single-quoted783    strings to use the ~c sigil and fix this warning.784    │785 12 │   @anno (if :erlang.system_info(:otp_release) >= '19' do786    │                                                  ~787    │788    └─ lib/phoenix_html/engine.ex:12:50789790    warning: the 1st pattern in clause will never match:791792        60793794    because it is expected to receive type:795796        dynamic(empty_list() or non_empty_list(term(), term()))797798    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())799800    type warning found at:801    │802 56 │   def to_iodata(?<), do: "&lt;"803    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~804    │805    └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/1806807    warning: the 1st pattern in clause will never match:808809        62810811    because it is expected to receive type:812813        dynamic(empty_list() or non_empty_list(term(), term()))814815    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())816817    type warning found at:818    │819 57 │   def to_iodata(?>), do: "&gt;"820    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~821    │822    └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/1823824    warning: the 1st pattern in clause will never match:825826        38827828    because it is expected to receive type:829830        dynamic(empty_list() or non_empty_list(term(), term()))831832    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())833834    type warning found at:835    │836 58 │   def to_iodata(?&), do: "&amp;"837    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~838    │839    └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/1840841    warning: the 1st pattern in clause will never match:842843        34844845    because it is expected to receive type:846847        dynamic(empty_list() or non_empty_list(term(), term()))848849    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())850851    type warning found at:852    │853 59 │   def to_iodata(?"), do: "&quot;"854    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~855    │856    └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/1857858    warning: the 1st pattern in clause will never match:859860        39861862    because it is expected to receive type:863864        dynamic(empty_list() or non_empty_list(term(), term()))865866    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())867868    type warning found at:869    │870 60 │   def to_iodata(?'), do: "&#39;"871    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~872    │873    └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/1874875    warning: the 1st pattern in clause will never match:876877        {:safe, data}878879    because it is expected to receive type:880881        dynamic(empty_list() or non_empty_list(term(), term()))882883    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())884885    type warning found at:886    │887 76 │   def to_iodata({:safe, data}) do888    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~889    │890    └─ lib/phoenix_html/safe.ex:76: Phoenix.HTML.Safe.List.to_iodata/1891892    warning: the following clause is redundant:893894        def to_iodata(other)895896    it has type:897898        dynamic(empty_list() or non_empty_list(term(), term()))899900    previous clauses have already matched on the following types:901902        non_empty_list(term(), term())903        empty_list()904905    │906 80 │   def to_iodata(other) do907    │       ~908    │909    └─ lib/phoenix_html/safe.ex:80:7: Phoenix.HTML.Safe.List.to_iodata/1910911    warning: the 1st pattern in clause will never match:912913        h914915    because it is expected to receive type:916917        dynamic(empty_list() or non_empty_list(term(), term()))918919    where "h" was given the type:920921        # type: integer()922        # from: lib/phoenix_html/safe.ex:62:25923        is_integer(h)924925    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())926927    type warning found at:928    │929 62 │   def to_iodata(h) when is_integer(h) and h <= 255 do930    │                 ~931    │932    └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/1933934    warning: the 1st pattern in clause will never match:935936        h937938    because it is expected to receive type:939940        dynamic(empty_list() or non_empty_list(term(), term()))941942    where "h" was given the type:943944        # type: integer()945        # from: lib/phoenix_html/safe.ex:66:25946        is_integer(h)947948    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())949950    type warning found at:951    │952 66 │   def to_iodata(h) when is_integer(h) do953    │                 ~954    │955    └─ lib/phoenix_html/safe.ex:66:17: Phoenix.HTML.Safe.List.to_iodata/1956957    warning: the 1st pattern in clause will never match:958959        h960961    because it is expected to receive type:962963        dynamic(empty_list() or non_empty_list(term(), term()))964965    where "h" was given the type:966967        # type: binary()968        # from: lib/phoenix_html/safe.ex:72:25969        is_binary(h)970971    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())972973    type warning found at:974    │975 72 │   def to_iodata(h) when is_binary(h) do976    │                 ~977    │978    └─ lib/phoenix_html/safe.ex:72:17: Phoenix.HTML.Safe.List.to_iodata/1979980Generated phoenix_html app981warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"982  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2983  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1984  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5985  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2986  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4987  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2988989==> guardian990Compiling 20 files (.ex)991Generated guardian app992warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"993  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2994  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1995  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5996  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2997  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4998  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/29991000==> ecto1001Compiling 70 files (.ex)1002     warning: using single-quoted strings to represent charlists is deprecated.1003     Use ~c"" if you indeed want a charlist or use "" instead.1004     You may run "mix format --migrate" to change all single-quoted1005     strings to use the ~c sigil and fix this warning.1006     │1007 166 │     defp insert_all_value(_),   do: '?'1008     │                                     ~1009     │1010     └─ lib/ecto/adapters/mysql/connection.ex:166:3710111012     warning: using single-quoted strings to represent charlists is deprecated.1013     Use ~c"" if you indeed want a charlist or use "" instead.1014     You may run "mix format --migrate" to change all single-quoted1015     strings to use the ~c sigil and fix this warning.1016     │1017 354 │       '?'1018     │       ~1019     │1020     └─ lib/ecto/adapters/mysql/connection.ex:354:710211022      warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.10231024      This error happens when you have function calls without parentheses inside keywords. For example:10251026          function(arg, one: nested_call a, b, c)1027          function(arg, one: if expr, do: :this, else: :that)10281029      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:10301031          function(arg, one: if(expr, do: :this, else: :that))1032          function(arg, one: nested_call(a, b, c))10331034      Ambiguity found at:1035      │1036 2286 │     raise ArgumentError, "cannot add constraint to changeset because it does not have a source, got: #{inspect data}"1037      │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1038      │1039      └─ lib/ecto/changeset.ex:228610401041     warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.10421043     This error happens when you have function calls without parentheses inside keywords. For example:10441045         function(arg, one: nested_call a, b, c)1046         function(arg, one: if expr, do: :this, else: :that)10471048     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:10491050         function(arg, one: if(expr, do: :this, else: :that))1051         function(arg, one: nested_call(a, b, c))10521053     Ambiguity found at:1054     │1055 265 │     do: raise ArgumentError, "a constraint must have either a check or exclude option"1056     │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1057     │1058     └─ lib/ecto/migration/runner.ex:26510591060     warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.10611062     This error happens when you have function calls without parentheses inside keywords. For example:10631064         function(arg, one: nested_call a, b, c)1065         function(arg, one: if expr, do: :this, else: :that)10661067     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:10681069         function(arg, one: if(expr, do: :this, else: :that))1070         function(arg, one: nested_call(a, b, c))10711072     Ambiguity found at:1073     │1074 267 │     do: raise ArgumentError, "a constraint must not have both check and exclude options"1075     │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1076     │1077     └─ lib/ecto/migration/runner.ex:26710781079     warning: atom ::: must be written between quotes, as in :"::", to avoid ambiguity1080     │1081 136 │       {:::, _, [left, _]} -> is_integer(left) or is_binary(left)1082     │        ~1083     │1084     └─ lib/ecto/query/builder.ex:136:810851086     warning: unknown compiler variable "__" (expected one of __MODULE__, __ENV__, __DIR__, __CALLER__, __STACKTRACE__)1087     │1088 643 │   def quoted_type({:datetime_add, _, [_, _, __]}, _vars), do: :naive_datetime1089     │                                             ~~1090     │1091     └─ lib/ecto/query/builder.ex:643:45: Ecto.Query.Builder.quoted_type/210921093     warning: unknown compiler variable "__" (expected one of __MODULE__, __ENV__, __DIR__, __CALLER__, __STACKTRACE__)1094     │1095 644 │   def quoted_type({:date_add, _, [_, _, __]}, _vars), do: :date1096     │                                         ~~1097     │1098     └─ lib/ecto/query/builder.ex:644:41: Ecto.Query.Builder.quoted_type/210991100     warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.11011102     This error happens when you have function calls without parentheses inside keywords. For example:11031104         function(arg, one: nested_call a, b, c)1105         function(arg, one: if expr, do: :this, else: :that)11061107     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:11081109         function(arg, one: if(expr, do: :this, else: :that))1110         function(arg, one: nested_call(a, b, c))11111112     Ambiguity found at:1113     │1114 454 │     do: raise ArgumentError, "a changeset with action #{inspect given} was given to #{inspect repo}.#{action}/2"1115     │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1116     │1117     └─ lib/ecto/repo/schema.ex:45411181119    warning: unused require Ecto.Query1120    │1121  6 │   require Ecto.Query1122    │   ~1123    │1124    └─ lib/ecto/repo/preloader.ex:6:311251126    warning: Module.eval_quoted/2 is deprecated. Use Code.eval_quoted/3 instead1127    │1128  9 │   schema "schema_migrations" do1129    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1130    │1131    └─ lib/ecto/migration/schema_migration.ex:9: Ecto.Migration.SchemaMigration (module)11321133    warning: incompatible types given to Mix.Ecto.ensure_started/2:11341135        Mix.Ecto.ensure_started(repo, opts)11361137    given types:11381139        -dynamic(atom())-, dynamic(empty_list() or non_empty_list(term(), term()))11401141    but expected one of:11421143        %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())11441145    where "opts" was given the type:11461147        # type: dynamic(1148          %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or1149            non_struct_map()1150        )1151        # from: lib/mix/tasks/ecto.rollback.ex:64:101152        opts =1153          if opts[:quiet] do1154            Keyword.merge(opts, log: false, log_sql: false)1155          else1156            opts1157          end11581159    where "repo" was given the type:11601161        # type: dynamic(atom())1162        # from: lib/mix/tasks/ecto.rollback.ex:70:71163        Mix.Ecto.ensure_repo(repo, args)11641165    type warning found at:1166    │1167 72 │       {:ok, pid, apps} = ensure_started(repo, opts)1168    │                          ~1169    │1170    └─ lib/mix/tasks/ecto.rollback.ex:72:26: Mix.Tasks.Ecto.Rollback.run/211711172     warning: struct DBConnection.OwnershipError is undefined (module DBConnection.OwnershipError is not available or is yet to be defined)1173     │1174 258 │       err in DBConnection.OwnershipError ->1175     │           ~1176     │1177     └─ lib/ecto/adapters/sql.ex:258:11: Ecto.Adapters.SQL.sql_call/611781179     warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1180     │1181 260 │         reraise %{err | message: message}, System.stacktrace1182     │                                                   ~1183     │1184     └─ lib/ecto/adapters/sql.ex:260:51: Ecto.Adapters.SQL.sql_call/611851186    warning: incompatible types given to Mix.Ecto.ensure_started/2:11871188        Mix.Ecto.ensure_started(repo, all: true)11891190    given types:11911192        -dynamic(atom())-, non_empty_list({:all, true})11931194    but expected one of:11951196        %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())11971198    where "repo" was given the type:11991200        # type: dynamic(atom())1201        # from: lib/mix/tasks/ecto.migrations.ex:37:71202        Mix.Ecto.ensure_repo(repo, args)12031204    type warning found at:1205    │1206 39 │       {:ok, pid, _} = ensure_started(repo, all: true)1207    │                       ~1208    │1209    └─ lib/mix/tasks/ecto.migrations.ex:39:23: Mix.Tasks.Ecto.Migrations.run/312101211      warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead1212      │1213 2400 │     surround_many("#Ecto.Changeset<", list, ">", opts, fn1214      │     ~1215      │1216      └─ lib/ecto/changeset.ex:2400:5: Inspect.Ecto.Changeset.inspect/212171218    warning: incompatible types given to Mix.Ecto.ensure_started/2:12191220        Mix.Ecto.ensure_started(repo, opts)12211222    given types:12231224        -dynamic(atom())-, dynamic(empty_list() or non_empty_list(term(), term()))12251226    but expected one of:12271228        %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())12291230    where "opts" was given the type:12311232        # type: dynamic(1233          %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or1234            non_struct_map()1235        )1236        # from: lib/mix/tasks/ecto.migrate.ex:68:101237        opts =1238          if opts[:quiet] do1239            Keyword.merge(opts, log: false, log_sql: false)1240          else1241            opts1242          end12431244    where "repo" was given the type:12451246        # type: dynamic(atom())1247        # from: lib/mix/tasks/ecto.migrate.ex:74:71248        Mix.Ecto.ensure_repo(repo, args)12491250    type warning found at:1251    │1252 76 │       {:ok, pid, apps} = ensure_started(repo, opts)1253    │                          ~1254    │1255    └─ lib/mix/tasks/ecto.migrate.ex:76:26: Mix.Tasks.Ecto.Migrate.run/212561257    warning: incompatible types given to Mix.Ecto.source_repo_priv/1:12581259        Mix.Ecto.source_repo_priv(repo)12601261    given types:12621263        -dynamic(%{..., __adapter__: atom(), config: empty_list() or non_empty_list(term(), term())})-12641265    but expected one of:12661267        atom()12681269    where "repo" was given the types:12701271        # type: dynamic(%{..., config: empty_list() or non_empty_list(term(), term())})1272        # from: lib/mix/tasks/ecto.load.ex:70:221273        Keyword.merge(repo.config, opts)12741275        # type: dynamic(%{..., __adapter__: atom(), config: empty_list() or non_empty_list(term(), term())})1276        # from: lib/mix/tasks/ecto.load.ex:72:271277        repo.__adapter__.structure_load(Mix.Ecto.source_repo_priv(repo), config)12781279    type warning found at:1280    │1281 72 │     case repo.__adapter__.structure_load(source_repo_priv(repo), config) do1282    │                                          ~1283    │1284    └─ lib/mix/tasks/ecto.load.ex:72:42: Mix.Tasks.Ecto.Load.load_structure/212851286    warning: expected a map or struct when accessing .__adapter__ in expression:12871288        repo.__adapter__12891290    where "repo" was given the type:12911292        # type: dynamic(atom())1293        # from: lib/mix/tasks/ecto.load.ex:53:71294        Mix.Ecto.ensure_repo(repo, args)12951296    hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()12971298    type warning found at:1299    │1300 54 │       ensure_implements(repo.__adapter__, Ecto.Adapter.Structure,1301    │                              ~1302    │1303    └─ lib/mix/tasks/ecto.load.ex:54:30: Mix.Tasks.Ecto.Load.run/113041305     warning: the following clause will never match:13061307         [{^module, :changeset, args_or_arity, _}] when args_or_arity == 2 when length(args_or_arity) == 2 ->13081309     because it attempts to match on the result of:13101311         System.stacktrace()13121313     which has type:13141315         empty_list()13161317     where "args_or_arity" was given the type:13181319         # type: float() or integer() or non_empty_list(term())1320         # from: lib/ecto/changeset.ex1321         (_() when args_or_arity == 2) when length(args_or_arity) == 213221323     where "module" was given the type:13241325         # type: dynamic()1326         # from: lib/ecto/changeset.ex:733:301327         module13281329     type warning found at:1330     │1331 741 │ ...                   when length(args_or_arity) == 2 ->1332     │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1333     │1334     └─ lib/ecto/changeset.ex:741: Ecto.Changeset.on_cast_default/213351336    warning: expected a map or struct when accessing .__adapter__ in expression:13371338        repo.__adapter__13391340    where "repo" was given the type:13411342        # type: dynamic(atom())1343        # from: lib/mix/tasks/ecto.dump.ex:50:71344        Mix.Ecto.ensure_repo(repo, args)13451346    hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()13471348    type warning found at:1349    │1350 51 │       ensure_implements(repo.__adapter__, Ecto.Adapter.Structure,1351    │                              ~1352    │1353    └─ lib/mix/tasks/ecto.dump.ex:51:30: Mix.Tasks.Ecto.Dump.run/113541355    warning: expected a map or struct when accessing .__adapter__ in expression:13561357        repo.__adapter__13581359    where "repo" was given the type:13601361        # type: dynamic(atom())1362        # from: lib/mix/tasks/ecto.drop.ex:39:71363        Mix.Ecto.ensure_repo(repo, args)13641365    hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()13661367    type warning found at:1368    │1369 40 │       ensure_implements(repo.__adapter__, Ecto.Adapter.Storage,1370    │                              ~1371    │1372    └─ lib/mix/tasks/ecto.drop.ex:40:30: Mix.Tasks.Ecto.Drop.run/113731374     warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1375     │1376 739 │           case System.stacktrace do1377     │                       ~1378     │1379     └─ lib/ecto/changeset.ex:739:23: Ecto.Changeset.on_cast_default/213801381    warning: expected a map or struct when accessing .__adapter__ in expression:13821383        repo.__adapter__13841385    where "repo" was given the type:13861387        # type: dynamic(atom())1388        # from: lib/mix/tasks/ecto.create.ex:37:71389        Mix.Ecto.ensure_repo(repo, args)13901391    hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()13921393    type warning found at:1394    │1395 38 │       ensure_implements(repo.__adapter__, Ecto.Adapter.Storage,1396    │                              ~1397    │1398    └─ lib/mix/tasks/ecto.create.ex:38:30: Mix.Tasks.Ecto.Create.run/113991400    warning: Mix.Project.compile/1 is deprecated. Use Mix.Task.run("compile", args) instead1401    │1402 62 │       Mix.Project.compile(args)1403    │                   ~1404    │1405    └─ lib/mix/ecto.ex:62:19: Mix.Ecto.ensure_repo/214061407     warning: expected a module (an atom) when invoking start_link/1 in expression:14081409         repo.start_link(pool_size: pool_size)14101411     where "pool_size" was given the type:14121413         # type: dynamic()1414         # from: lib/mix/ecto.ex:101:151415         pool_size = Keyword.get(opts, :pool_size, 1)14161417     where "repo" was given the type:14181419         # type: dynamic(%{..., __adapter__: atom()})1420         # from: lib/mix/ecto.ex:99:361421         repo.__adapter__.ensure_all_started(repo, :temporary)14221423     type warning found at:1424     │1425 102 │     case repo.start_link(pool_size: pool_size) do1426     │               ~1427     │1428     └─ lib/mix/ecto.ex:102:15: Mix.Ecto.ensure_started/214291430     warning: Logger.remove_backend/1 is deprecated. Use LoggerBackends.remove/2 from :logger_backends dependency1431     │1432 146 │     Logger.remove_backend(:console)1433     │            ~1434     │1435     └─ lib/mix/ecto.ex:146:12: Mix.Ecto.restart_apps_if_migrated/214361437     warning: Logger.add_backend/2 is deprecated. Use LoggerBackends.add/2 from :logger_backends dependency1438     │1439 155 │     Logger.add_backend(:console, flush: true)1440     │            ~1441     │1442     └─ lib/mix/ecto.ex:155:12: Mix.Ecto.restart_apps_if_migrated/214431444     warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1445     │1446 856 │       not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->1447     │                                                                              ~1448     │1449     └─ lib/ecto/association.ex:856:78: Ecto.Association.ManyToMany.after_compile_validation/21450     └─ lib/ecto/association.ex:860:45: Ecto.Association.ManyToMany.after_compile_validation/214511452    warning: incompatible types given to get_source/1:14531454        get_source(repo)14551456    given types:14571458        -dynamic(atom())-14591460    but expected one of:14611462        %{..., config: empty_list() or non_empty_list(term(), term())}14631464    where "repo" was given the type:14651466        # type: dynamic(atom())1467        # from: lib/ecto/migration/schema_migration.ex:24:131468        repo.all(1469          Map.put(1470            (1471              query =1472                (1473                  query = {get_source(repo), Ecto.Migration.SchemaMigration}1474                  Ecto.Query.Builder.From.apply(query, 1)1475                )1476        1477              Ecto.Query.Builder.Select.apply(query, %Ecto.Query.SelectExpr{1478                ...,1479                expr: {{:., [], [{:&, [], [0]}, :version]}, [], []},1480                file: "/work/proj/deps/ecto/lib/ecto/migration/schema_migration.ex",1481                line: 22,1482                take: %{}1483              })1484            ),1485            :prefix,1486            prefix1487          ), timeout: :infinity, log: false)14881489    type warning found at:1490    │1491 22 │     from(p in {get_source(repo), __MODULE__}, select: p.version)1492    │                ~1493    │1494    └─ lib/ecto/migration/schema_migration.ex:22:16: Ecto.Migration.SchemaMigration.migrated_versions/214951496    warning: incompatible types given to get_source/1:14971498        get_source(repo)14991500    given types:15011502        -dynamic(atom())-15031504    but expected one of:15051506        %{..., config: empty_list() or non_empty_list(term(), term())}15071508    where "repo" was given the type:15091510        # type: dynamic(atom())1511        # from: lib/ecto/migration/schema_migration.ex:30:131512        repo.insert!(1513          Ecto.put_meta(%Ecto.Migration.SchemaMigration{..., version: version},1514            prefix: prefix,1515            source: get_source(repo)1516          ), timeout: :infinity, log: false)15171518    type warning found at:1519    │1520 29 │     |> Ecto.put_meta(prefix: prefix, source: get_source(repo))1521    │                                              ~1522    │1523    └─ lib/ecto/migration/schema_migration.ex:29:46: Ecto.Migration.SchemaMigration.up/315241525    warning: incompatible types given to get_source/1:15261527        get_source(repo)15281529    given types:15301531        -dynamic(atom())-15321533    but expected one of:15341535        %{..., config: empty_list() or non_empty_list(term(), term())}15361537    where "repo" was given the type:15381539        # type: dynamic(atom())1540        # from: lib/ecto/migration/schema_migration.ex:36:131541        repo.delete_all(1542          Map.put(1543            (1544              query =1545                (1546                  query = {get_source(repo), Ecto.Migration.SchemaMigration}1547                  Ecto.Query.Builder.From.apply(query, 1)1548                )1549        1550              Ecto.Query.Builder.Filter.apply(query, :where, %Ecto.Query.BooleanExpr{1551                expr: {:==, [], [{{:., [], [{:&, [], [0]}, :version]}, [], []}, {:^, [], [0]}]},1552                op: :and,1553                params: [{Ecto.Query.Builder.not_nil!(version), {0, :version}}],1554                file: "/work/proj/deps/ecto/lib/ecto/migration/schema_migration.ex",1555                line: 341556              })1557            ),1558            :prefix,1559            prefix1560          ), timeout: :infinity, log: false)15611562    type warning found at:1563    │1564 34 │     from(p in {get_source(repo), __MODULE__}, where: p.version == ^version)1565    │                ~1566    │1567    └─ lib/ecto/migration/schema_migration.ex:34:16: Ecto.Migration.SchemaMigration.down/315681569      warning: this clause of defp type_to_module/1 is never used (or it will always fail/warn when invoked)1570      │1571 1422 │   defp type_to_module(:naive_datetime), do: NaiveDateTime1572      │        ~1573      │1574      └─ lib/ecto/schema.ex:1422:8: Ecto.Schema.type_to_module/115751576     warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1577     │1578 715 │       not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->1579     │                                                                              ~1580     │1581     └─ lib/ecto/association.ex:715:78: Ecto.Association.BelongsTo.after_compile_validation/215821583     warning: the following conditional expression:15841585         is_atom(related)15861587     will always evaluate to:15881589         dynamic(true)15901591     where "related" was given the type:15921593         # type: dynamic(atom())1594         # from: lib/ecto/association.ex:730:151595         related = Ecto.Association.related_from_query(queryable)15961597     type warning found at:1598     │1599 732 │     unless is_atom(related) do1600     │     ~~~~~~~~~~~~~~~~~~~~~~~~~~1601     │1602     └─ lib/ecto/association.ex:732: Ecto.Association.BelongsTo.struct/316031604      warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1605      │1606 1885 │         if Code.ensure_compiled?(type) and function_exported?(type, :type, 0) do1607      │                 ~1608      │1609      └─ lib/ecto/schema.ex:1885:17: Ecto.Schema.check_type!/316101611     warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1612     │1613 430 │       not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->1614     │                                                                              ~1615     │1616     └─ lib/ecto/association.ex:430:78: Ecto.Association.Has.after_compile_validation/216171618     warning: the following clause will never match:16191620         {:error, _} = error ->16211622     because it attempts to match on the result of:16231624         apply(changeset, adapter, :insert, args)16251626     which has type:16271628         dynamic({:invalid or :ok, term()})16291630     type warning found at:1631     │1632 219 │           {:error, _} = error ->1633     │                       ~1634     │1635     └─ lib/ecto/repo/schema.ex:219:23: Ecto.Repo.Schema.do_insert/416361637    warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead1638    │1639 29 │     surround_many("#Ecto.Query<", list, ">", opts, fn str, _ -> str end)1640    │     ~1641    │1642    └─ lib/ecto/query/inspect.ex:29:5: Inspect.Ecto.Query.inspect/216431644     warning: Macro.to_string/2 is deprecated. Use Macro.to_string/1 instead1645     │1646 144 │     Macro.to_string(expr, &expr_to_string(&1, &2, names, part))1647     │           ~1648     │1649     └─ lib/ecto/query/inspect.ex:144:11: Inspect.Ecto.Query.expr/316501651     warning: the following clause will never match:16521653         {:error, _} = error ->16541655     because it attempts to match on the result of:16561657         apply(changeset, adapter, action, args)16581659     which has type:16601661         dynamic({:invalid or :ok, term()})16621663     type warning found at:1664     │1665 297 │             {:error, _} = error ->1666     │                         ~1667     │1668     └─ lib/ecto/repo/schema.ex:297:25: Ecto.Repo.Schema.do_update/416691670    warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1671    │1672 54 │       filter_and_reraise e, System.stacktrace1673    │                                    ~1674    │1675    └─ lib/ecto/repo/preloader.ex:54:36: Ecto.Repo.Preloader.normalize_and_preload_each/516761677    warning: Map.size/1 is deprecated. Use Kernel.map_size/1 instead1678    │1679 44 │     index  = Map.size(params)1680    │                  ~1681    │1682    └─ lib/ecto/query/builder.ex:44:18: Ecto.Query.Builder.escape/51683    └─ lib/ecto/query/builder.ex:53:17: Ecto.Query.Builder.escape/516841685     warning: Decimal.minus/1 is deprecated. Use Decimal.negate/1 instead1686     │1687 614 │     Decimal.minus(decimal)1688     │             ~1689     │1690     └─ lib/ecto/query/builder.ex:614:13: Ecto.Query.Builder.negate!/116911692     warning: BadStructError.exception/1 is undefined (module BadStructError is not available or is yet to be defined). Make sure the module name is correct and has been specified in full (or that an alias has been defined)1693     │1694 228 │         raise BadStructError, struct: struct, term: data1695     │         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1696     │1697     └─ lib/ecto/repo/queryable.ex:228: Ecto.Repo.Queryable.process/516981699     warning: the following clause will never match:17001701         {:error, _} ->17021703     because it attempts to match on the result of:17041705         NaiveDateTime.new(date, time)17061707     which has type:17081709         dynamic({:ok, %NaiveDateTime{}})17101711     type warning found at:1712     │1713 803 │         {:error, _} -> :error1714     │         ~~~~~~~~~~~~~~~~~~~~~1715     │1716     └─ lib/ecto/type.ex:803: Ecto.Type.cast_naive_datetime/117171718     warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1719     │1720 214 │       filter_and_reraise e, System.stacktrace1721     │                                    ~1722     │1723     └─ lib/ecto/query/planner.ex:214:36: Ecto.Query.Planner.prepare/41724     └─ lib/ecto/query/planner.ex:709:36: Ecto.Query.Planner.normalize/417251726     warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1727     │1728 159 │         supervise(children, strategy: :one_for_one)1729     │         ~1730     │1731     └─ lib/ecto/repo/supervisor.ex:159:9: Ecto.Repo.Supervisor.init/117321733      warning: expected a map or struct when accessing .__struct__ in expression:17341735          schema.__struct__17361737      where "schema" was given the types:17381739          # type: dynamic(atom() and not nil)1740          # from: lib/ecto/query/planner.ex:1186:411741          schema17421743          # type: atom()1744          # from: lib/ecto/query/planner.ex:1186:611745          is_atom(schema)17461747      hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()17481749      type warning found at:1750      │1751 1190 │       Map.has_key?(schema.__struct__, field) ->1752      │                           ~1753      │1754      └─ lib/ecto/query/planner.ex:1190:27: Ecto.Query.Planner.type!/617551756    warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead1757    │1758 15 │     surround_many("dynamic(", [Macro.to_string(binding), inspected], ")", opts, fn str, _ -> str end)1759    │     ~1760    │1761    └─ lib/ecto/query/inspect.ex:15:5: Inspect.Ecto.Query.DynamicExpr.inspect/217621763    warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead1764    │1765 12 │       worker(Ecto.Migration.Runner, [], restart: :temporary)1766    │       ~1767    │1768    └─ lib/ecto/migration/supervisor.ex:12:7: Ecto.Migration.Supervisor.init/117691770    warning: incompatible types given to Ecto.Migration.SchemaMigration.migrated_versions/2:17711772        Ecto.Migration.SchemaMigration.migrated_versions(repo, opts[:prefix])17731774    given types:17751776        (1777          -dynamic(%{..., __adapter__: term(), config: empty_list() or non_empty_list(term(), term())})-,1778          dynamic()1779        )17801781    but expected one of:17821783        atom(), term()17841785    where "opts" was given the type:17861787        # type: dynamic(1788          %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or1789            non_struct_map()1790        )1791        # from: lib/ecto/migrator.ex:44:651792        opts[:prefix]17931794    where "repo" was given the type:17951796        # type: dynamic(%{..., __adapter__: term(), config: empty_list() or non_empty_list(term(), term())})1797        # from: lib/ecto/migrator.ex:44:231798        Ecto.Migration.SchemaMigration.ensure_schema_migrations_table!(repo, opts[:prefix])17991800    type warning found at:1801    │1802 45 │       SchemaMigration.migrated_versions(repo, opts[:prefix])1803    │                       ~1804    │1805    └─ lib/ecto/migrator.ex:45:23: Ecto.Migrator.migrated_versions/218061807    warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1808    │1809 15 │     supervise(children, strategy: :simple_one_for_one)1810    │     ~1811    │1812    └─ lib/ecto/migration/supervisor.ex:15:5: Ecto.Migration.Supervisor.init/118131814     warning: expected a module (an atom) when invoking transaction/2 in expression:18151816         repo.transaction(fun, log: false, timeout: :infinity)18171818     where "fun" was given the type:18191820         # type: dynamic()1821         # from: lib/ecto/migrator.ex:114:471822         fun18231824     where "repo" was given the types:18251826         # type: dynamic(%{..., __adapter__: %{..., supports_ddl_transaction?: term()}})1827         # from: lib/ecto/migrator.ex:118:241828         repo.__adapter__.supports_ddl_transaction?18291830         # type: dynamic(%{..., __adapter__: %{..., supports_ddl_transaction?: not false and not nil}})1831         # from: lib/ecto/migrator.ex:118:241832         repo.__adapter__.supports_ddl_transaction?18331834     type warning found at:1835     │1836 119 │         repo.transaction(fun, [log: false, timeout: :infinity])1837     │              ~1838     │1839     └─ lib/ecto/migrator.ex:119:14: Ecto.Migrator.run_maybe_in_transaction/318401841     warning: Code.load_file/1 is deprecated. Use Code.require_file/2 or Code.compile_file/2 instead1842     │1843 291 │     modules = Code.load_file(file)1844     │                    ~1845     │1846     └─ lib/ecto/migrator.ex:291:20: Ecto.Migrator.extract_module/218471848     warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1849     │1850 321 │         reraise error, System.stacktrace1851     │                               ~1852     │1853     └─ lib/ecto/migrator.ex:321:31: Ecto.Migrator.verbose_schema_migration/318541855    warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1856    │1857 10 │       worker(Ecto.Registry, []),1858    │       ~1859    │1860    └─ lib/ecto/application.ex:10:7: Ecto.Application.start/218611862    warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1863    │1864 11 │       supervisor(Ecto.Migration.Supervisor, [])1865    │       ~1866    │1867    └─ lib/ecto/application.ex:11:7: Ecto.Application.start/218681869Generated ecto app1870==> phoenix_ecto1871Compiling 6 files (.ex)1872    warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1873    │1874 10 │     supervise([1875    │     ~1876    │1877    └─ lib/phoenix_ecto/sql/sandbox_supervisor.ex:10:5: Phoenix.Ecto.SQL.SandboxSupervisor.init/118781879    warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead1880    │1881 11 │       worker(Phoenix.Ecto.SQL.SandboxSession, [], restart: :temporary)1882    │       ~1883    │1884    └─ lib/phoenix_ecto/sql/sandbox_supervisor.ex:11:7: Phoenix.Ecto.SQL.SandboxSupervisor.init/118851886    warning: function actions/1 required by protocol Plug.Exception is not implemented (in module Plug.Exception.Ecto.SubQueryError)1887    │1888 20 │   defimpl Plug.Exception, for: Ecto.SubQueryError do1889    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1890    │1891    └─ lib/phoenix_ecto/plug.ex:20: Plug.Exception.Ecto.SubQueryError (module)18921893    warning: function actions/1 required by protocol Plug.Exception is not implemented (in module Plug.Exception.Ecto.InvalidChangesetError)1894    │1895 13 │     defimpl Plug.Exception, for: exception do1896    │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1897    │1898    └─ lib/phoenix_ecto/plug.ex:13: Plug.Exception.Ecto.InvalidChangesetError (module)18991900    warning: function actions/1 required by protocol Plug.Exception is not implemented (in module Plug.Exception.Ecto.StaleEntryError)1901    │1902 13 │     defimpl Plug.Exception, for: exception do1903    │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1904    │1905    └─ lib/phoenix_ecto/plug.ex:13: Plug.Exception.Ecto.StaleEntryError (module)19061907    warning: function actions/1 required by protocol Plug.Exception is not implemented (in module Plug.Exception.Ecto.NoResultsError)1908    │1909 13 │     defimpl Plug.Exception, for: exception do1910    │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1911    │1912    └─ lib/phoenix_ecto/plug.ex:13: Plug.Exception.Ecto.NoResultsError (module)19131914    warning: function actions/1 required by protocol Plug.Exception is not implemented (in module Plug.Exception.Ecto.CastError)1915    │1916 13 │     defimpl Plug.Exception, for: exception do1917    │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1918    │1919    └─ lib/phoenix_ecto/plug.ex:13: Plug.Exception.Ecto.CastError (module)19201921    warning: function actions/1 required by protocol Plug.Exception is not implemented (in module Plug.Exception.Ecto.Query.CastError)1922    │1923 13 │     defimpl Plug.Exception, for: exception do1924    │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1925    │1926    └─ lib/phoenix_ecto/plug.ex:13: Plug.Exception.Ecto.Query.CastError (module)19271928    warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1929    │1930 13 │       supervisor(Phoenix.Ecto.SQL.SandboxSupervisor, [])1931    │       ~1932    │1933    └─ lib/phoenix_ecto.ex:13:7: Phoenix.Ecto.start/219341935Generated phoenix_ecto app1936==> guardian_db1937Compiling 5 files (.ex)1938     warning: Application.get_env/3 is discouraged in the module body, use Application.compile_env/3 instead1939     │1940 111 │   config = Application.get_env(:guardian, Guardian.DB, [])1941     │                        ~1942     │1943     └─ lib/guardian/db.ex:111:24: Guardian.DB (module)19441945    warning: Module.eval_quoted/2 is deprecated. Use Code.eval_quoted/3 instead1946    │1947 15 │   schema "virtual: token" do1948    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~1949    │1950    └─ lib/guardian/db/token.ex:15: Guardian.DB.Token (module)195119521953== Compilation error in file lib/guardian/db.ex ==1954** (RuntimeError) Guardian.DB configuration is required1955    lib/guardian/db.ex:114: (module)1956could not compile dependency :guardian_db, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile guardian_db --force", update it with "mix deps.update guardian_db" or clean it with "mix deps.clean guardian_db"