servicex

Build log

nerves_system_x86_64

servicex 0.1.2 · fail · run servicex-0.1.2-1791099550611
1908 of 1908 lines
1Resolving Hex dependencies...2Resolution completed in 0.23s3Unchanged:4  bcrypt_elixir 1.1.15  circular_buffer 1.1.06  combine 0.10.07  comeonin 4.1.28  connection 1.0.49  cowboy 1.1.2 VULNERABLE!10    GHSA-w4f7-4cxr-rv3c (MEDIUM)11    aka: CVE-2026-43966, EEF-CVE-2026-4396612    cowboy and gun affected by an HTTP Request/Response Splitting vulnerability13    https://osv.dev/vulnerability/GHSA-w4f7-4cxr-rv3c14  cowlib 1.0.2 VULNERABLE!15    EEF-CVE-2026-7790 (HIGH)16    aka: CVE-2026-7790, GHSA-32p9-57cr-4x6517    Unbounded chunk-size hex digits in cowlib cause quadratic CPU and memory DoS18    https://osv.dev/vulnerability/EEF-CVE-2026-77901920    EEF-CVE-2026-43970 (HIGH)21    aka: CVE-2026-43970, GHSA-84f2-rp86-235p22    Decompression Bomb in cow_spdy:inflate/2 Allows Memory Exhaustion via Crafted SPDY Frame23    https://osv.dev/vulnerability/EEF-CVE-2026-4397024  db_connection 1.1.325  decimal 1.9.0 VULNERABLE!26    EEF-CVE-2026-32686 (MEDIUM)27    aka: CVE-2026-32686, GHSA-rhv4-8758-jx7v28    Unbounded exponent in decimal enables unauthenticated DoS29    https://osv.dev/vulnerability/EEF-CVE-2026-3268630  ecto 2.2.1231  elixir_make 0.10.032  expo 1.1.133  gettext 0.26.234  guardian 1.2.1 VULNERABLE!35    EEF-CVE-2026-54894 (MEDIUM)36    aka: CVE-2026-54894, GHSA-xqch-c77q-rgh537    Atom-table exhaustion denial of service in Guardian via unbounded atom creation from binary keys38    https://osv.dev/vulnerability/EEF-CVE-2026-548943940    EEF-CVE-2026-55735 (HIGH)41    aka: CVE-2026-55735, GHSA-7975-hp3r-5qhv42    Guardian.revoke/3 acts on unverified token claims, allowing forged-token session revocation43    https://osv.dev/vulnerability/EEF-CVE-2026-5573544  guardian_db 1.1.045  interactive_cmd 0.1.446  jose 1.11.1247  mime 2.0.748  nerves 2.0.0-pre.249  nerves_discovery 0.1.550  nerves_logging 0.2.451  nerves_runtime 0.13.1352  nerves_system_bbb 2.30.253  nerves_system_br 1.34.454  nerves_system_mangopi_mq_pro 0.17.255  nerves_system_qemu_aarch64 0.4.256  nerves_system_rpi0 2.1.257  nerves_system_rpi4 2.1.258  nerves_system_rpi5 2.1.259  nerves_system_trellis 0.5.060  nerves_system_x86_64 1.34.261  nerves_toolchain_aarch64_nerves_linux_gnu 15.3.162  nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.163  nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.164  nerves_toolchain_riscv64_nerves_linux_gnu 15.3.165  nerves_toolchain_x86_64_nerves_linux_musl 15.3.166  nerves_uevent 0.1.767  phoenix 1.3.5 VULNERABLE!68    GHSA-p8f7-22gq-m7j9 (HIGH)69    aka: CVE-2022-4297570    Phoenix before 1.6.14 mishandles check_origin wildcarding71    https://osv.dev/vulnerability/GHSA-p8f7-22gq-m7j97273    EEF-CVE-2026-56812 (MEDIUM)74    aka: CVE-2026-56812, GHSA-63mc-hw7g-86rr75    Phoenix JavaScript presence client crashes on presence keys colliding with Object.prototype members in Presence.syncState/syncDiff76    https://osv.dev/vulnerability/EEF-CVE-2026-568127778    EEF-CVE-2026-56811 (HIGH)79    aka: CVE-2026-56811, GHSA-6983-jfq8-485w80    Phoenix transports do not limit channel joins per connection, enabling process-exhaustion denial of service81    https://osv.dev/vulnerability/EEF-CVE-2026-5681182  phoenix_ecto 3.6.083  phoenix_html 2.14.3 VULNERABLE!84    GHSA-5g2h-9x5v-5h3x (MEDIUM)85    aka: CVE-2021-46871, GHSA-j3gg-r6gp-95q286    phoenix_html allows Cross-site Scripting in HEEx class attributes87    https://osv.dev/vulnerability/GHSA-5g2h-9x5v-5h3x88  phoenix_pubsub 1.1.289  plug 1.20.390  plug_crypto 2.2.091  poison 3.1.092  poolboy 1.5.293  postgrex 0.13.594  property_table 0.3.495  ranch 1.3.296  ring_logger 0.11.797  servicex 0.1.298  tablet 0.3.399  telemetry 1.4.2100  timex 3.7.13101  toolshed 0.5.0102  tzdata 1.2.2103  uboot_env 1.0.2104* Getting servicex (Hex package)105* Getting nerves (Hex package)106* Getting ring_logger (Hex package)107* Getting toolshed (Hex package)108* Getting nerves_runtime (Hex package)109* Getting nerves_system_bbb (Hex package)110* Getting nerves_system_mangopi_mq_pro (Hex package)111* Getting nerves_system_qemu_aarch64 (Hex package)112* Getting nerves_system_rpi0 (Hex package)113* Getting nerves_system_rpi4 (Hex package)114* Getting nerves_system_rpi5 (Hex package)115* Getting nerves_system_trellis (Hex package)116* Getting nerves_system_x86_64 (Hex package)117* Getting nerves_system_br (Hex package)118* Getting nerves_toolchain_x86_64_nerves_linux_musl (Hex package)119* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)120* Getting nerves_toolchain_aarch64_nerves_linux_gnu (Hex package)121* Getting nerves_toolchain_armv6_nerves_linux_gnueabihf (Hex package)122* Getting nerves_toolchain_riscv64_nerves_linux_gnu (Hex package)123* Getting nerves_logging (Hex package)124* Getting nerves_uevent (Hex package)125* Getting uboot_env (Hex package)126* Getting elixir_make (Hex package)127* Getting property_table (Hex package)128* Getting circular_buffer (Hex package)129* Getting interactive_cmd (Hex package)130* Getting nerves_discovery (Hex package)131* Getting tablet (Hex package)132* Getting bcrypt_elixir (Hex package)133* Getting comeonin (Hex package)134* Getting cowboy (Hex package)135* Getting gettext (Hex package)136* Getting guardian (Hex package)137* Getting guardian_db (Hex package)138* Getting phoenix (Hex package)139* Getting phoenix_ecto (Hex package)140* Getting phoenix_html (Hex package)141* Getting phoenix_pubsub (Hex package)142* Getting poison (Hex package)143* Getting postgrex (Hex package)144* Getting timex (Hex package)145* Getting combine (Hex package)146* Getting tzdata (Hex package)147* Getting connection (Hex package)148* Getting db_connection (Hex package)149* Getting decimal (Hex package)150* Getting plug (Hex package)151* Getting mime (Hex package)152* Getting plug_crypto (Hex package)153* Getting telemetry (Hex package)154* Getting ecto (Hex package)155* Getting poolboy (Hex package)156* Getting jose (Hex package)157* Getting expo (Hex package)158* Getting cowlib (Hex package)159* Getting ranch (Hex package)160Found packages with security advisories, see above for details161    warning: String.strip/1 is deprecated. Use String.trim/1 instead162    │163  4 │   @version File.read!("VERSION") |> String.strip164    │                                            ~165    │166    └─ /work/proj/deps_x86_64/poison/mix.exs:4:44: Poison.Mixfile (module)167168    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 quotes169    │170 79 │       "test": ["ecto.drop", "ecto.create --quiet", "ecto.migrate", "run priv/repo/seeds.exs", "test"]171    │       ~172    │173    └─ /work/proj/deps_x86_64/servicex/mix.exs:79:7174175==> comeonin176Compiling 2 files (.ex)177Generated comeonin app178warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"179  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2180  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1181  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5182  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2183  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4184  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2185186==> phoenix187Compiling 75 files (.ex)188     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 operator189     │190 170 │       <<attr::size(prefix)-binary, ":unique">> -> attr191     │                    ~192     │193     └─ lib/mix/phoenix/schema.ex:170:20: Mix.Phoenix.Schema.drop_unique/1194195     warning: using single-quoted strings to represent charlists is deprecated.196     Use ~c"" if you indeed want a charlist or use "" instead.197     You may run "mix format --migrate" to change all single-quoted198     strings to use the ~c sigil and fix this warning.199     │200 310 │     :error_logger.warning_msg('~p ~p received unexpected message in handle_info/2: ~p~n',201     │                               ~202     │203     └─ lib/phoenix/channel/server.ex:310:31204205    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead206    │207 39 │             Logger.warn "Phoenix is unable to create symlinks. Phoenix' code reloader will run " <>208    │                    ~209    │210    └─ lib/phoenix/code_reloader/server.ex:39:20: Phoenix.CodeReloader.Server.handle_call/3211212    warning: unused require Logger213    │214 20 │   require Logger215    │   ~216    │217    └─ lib/phoenix/endpoint/handler.ex:20:3218219    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead220    │221 39 │       Logger.warn """222    │              ~223    │224    └─ lib/phoenix/endpoint/supervisor.ex:39:14: Phoenix.Endpoint.Supervisor.init/1225226    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 operator227    │228 46 │       <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix229    │                             ~230    │231    └─ lib/phoenix/naming.ex:46:29: Phoenix.Naming.unsuffix/2232233     warning: using single-quoted strings to represent charlists is deprecated.234     Use ~c"" if you indeed want a charlist or use "" instead.235     You may run "mix format --migrate" to change all single-quoted236     strings to use the ~c sigil and fix this warning.237     │238 315 │   @anno (if :erlang.system_info(:otp_release) >= '19' do239     │                                                  ~240     │241     └─ lib/phoenix/router.ex:315:50242243     warning: using single-quoted strings to represent charlists is deprecated.244     Use ~c"" if you indeed want a charlist or use "" instead.245     You may run "mix format --migrate" to change all single-quoted246     strings to use the ~c sigil and fix this warning.247     │248 195 │   @anno (if :erlang.system_info(:otp_release) >= '19' do249     │                                                  ~250     │251     └─ lib/phoenix/router/helpers.ex:195:50252253    warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.254255    This error happens when you have function calls without parentheses inside keywords. For example:256257        function(arg, one: nested_call a, b, c)258        function(arg, one: if expr, do: :this, else: :that)259260    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:261262        function(arg, one: if(expr, do: :this, else: :that))263        function(arg, one: nested_call(a, b, c))264265    Ambiguity found at:266    │267 71 │     unless actions -- supported_actions == [], do: raise ArgumentError, """268    │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~269    │270    └─ lib/phoenix/router/resource.ex:71271272    warning: duplicate key :route found in struct273    │274 24 │   defstruct [:path, :actions, :param, :route, :controller, :route, :member, :collection, :singleton]275    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~276    │277    └─ lib/phoenix/router/resource.ex:24: Phoenix.Router.Resource (module)278279     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead280     │281 885 │       Logger.warn "send_download/3 has been invoked during an AJAX request. " <>282     │              ~283     │284     └─ lib/phoenix/controller.ex:885:14: Phoenix.Controller.warn_if_ajax/1285286     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)"287     │288 110 │   @callback start_link(Keyword.t) :: {:ok, pid()} | {:error, reason :: term()} :: :ignore289     │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~290     │291     └─ lib/phoenix/presence.ex:110: Phoenix.Presence (module)292293     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead294     │295 304 │     Logger.warn fn -> "Ignoring unmatched topic \"#{msg.topic}\" in #{inspect(socket.handler)}" end296     │            ~297     │298     └─ lib/phoenix/socket/transport.ex:304:12: Phoenix.Socket.Transport.reply_ignore/2299300     warning: using single-quoted strings to represent charlists is deprecated.301     Use ~c"" if you indeed want a charlist or use "" instead.302     You may run "mix format --migrate" to change all single-quoted303     strings to use the ~c sigil and fix this warning.304     │305 174 │   @anno (if :erlang.system_info(:otp_release) >= '19' do306     │                                                  ~307     │308     └─ lib/phoenix/template.ex:174:50309310     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead311     │312 227 │     Logger.warn ":max_age was not set on Phoenix.Token.verify/4. " <>313     │            ~314     │315     └─ lib/phoenix/token.ex:227:12: Phoenix.Token.expired?/2316317     warning: expected a module (an atom) when invoking config/1 in expression:318319         endpoint.config(:endpoint_id)320321     where "endpoint" was given the type:322323         # type: dynamic(%{..., __pubsub_server__: atom()})324         # from: lib/phoenix/transports/long_poll.ex:199:10325         verify_token(endpoint, token, opts)326327     type warning found at:328     │329 201 │         server_ref = server_ref(endpoint.config(:endpoint_id), id, pid, priv_topic)330     │                                          ~331     │332     └─ lib/phoenix/transports/long_poll.ex:201:42: Phoenix.Transports.LongPoll.resume_session/3333334     warning: unknown key .__pubsub_server__ in expression:335336         endpoint.__pubsub_server__337338     the given type does not have the given key:339340         dynamic(341           %Phoenix.Socket{342             id: term(),343             assigns: term(),344             channel: term(),345             channel_pid: term(),346             endpoint: atom(),347             handler: term(),348             joined: term(),349             pubsub_server: term(),350             ref: term(),351             join_ref: term(),352             topic: term(),353             transport: term(),354             transport_pid: term(),355             transport_name: term(),356             serializer: term(),357             private: term(),358             vsn: term()359           } or360             %Plug.Conn{361               adapter: term(),362               assigns: term(),363               body_params: term(),364               cookies: term(),365               halted: term(),366               host: term(),367               method: term(),368               owner: term(),369               params: term(),370               path_info: term(),371               path_params: term(),372               port: term(),373               private: term(),374               query_params: term(),375               query_string: term(),376               remote_ip: term(),377               req_cookies: term(),378               req_headers: term(),379               request_path: term(),380               resp_body: term(),381               resp_cookies: term(),382               resp_headers: term(),383               scheme: term(),384               script_name: term(),385               secret_key_base: term(),386               state: term(),387               status: term()388             } or atom() or binary()389         )390391     where "endpoint" was given the type:392393         # type: dynamic(%Phoenix.Socket{endpoint: atom()} or %Plug.Conn{} or atom() or binary())394         # from: lib/phoenix/transports/long_poll.ex:254:19395         Phoenix.Token.sign(endpoint, Atom.to_string(endpoint.__pubsub_server__), data, opts[:crypto])396397     type warning found at:398     │399 254 │     Phoenix.Token.sign(endpoint, Atom.to_string(endpoint.__pubsub_server__), data, opts[:crypto])400     │                                                          ~~~~~~~~~~~~~~~~~401     │402     └─ lib/phoenix/transports/long_poll.ex:254:58: Phoenix.Transports.LongPoll.sign_token/3403404    warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead405    │406 12 │       worker(Phoenix.Transports.LongPoll.Server, [], restart: :temporary)407    │       ~408    │409    └─ lib/phoenix/transports/long_poll_server.ex:12:7: Phoenix.Transports.LongPoll.Supervisor.init/1410411    warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead412    │413 14 │     supervise(children, strategy: :simple_one_for_one)414    │     ~415    │416    └─ lib/phoenix/transports/long_poll_server.ex:14:5: Phoenix.Transports.LongPoll.Supervisor.init/1417418    warning: @behaviour :cowboy_websocket_handler does not exist (in module Phoenix.Endpoint.CowboyWebSocket)419    │420  1 │ defmodule Phoenix.Endpoint.CowboyWebSocket do421    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~422    │423    └─ lib/phoenix/endpoint/cowboy_websocket.ex:1: Phoenix.Endpoint.CowboyWebSocket (module)424425     warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead426     │427 647 │       exception -> {:error, {exception, System.stacktrace()}}428     │                                                ~429     │430     └─ lib/phoenix/test/conn_test.ex:647:48: Phoenix.ConnTest.wrap_request/1431432    warning: Plug.Adapters.Cowboy.Conn.conn/2 is undefined (module Plug.Adapters.Cowboy.Conn is not available or is yet to be defined)433    │434 10 │     conn = @connection.conn(req, transport)435    │                        ~436    │437    └─ lib/phoenix/endpoint/cowboy_websocket.ex:10:24: Phoenix.Endpoint.CowboyWebSocket.init/3438439    warning: :cowboy_req.compact/1 is undefined (module :cowboy_req is not available or is yet to be defined)440    │441 73 │     {:ok, :cowboy_req.compact(req), {handler, state}, timeout}442    │                       ~443    │444    └─ lib/phoenix/endpoint/cowboy_websocket.ex:73:23: Phoenix.Endpoint.CowboyWebSocket.websocket_init/3445446    warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead447    │448 23 │         {:upgrade, :protocol, __MODULE__, req, {:error, mfa, kind, reason, System.stacktrace}}449    │                                                                                   ~450    │451    └─ lib/phoenix/endpoint/cowboy_websocket.ex:23:83: Phoenix.Endpoint.CowboyWebSocket.init/3452453     warning: Plug.Crypto.safe_binary_to_term/1 is undefined or private454     │455 176 │         %{data: data, signed: signed} = Plug.Crypto.safe_binary_to_term(message)456     │                                                     ~457     │458     └─ lib/phoenix/token.ex:176:53: Phoenix.Token.verify/4459460    warning: a struct for Plug.Conn is expected on struct update:461462        %Plug.Conn{conn | state: :sent}463464    but got type:465466        dynamic()467468    where "conn" was given the type:469470        # type: dynamic()471        # from: lib/phoenix/endpoint/render_errors.ex:79:21472        conn473474    when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"475476    type warning found at:477    │478 83 │         %Plug.Conn{conn | state: :sent}479    │         ~480    │481    └─ lib/phoenix/endpoint/render_errors.ex:83:9: Phoenix.Endpoint.RenderErrors.maybe_render/5482483    warning: a struct for Plug.Conn is expected on struct update:484485        %Plug.Conn{conn | query_params: %{}, params: %{}}486487    but got type:488489        dynamic(%{..., params: %Plug.Conn.Unfetched{}})490491    where "conn" was given the types:492493        # type: dynamic(%{..., params: term()})494        # from: lib/phoenix/endpoint/render_errors.ex:94:17495        conn.params496497        # type: dynamic(%{..., params: %Plug.Conn.Unfetched{}})498        # from: lib/phoenix/endpoint/render_errors.ex:94:17499        conn.params500501    when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"502503    type warning found at:504    │505 95 │         %Plug.Conn.Unfetched{} -> %Plug.Conn{conn | query_params: %{}, params: %{}}506    │                                   ~507    │508    └─ lib/phoenix/endpoint/render_errors.ex:95:35: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/1509510    warning: a struct for Plug.Conn is expected on struct update:511512        %Plug.Conn{conn | query_params: %{}, params: params}513514    but got type:515516        dynamic(%{..., params: not %Plug.Conn.Unfetched{}})517518    where "conn" was given the types:519520        # type: dynamic(%{..., params: term()})521        # from: lib/phoenix/endpoint/render_errors.ex:94:17522        conn.params523524        # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})525        # from: lib/phoenix/endpoint/render_errors.ex:94:17526        conn.params527528    when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"529530    type warning found at:531    │532 96 │         params -> %Plug.Conn{conn | query_params: %{}, params: params}533    │                   ~534    │535    └─ lib/phoenix/endpoint/render_errors.ex:96:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/1536537     warning: a struct for Phoenix.Socket is expected on struct update:538539         %Phoenix.Socket{socket | id: id}540541     but got type:542543         dynamic()544545     where "socket" was given the type:546547         # type: dynamic()548         # from: lib/phoenix/socket/transport.ex549         {:ok, socket}550551     when defining the variable "socket", you must also pattern match on "%Phoenix.Socket{}"552553     type warning found at:554     │555 195 │           id when is_binary(id) -> {:ok, %Socket{socket | id: id}}556     │                                          ~557     │558     └─ lib/phoenix/socket/transport.ex:195:42: Phoenix.Socket.Transport.do_connect/7559560     warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead561     │562 198 │       supervisor(Task.Supervisor, [[name: task_supervisor]]),563     │       ~564     │565     └─ lib/phoenix/presence.ex:198:7: Phoenix.Presence.start_link/4566567     warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead568     │569 199 │       worker(Phoenix.Tracker, [module, opts, opts])570     │       ~571     │572     └─ lib/phoenix/presence.ex:199:7: Phoenix.Presence.start_link/4573574     warning: a struct for Plug.Conn is expected on struct update:575576         %Plug.Conn{conn | params: params}577578     but got type:579580         dynamic(%{..., params: map()})581582     where "conn" was given the type:583584         # type: dynamic(%{..., params: map()})585         # from: lib/phoenix/controller.ex:912:17586         Map.get(conn.params, required_key)587588     when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"589590     type warning found at:591     │592 919 │     %Plug.Conn{conn | params: params}593     │     ~594     │595     └─ lib/phoenix/controller.ex:919:5: Phoenix.Controller.scrub_params/2596597     warning: a struct for Plug.Conn is expected on struct update:598599         %Plug.Conn{conn | path_info: path, script_name: script}600601     but got type:602603         dynamic()604605     where "conn" was given the type:606607         # type: dynamic()608         # from: lib/phoenix/router/route.ex:147:10609         conn = target.call(%Plug.Conn{...}, opts)610611     when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"612613     type warning found at:614     │615 148 │     %Plug.Conn{conn | path_info: path, script_name: script}616     │     ~617     │618     └─ lib/phoenix/router/route.ex:148:5: Phoenix.Router.Route.forward/4619620    warning: expected a map or struct when accessing .url in expression:621622        endpoint.url623624    where "endpoint" was given the types:625626        # type: dynamic(atom())627        # from: lib/phoenix/router/helpers.ex:24:20628        endpoint629630        # type: atom()631        # from: lib/phoenix/router/helpers.ex:24:35632        is_atom(endpoint)633634    hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()635636    type warning found at:637    │638 25 │     endpoint.url639    │              ~640    │641    └─ lib/phoenix/router/helpers.ex:25:14: Phoenix.Router.Helpers.url/2642643     warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead644     │645 284 │             Phoenix.PlugError.reraise(piped_conn, :error, reason, System.stacktrace())646     │                                                                          ~647     │648     └─ lib/phoenix/router.ex:284:74: Phoenix.Router.__call__/1649650    warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead651    │652 71 │     supervise(children, strategy: :one_for_one)653    │     ~654    │655    └─ lib/phoenix/endpoint/supervisor.ex:71:5: Phoenix.Endpoint.Supervisor.init/1656657    warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead658    │659 76 │     [worker(Phoenix.Config, args)]660    │      ~661    │662    └─ lib/phoenix/endpoint/supervisor.ex:76:6: Phoenix.Endpoint.Supervisor.config_children/3663664    warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead665    │666 84 │       [supervisor(adapter, [mod.__pubsub_server__(), pub_conf])]667    │        ~668    │669    └─ lib/phoenix/endpoint/supervisor.ex:84:8: Phoenix.Endpoint.Supervisor.pubsub_children/2670    └─ lib/phoenix/endpoint/supervisor.ex:96:8: Phoenix.Endpoint.Supervisor.server_children/3671    └─ lib/phoenix/endpoint/supervisor.ex:97:8: Phoenix.Endpoint.Supervisor.server_children/3672673     warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead674     │675 106 │         worker(Phoenix.Endpoint.Watcher, watcher_args(cmd, args),676     │         ~677     │678     └─ lib/phoenix/endpoint/supervisor.ex:106:9: Phoenix.Endpoint.Supervisor.watcher_children/3679680     warning: expected a module (an atom) when invoking path/1 in expression:681682         endpoint.path("/")683684     where "endpoint" was given the type:685686         # type: dynamic(%{..., host: term()})687         # from: lib/phoenix/endpoint/supervisor.ex:312:14688         endpoint.host689690     type warning found at:691     │692 313 │     endpoint.path("/")693     │              ~694     │695     └─ lib/phoenix/endpoint/supervisor.ex:313:14: Phoenix.Endpoint.Supervisor.warmup/1696697    warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead698    │699 35 │     supervise(children, strategy: :one_for_one)700    │     ~701    │702    └─ lib/phoenix/endpoint/handler.ex:35:5: Phoenix.Endpoint.Handler.init/1703704    warning: Enum.partition/2 is deprecated. Use Enum.split_with/2 instead705    │706 39 │     {config_keywords, config_other} = Enum.partition(config, &keyword_item?/1)707    │                                            ~708    │709    └─ lib/phoenix/endpoint/handler.ex:39:44: Phoenix.Endpoint.Handler.default/3710711    warning: Plug.Adapters.Cowboy.child_spec/4 is deprecated. Use Plug.Cowboy.child_spec/4 instead712    │713 81 │       Plug.Adapters.Cowboy.child_spec(scheme, endpoint, [], config)714    │                            ~715    │716    └─ lib/phoenix/endpoint/cowboy_handler.ex:81:28: Phoenix.Endpoint.CowboyHandler.child_spec/3717718     warning: :ranch.get_addr/1 is undefined (module :ranch is not available or is yet to be defined)719     │720 113 │     {addr,port} = :ranch.get_addr(ref)721     │                          ~722     │723     └─ lib/phoenix/endpoint/cowboy_handler.ex:113:26: Phoenix.Endpoint.CowboyHandler.info/3724725     warning: comparison between distinct types found:726727         !Path.extname(file_path) == ".gz"728729     given types:730731         dynamic(boolean()) == binary()732733     where "file_path" was given the type:734735         # type: dynamic(binary() or empty_list() or non_empty_list(term(), term()))736         # from: lib/phoenix/digester.ex:147:45737         Path.basename(file_path)738739     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 false740741     type warning found at:742     │743 148 │       !Path.extname(file_path) == ".gz"744     │                                ~745     │746     └─ lib/phoenix/digester.ex:148:32: Phoenix.Digester.uncompressed_digested_file?/1747748    warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead749    │750 51 │       worker(Phoenix.CodeReloader.Server, [])751    │       ~752    │753    └─ lib/phoenix.ex:51:7: Phoenix.start/2754755    warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead756    │757 61 │             IO.puts Exception.format(kind, reason, System.stacktrace)758    │                                                           ~759    │760    └─ lib/phoenix/code_reloader/server.ex:61:59: Phoenix.CodeReloader.Server.handle_call/3761762     warning: Enum.partition/2 is deprecated. Use Enum.split_with/2 instead763     │764 155 │     Enum.partition attrs, fn765     │          ~766     │767     └─ lib/mix/tasks/phoenix.gen.model.ex:155:10: Mix.Tasks.Phoenix.Gen.Model.partition_attrs_and_assocs/1768769    warning: expected a map or struct when accessing .__phoenix_recompile__? in expression:770771        mod.__phoenix_recompile__?772773    where "mod" was given the type:774775        # type: dynamic(atom())776        # from: lib/mix/tasks/compile.phoenix.ex:34:12777        Code.ensure_loaded?(mod)778779    hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()780781    type warning found at:782    │783 36 │         mod.__phoenix_recompile__?784    │             ~785    │786    └─ lib/mix/tasks/compile.phoenix.ex:36:13: Mix.Tasks.Compile.Phoenix.modules_for_recompilation/1787788     warning: Enum.partition/2 is deprecated. Use Enum.split_with/2 instead789     │790 234 │       Enum.partition(attrs, fn791     │            ~792     │793     └─ lib/mix/phoenix/schema.ex:234:12: Mix.Phoenix.Schema.partition_attrs_and_assocs/2794795Generated phoenix app796warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"797  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2798  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1799  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5800  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2801  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4802  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2803804==> guardian805Compiling 20 files (.ex)806Generated guardian app807==> phoenix_html808Compiling 8 files (.ex)809    warning: using single-quoted strings to represent charlists is deprecated.810    Use ~c"" if you indeed want a charlist or use "" instead.811    You may run "mix format --migrate" to change all single-quoted812    strings to use the ~c sigil and fix this warning.813    │814 12 │   @anno (if :erlang.system_info(:otp_release) >= '19' do815    │                                                  ~816    │817    └─ lib/phoenix_html/engine.ex:12:50818819    warning: the 1st pattern in clause will never match:820821        60822823    because it is expected to receive type:824825        dynamic(empty_list() or non_empty_list(term(), term()))826827    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())828829    type warning found at:830    │831 56 │   def to_iodata(?<), do: "&lt;"832    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~833    │834    └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/1835836    warning: the 1st pattern in clause will never match:837838        62839840    because it is expected to receive type:841842        dynamic(empty_list() or non_empty_list(term(), term()))843844    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())845846    type warning found at:847    │848 57 │   def to_iodata(?>), do: "&gt;"849    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~850    │851    └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/1852853    warning: the 1st pattern in clause will never match:854855        38856857    because it is expected to receive type:858859        dynamic(empty_list() or non_empty_list(term(), term()))860861    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())862863    type warning found at:864    │865 58 │   def to_iodata(?&), do: "&amp;"866    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~867    │868    └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/1869870    warning: the 1st pattern in clause will never match:871872        34873874    because it is expected to receive type:875876        dynamic(empty_list() or non_empty_list(term(), term()))877878    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())879880    type warning found at:881    │882 59 │   def to_iodata(?"), do: "&quot;"883    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~884    │885    └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/1886887    warning: the 1st pattern in clause will never match:888889        39890891    because it is expected to receive type:892893        dynamic(empty_list() or non_empty_list(term(), term()))894895    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())896897    type warning found at:898    │899 60 │   def to_iodata(?'), do: "&#39;"900    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~901    │902    └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/1903904    warning: the 1st pattern in clause will never match:905906        {:safe, data}907908    because it is expected to receive type:909910        dynamic(empty_list() or non_empty_list(term(), term()))911912    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())913914    type warning found at:915    │916 76 │   def to_iodata({:safe, data}) do917    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~918    │919    └─ lib/phoenix_html/safe.ex:76: Phoenix.HTML.Safe.List.to_iodata/1920921    warning: the following clause is redundant:922923        def to_iodata(other)924925    it has type:926927        dynamic(empty_list() or non_empty_list(term(), term()))928929    previous clauses have already matched on the following types:930931        non_empty_list(term(), term())932        empty_list()933934    │935 80 │   def to_iodata(other) do936    │       ~937    │938    └─ lib/phoenix_html/safe.ex:80:7: Phoenix.HTML.Safe.List.to_iodata/1939940    warning: the 1st pattern in clause will never match:941942        h943944    because it is expected to receive type:945946        dynamic(empty_list() or non_empty_list(term(), term()))947948    where "h" was given the type:949950        # type: integer()951        # from: lib/phoenix_html/safe.ex:62:25952        is_integer(h)953954    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())955956    type warning found at:957    │958 62 │   def to_iodata(h) when is_integer(h) and h <= 255 do959    │                 ~960    │961    └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/1962963    warning: the 1st pattern in clause will never match:964965        h966967    because it is expected to receive type:968969        dynamic(empty_list() or non_empty_list(term(), term()))970971    where "h" was given the type:972973        # type: integer()974        # from: lib/phoenix_html/safe.ex:66:25975        is_integer(h)976977    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())978979    type warning found at:980    │981 66 │   def to_iodata(h) when is_integer(h) do982    │                 ~983    │984    └─ lib/phoenix_html/safe.ex:66:17: Phoenix.HTML.Safe.List.to_iodata/1985986    warning: the 1st pattern in clause will never match:987988        h989990    because it is expected to receive type:991992        dynamic(empty_list() or non_empty_list(term(), term()))993994    where "h" was given the type:995996        # type: binary()997        # from: lib/phoenix_html/safe.ex:72:25998        is_binary(h)9991000    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())10011002    type warning found at:1003    │1004 72 │   def to_iodata(h) when is_binary(h) do1005    │                 ~1006    │1007    └─ lib/phoenix_html/safe.ex:72:17: Phoenix.HTML.Safe.List.to_iodata/110081009Generated phoenix_html app1010warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1011  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21012  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11013  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51014  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21015  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41016  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/210171018==> ecto1019Compiling 70 files (.ex)1020     warning: using single-quoted strings to represent charlists is deprecated.1021     Use ~c"" if you indeed want a charlist or use "" instead.1022     You may run "mix format --migrate" to change all single-quoted1023     strings to use the ~c sigil and fix this warning.1024     │1025 166 │     defp insert_all_value(_),   do: '?'1026     │                                     ~1027     │1028     └─ lib/ecto/adapters/mysql/connection.ex:166:3710291030     warning: using single-quoted strings to represent charlists is deprecated.1031     Use ~c"" if you indeed want a charlist or use "" instead.1032     You may run "mix format --migrate" to change all single-quoted1033     strings to use the ~c sigil and fix this warning.1034     │1035 354 │       '?'1036     │       ~1037     │1038     └─ lib/ecto/adapters/mysql/connection.ex:354:710391040      warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.10411042      This error happens when you have function calls without parentheses inside keywords. For example:10431044          function(arg, one: nested_call a, b, c)1045          function(arg, one: if expr, do: :this, else: :that)10461047      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:10481049          function(arg, one: if(expr, do: :this, else: :that))1050          function(arg, one: nested_call(a, b, c))10511052      Ambiguity found at:1053      │1054 2286 │     raise ArgumentError, "cannot add constraint to changeset because it does not have a source, got: #{inspect data}"1055      │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1056      │1057      └─ lib/ecto/changeset.ex:228610581059     warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.10601061     This error happens when you have function calls without parentheses inside keywords. For example:10621063         function(arg, one: nested_call a, b, c)1064         function(arg, one: if expr, do: :this, else: :that)10651066     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:10671068         function(arg, one: if(expr, do: :this, else: :that))1069         function(arg, one: nested_call(a, b, c))10701071     Ambiguity found at:1072     │1073 265 │     do: raise ArgumentError, "a constraint must have either a check or exclude option"1074     │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1075     │1076     └─ lib/ecto/migration/runner.ex:26510771078     warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.10791080     This error happens when you have function calls without parentheses inside keywords. For example:10811082         function(arg, one: nested_call a, b, c)1083         function(arg, one: if expr, do: :this, else: :that)10841085     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:10861087         function(arg, one: if(expr, do: :this, else: :that))1088         function(arg, one: nested_call(a, b, c))10891090     Ambiguity found at:1091     │1092 267 │     do: raise ArgumentError, "a constraint must not have both check and exclude options"1093     │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1094     │1095     └─ lib/ecto/migration/runner.ex:26710961097     warning: atom ::: must be written between quotes, as in :"::", to avoid ambiguity1098     │1099 136 │       {:::, _, [left, _]} -> is_integer(left) or is_binary(left)1100     │        ~1101     │1102     └─ lib/ecto/query/builder.ex:136:811031104     warning: unknown compiler variable "__" (expected one of __MODULE__, __ENV__, __DIR__, __CALLER__, __STACKTRACE__)1105     │1106 643 │   def quoted_type({:datetime_add, _, [_, _, __]}, _vars), do: :naive_datetime1107     │                                             ~~1108     │1109     └─ lib/ecto/query/builder.ex:643:45: Ecto.Query.Builder.quoted_type/211101111     warning: unknown compiler variable "__" (expected one of __MODULE__, __ENV__, __DIR__, __CALLER__, __STACKTRACE__)1112     │1113 644 │   def quoted_type({:date_add, _, [_, _, __]}, _vars), do: :date1114     │                                         ~~1115     │1116     └─ lib/ecto/query/builder.ex:644:41: Ecto.Query.Builder.quoted_type/211171118     warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.11191120     This error happens when you have function calls without parentheses inside keywords. For example:11211122         function(arg, one: nested_call a, b, c)1123         function(arg, one: if expr, do: :this, else: :that)11241125     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:11261127         function(arg, one: if(expr, do: :this, else: :that))1128         function(arg, one: nested_call(a, b, c))11291130     Ambiguity found at:1131     │1132 454 │     do: raise ArgumentError, "a changeset with action #{inspect given} was given to #{inspect repo}.#{action}/2"1133     │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1134     │1135     └─ lib/ecto/repo/schema.ex:45411361137    warning: unused require Ecto.Query1138    │1139  6 │   require Ecto.Query1140    │   ~1141    │1142    └─ lib/ecto/repo/preloader.ex:6:311431144    warning: Module.eval_quoted/2 is deprecated. Use Code.eval_quoted/3 instead1145    │1146  9 │   schema "schema_migrations" do1147    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1148    │1149    └─ lib/ecto/migration/schema_migration.ex:9: Ecto.Migration.SchemaMigration (module)11501151    warning: incompatible types given to Mix.Ecto.ensure_started/2:11521153        Mix.Ecto.ensure_started(repo, opts)11541155    given types:11561157        -dynamic(atom())-, dynamic(empty_list() or non_empty_list(term(), term()))11581159    but expected one of:11601161        %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())11621163    where "opts" was given the type:11641165        # type: dynamic(1166          %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or1167            non_struct_map()1168        )1169        # from: lib/mix/tasks/ecto.rollback.ex:64:101170        opts =1171          if opts[:quiet] do1172            Keyword.merge(opts, log: false, log_sql: false)1173          else1174            opts1175          end11761177    where "repo" was given the type:11781179        # type: dynamic(atom())1180        # from: lib/mix/tasks/ecto.rollback.ex:70:71181        Mix.Ecto.ensure_repo(repo, args)11821183    type warning found at:1184    │1185 72 │       {:ok, pid, apps} = ensure_started(repo, opts)1186    │                          ~1187    │1188    └─ lib/mix/tasks/ecto.rollback.ex:72:26: Mix.Tasks.Ecto.Rollback.run/211891190    warning: incompatible types given to Mix.Ecto.ensure_started/2:11911192        Mix.Ecto.ensure_started(repo, all: true)11931194    given types:11951196        -dynamic(atom())-, non_empty_list({:all, true})11971198    but expected one of:11991200        %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())12011202    where "repo" was given the type:12031204        # type: dynamic(atom())1205        # from: lib/mix/tasks/ecto.migrations.ex:37:71206        Mix.Ecto.ensure_repo(repo, args)12071208    type warning found at:1209    │1210 39 │       {:ok, pid, _} = ensure_started(repo, all: true)1211    │                       ~1212    │1213    └─ lib/mix/tasks/ecto.migrations.ex:39:23: Mix.Tasks.Ecto.Migrations.run/312141215    warning: incompatible types given to Mix.Ecto.ensure_started/2:12161217        Mix.Ecto.ensure_started(repo, opts)12181219    given types:12201221        -dynamic(atom())-, dynamic(empty_list() or non_empty_list(term(), term()))12221223    but expected one of:12241225        %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())12261227    where "opts" was given the type:12281229        # type: dynamic(1230          %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or1231            non_struct_map()1232        )1233        # from: lib/mix/tasks/ecto.migrate.ex:68:101234        opts =1235          if opts[:quiet] do1236            Keyword.merge(opts, log: false, log_sql: false)1237          else1238            opts1239          end12401241    where "repo" was given the type:12421243        # type: dynamic(atom())1244        # from: lib/mix/tasks/ecto.migrate.ex:74:71245        Mix.Ecto.ensure_repo(repo, args)12461247    type warning found at:1248    │1249 76 │       {:ok, pid, apps} = ensure_started(repo, opts)1250    │                          ~1251    │1252    └─ lib/mix/tasks/ecto.migrate.ex:76:26: Mix.Tasks.Ecto.Migrate.run/212531254    warning: incompatible types given to Mix.Ecto.source_repo_priv/1:12551256        Mix.Ecto.source_repo_priv(repo)12571258    given types:12591260        -dynamic(%{..., __adapter__: atom(), config: empty_list() or non_empty_list(term(), term())})-12611262    but expected one of:12631264        atom()12651266    where "repo" was given the types:12671268        # type: dynamic(%{..., config: empty_list() or non_empty_list(term(), term())})1269        # from: lib/mix/tasks/ecto.load.ex:70:221270        Keyword.merge(repo.config, opts)12711272        # type: dynamic(%{..., __adapter__: atom(), config: empty_list() or non_empty_list(term(), term())})1273        # from: lib/mix/tasks/ecto.load.ex:72:271274        repo.__adapter__.structure_load(Mix.Ecto.source_repo_priv(repo), config)12751276    type warning found at:1277    │1278 72 │     case repo.__adapter__.structure_load(source_repo_priv(repo), config) do1279    │                                          ~1280    │1281    └─ lib/mix/tasks/ecto.load.ex:72:42: Mix.Tasks.Ecto.Load.load_structure/212821283     warning: struct DBConnection.OwnershipError is undefined (module DBConnection.OwnershipError is not available or is yet to be defined)1284     │1285 258 │       err in DBConnection.OwnershipError ->1286     │           ~1287     │1288     └─ lib/ecto/adapters/sql.ex:258:11: Ecto.Adapters.SQL.sql_call/612891290    warning: expected a map or struct when accessing .__adapter__ in expression:12911292        repo.__adapter__12931294    where "repo" was given the type:12951296        # type: dynamic(atom())1297        # from: lib/mix/tasks/ecto.load.ex:53:71298        Mix.Ecto.ensure_repo(repo, args)12991300    hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()13011302    type warning found at:1303    │1304 54 │       ensure_implements(repo.__adapter__, Ecto.Adapter.Structure,1305    │                              ~1306    │1307    └─ lib/mix/tasks/ecto.load.ex:54:30: Mix.Tasks.Ecto.Load.run/113081309     warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1310     │1311 260 │         reraise %{err | message: message}, System.stacktrace1312     │                                                   ~1313     │1314     └─ lib/ecto/adapters/sql.ex:260:51: Ecto.Adapters.SQL.sql_call/613151316      warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead1317      │1318 2400 │     surround_many("#Ecto.Changeset<", list, ">", opts, fn1319      │     ~1320      │1321      └─ lib/ecto/changeset.ex:2400:5: Inspect.Ecto.Changeset.inspect/213221323    warning: expected a map or struct when accessing .__adapter__ in expression:13241325        repo.__adapter__13261327    where "repo" was given the type:13281329        # type: dynamic(atom())1330        # from: lib/mix/tasks/ecto.dump.ex:50:71331        Mix.Ecto.ensure_repo(repo, args)13321333    hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()13341335    type warning found at:1336    │1337 51 │       ensure_implements(repo.__adapter__, Ecto.Adapter.Structure,1338    │                              ~1339    │1340    └─ lib/mix/tasks/ecto.dump.ex:51:30: Mix.Tasks.Ecto.Dump.run/113411342    warning: expected a map or struct when accessing .__adapter__ in expression:13431344        repo.__adapter__13451346    where "repo" was given the type:13471348        # type: dynamic(atom())1349        # from: lib/mix/tasks/ecto.drop.ex:39:71350        Mix.Ecto.ensure_repo(repo, args)13511352    hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()13531354    type warning found at:1355    │1356 40 │       ensure_implements(repo.__adapter__, Ecto.Adapter.Storage,1357    │                              ~1358    │1359    └─ lib/mix/tasks/ecto.drop.ex:40:30: Mix.Tasks.Ecto.Drop.run/113601361    warning: expected a map or struct when accessing .__adapter__ in expression:13621363        repo.__adapter__13641365    where "repo" was given the type:13661367        # type: dynamic(atom())1368        # from: lib/mix/tasks/ecto.create.ex:37:71369        Mix.Ecto.ensure_repo(repo, args)13701371    hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()13721373    type warning found at:1374    │1375 38 │       ensure_implements(repo.__adapter__, Ecto.Adapter.Storage,1376    │                              ~1377    │1378    └─ lib/mix/tasks/ecto.create.ex:38:30: Mix.Tasks.Ecto.Create.run/113791380    warning: Mix.Project.compile/1 is deprecated. Use Mix.Task.run("compile", args) instead1381    │1382 62 │       Mix.Project.compile(args)1383    │                   ~1384    │1385    └─ lib/mix/ecto.ex:62:19: Mix.Ecto.ensure_repo/213861387     warning: expected a module (an atom) when invoking start_link/1 in expression:13881389         repo.start_link(pool_size: pool_size)13901391     where "pool_size" was given the type:13921393         # type: dynamic()1394         # from: lib/mix/ecto.ex:101:151395         pool_size = Keyword.get(opts, :pool_size, 1)13961397     where "repo" was given the type:13981399         # type: dynamic(%{..., __adapter__: atom()})1400         # from: lib/mix/ecto.ex:99:361401         repo.__adapter__.ensure_all_started(repo, :temporary)14021403     type warning found at:1404     │1405 102 │     case repo.start_link(pool_size: pool_size) do1406     │               ~1407     │1408     └─ lib/mix/ecto.ex:102:15: Mix.Ecto.ensure_started/214091410     warning: Logger.remove_backend/1 is deprecated. Use LoggerBackends.remove/2 from :logger_backends dependency1411     │1412 146 │     Logger.remove_backend(:console)1413     │            ~1414     │1415     └─ lib/mix/ecto.ex:146:12: Mix.Ecto.restart_apps_if_migrated/214161417     warning: Logger.add_backend/2 is deprecated. Use LoggerBackends.add/2 from :logger_backends dependency1418     │1419 155 │     Logger.add_backend(:console, flush: true)1420     │            ~1421     │1422     └─ lib/mix/ecto.ex:155:12: Mix.Ecto.restart_apps_if_migrated/214231424     warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1425     │1426 856 │       not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->1427     │                                                                              ~1428     │1429     └─ lib/ecto/association.ex:856:78: Ecto.Association.ManyToMany.after_compile_validation/21430     └─ lib/ecto/association.ex:860:45: Ecto.Association.ManyToMany.after_compile_validation/214311432     warning: the following clause will never match:14331434         [{^module, :changeset, args_or_arity, _}] when args_or_arity == 2 when length(args_or_arity) == 2 ->14351436     because it attempts to match on the result of:14371438         System.stacktrace()14391440     which has type:14411442         empty_list()14431444     where "args_or_arity" was given the type:14451446         # type: float() or integer() or non_empty_list(term())1447         # from: lib/ecto/changeset.ex1448         (_() when args_or_arity == 2) when length(args_or_arity) == 214491450     where "module" was given the type:14511452         # type: dynamic()1453         # from: lib/ecto/changeset.ex:733:301454         module14551456     type warning found at:1457     │1458 741 │ ...                   when length(args_or_arity) == 2 ->1459     │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1460     │1461     └─ lib/ecto/changeset.ex:741: Ecto.Changeset.on_cast_default/214621463    warning: incompatible types given to get_source/1:14641465        get_source(repo)14661467    given types:14681469        -dynamic(atom())-14701471    but expected one of:14721473        %{..., config: empty_list() or non_empty_list(term(), term())}14741475    where "repo" was given the type:14761477        # type: dynamic(atom())1478        # from: lib/ecto/migration/schema_migration.ex:24:131479        repo.all(1480          Map.put(1481            (1482              query =1483                (1484                  query = {get_source(repo), Ecto.Migration.SchemaMigration}1485                  Ecto.Query.Builder.From.apply(query, 1)1486                )1487        1488              Ecto.Query.Builder.Select.apply(query, %Ecto.Query.SelectExpr{1489                ...,1490                expr: {{:., [], [{:&, [], [0]}, :version]}, [], []},1491                file: "/work/proj/deps_x86_64/ecto/lib/ecto/migration/schema_migration.ex",1492                line: 22,1493                take: %{}1494              })1495            ),1496            :prefix,1497            prefix1498          ), timeout: :infinity, log: false)14991500    type warning found at:1501    │1502 22 │     from(p in {get_source(repo), __MODULE__}, select: p.version)1503    │                ~1504    │1505    └─ lib/ecto/migration/schema_migration.ex:22:16: Ecto.Migration.SchemaMigration.migrated_versions/215061507    warning: incompatible types given to get_source/1:15081509        get_source(repo)15101511    given types:15121513        -dynamic(atom())-15141515    but expected one of:15161517        %{..., config: empty_list() or non_empty_list(term(), term())}15181519    where "repo" was given the type:15201521        # type: dynamic(atom())1522        # from: lib/ecto/migration/schema_migration.ex:30:131523        repo.insert!(1524          Ecto.put_meta(%Ecto.Migration.SchemaMigration{..., version: version},1525            prefix: prefix,1526            source: get_source(repo)1527          ), timeout: :infinity, log: false)15281529    type warning found at:1530    │1531 29 │     |> Ecto.put_meta(prefix: prefix, source: get_source(repo))1532    │                                              ~1533    │1534    └─ lib/ecto/migration/schema_migration.ex:29:46: Ecto.Migration.SchemaMigration.up/315351536     warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1537     │1538 739 │           case System.stacktrace do1539     │                       ~1540     │1541     └─ lib/ecto/changeset.ex:739:23: Ecto.Changeset.on_cast_default/215421543    warning: incompatible types given to get_source/1:15441545        get_source(repo)15461547    given types:15481549        -dynamic(atom())-15501551    but expected one of:15521553        %{..., config: empty_list() or non_empty_list(term(), term())}15541555    where "repo" was given the type:15561557        # type: dynamic(atom())1558        # from: lib/ecto/migration/schema_migration.ex:36:131559        repo.delete_all(1560          Map.put(1561            (1562              query =1563                (1564                  query = {get_source(repo), Ecto.Migration.SchemaMigration}1565                  Ecto.Query.Builder.From.apply(query, 1)1566                )1567        1568              Ecto.Query.Builder.Filter.apply(query, :where, %Ecto.Query.BooleanExpr{1569                expr: {:==, [], [{{:., [], [{:&, [], [0]}, :version]}, [], []}, {:^, [], [0]}]},1570                op: :and,1571                params: [{Ecto.Query.Builder.not_nil!(version), {0, :version}}],1572                file: "/work/proj/deps_x86_64/ecto/lib/ecto/migration/schema_migration.ex",1573                line: 341574              })1575            ),1576            :prefix,1577            prefix1578          ), timeout: :infinity, log: false)15791580    type warning found at:1581    │1582 34 │     from(p in {get_source(repo), __MODULE__}, where: p.version == ^version)1583    │                ~1584    │1585    └─ lib/ecto/migration/schema_migration.ex:34:16: Ecto.Migration.SchemaMigration.down/315861587     warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1588     │1589 715 │       not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->1590     │                                                                              ~1591     │1592     └─ lib/ecto/association.ex:715:78: Ecto.Association.BelongsTo.after_compile_validation/215931594     warning: the following conditional expression:15951596         is_atom(related)15971598     will always evaluate to:15991600         dynamic(true)16011602     where "related" was given the type:16031604         # type: dynamic(atom())1605         # from: lib/ecto/association.ex:730:151606         related = Ecto.Association.related_from_query(queryable)16071608     type warning found at:1609     │1610 732 │     unless is_atom(related) do1611     │     ~~~~~~~~~~~~~~~~~~~~~~~~~~1612     │1613     └─ lib/ecto/association.ex:732: Ecto.Association.BelongsTo.struct/316141615      warning: this clause of defp type_to_module/1 is never used (or it will always fail/warn when invoked)1616      │1617 1422 │   defp type_to_module(:naive_datetime), do: NaiveDateTime1618      │        ~1619      │1620      └─ lib/ecto/schema.ex:1422:8: Ecto.Schema.type_to_module/116211622     warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1623     │1624 430 │       not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->1625     │                                                                              ~1626     │1627     └─ lib/ecto/association.ex:430:78: Ecto.Association.Has.after_compile_validation/216281629      warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1630      │1631 1885 │         if Code.ensure_compiled?(type) and function_exported?(type, :type, 0) do1632      │                 ~1633      │1634      └─ lib/ecto/schema.ex:1885:17: Ecto.Schema.check_type!/316351636     warning: the following clause will never match:16371638         {:error, _} = error ->16391640     because it attempts to match on the result of:16411642         apply(changeset, adapter, :insert, args)16431644     which has type:16451646         dynamic({:invalid or :ok, term()})16471648     type warning found at:1649     │1650 219 │           {:error, _} = error ->1651     │                       ~1652     │1653     └─ lib/ecto/repo/schema.ex:219:23: Ecto.Repo.Schema.do_insert/416541655     warning: the following clause will never match:16561657         {:error, _} = error ->16581659     because it attempts to match on the result of:16601661         apply(changeset, adapter, action, args)16621663     which has type:16641665         dynamic({:invalid or :ok, term()})16661667     type warning found at:1668     │1669 297 │             {:error, _} = error ->1670     │                         ~1671     │1672     └─ lib/ecto/repo/schema.ex:297:25: Ecto.Repo.Schema.do_update/416731674    warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead1675    │1676 29 │     surround_many("#Ecto.Query<", list, ">", opts, fn str, _ -> str end)1677    │     ~1678    │1679    └─ lib/ecto/query/inspect.ex:29:5: Inspect.Ecto.Query.inspect/216801681     warning: Macro.to_string/2 is deprecated. Use Macro.to_string/1 instead1682     │1683 144 │     Macro.to_string(expr, &expr_to_string(&1, &2, names, part))1684     │           ~1685     │1686     └─ lib/ecto/query/inspect.ex:144:11: Inspect.Ecto.Query.expr/316871688    warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1689    │1690 54 │       filter_and_reraise e, System.stacktrace1691    │                                    ~1692    │1693    └─ lib/ecto/repo/preloader.ex:54:36: Ecto.Repo.Preloader.normalize_and_preload_each/516941695    warning: Map.size/1 is deprecated. Use Kernel.map_size/1 instead1696    │1697 44 │     index  = Map.size(params)1698    │                  ~1699    │1700    └─ lib/ecto/query/builder.ex:44:18: Ecto.Query.Builder.escape/51701    └─ lib/ecto/query/builder.ex:53:17: Ecto.Query.Builder.escape/517021703     warning: Decimal.minus/1 is deprecated. Use Decimal.negate/1 instead1704     │1705 614 │     Decimal.minus(decimal)1706     │             ~1707     │1708     └─ lib/ecto/query/builder.ex:614:13: Ecto.Query.Builder.negate!/117091710     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)1711     │1712 228 │         raise BadStructError, struct: struct, term: data1713     │         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1714     │1715     └─ lib/ecto/repo/queryable.ex:228: Ecto.Repo.Queryable.process/517161717     warning: the following clause will never match:17181719         {:error, _} ->17201721     because it attempts to match on the result of:17221723         NaiveDateTime.new(date, time)17241725     which has type:17261727         dynamic({:ok, %NaiveDateTime{}})17281729     type warning found at:1730     │1731 803 │         {:error, _} -> :error1732     │         ~~~~~~~~~~~~~~~~~~~~~1733     │1734     └─ lib/ecto/type.ex:803: Ecto.Type.cast_naive_datetime/117351736     warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1737     │1738 159 │         supervise(children, strategy: :one_for_one)1739     │         ~1740     │1741     └─ lib/ecto/repo/supervisor.ex:159:9: Ecto.Repo.Supervisor.init/117421743     warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1744     │1745 214 │       filter_and_reraise e, System.stacktrace1746     │                                    ~1747     │1748     └─ lib/ecto/query/planner.ex:214:36: Ecto.Query.Planner.prepare/41749     └─ lib/ecto/query/planner.ex:709:36: Ecto.Query.Planner.normalize/417501751    warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead1752    │1753 15 │     surround_many("dynamic(", [Macro.to_string(binding), inspected], ")", opts, fn str, _ -> str end)1754    │     ~1755    │1756    └─ lib/ecto/query/inspect.ex:15:5: Inspect.Ecto.Query.DynamicExpr.inspect/217571758      warning: expected a map or struct when accessing .__struct__ in expression:17591760          schema.__struct__17611762      where "schema" was given the types:17631764          # type: dynamic(atom() and not nil)1765          # from: lib/ecto/query/planner.ex:1186:411766          schema17671768          # type: atom()1769          # from: lib/ecto/query/planner.ex:1186:611770          is_atom(schema)17711772      hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()17731774      type warning found at:1775      │1776 1190 │       Map.has_key?(schema.__struct__, field) ->1777      │                           ~1778      │1779      └─ lib/ecto/query/planner.ex:1190:27: Ecto.Query.Planner.type!/617801781    warning: incompatible types given to Ecto.Migration.SchemaMigration.migrated_versions/2:17821783        Ecto.Migration.SchemaMigration.migrated_versions(repo, opts[:prefix])17841785    given types:17861787        (1788          -dynamic(%{..., __adapter__: term(), config: empty_list() or non_empty_list(term(), term())})-,1789          dynamic()1790        )17911792    but expected one of:17931794        atom(), term()17951796    where "opts" was given the type:17971798        # type: dynamic(1799          %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or1800            non_struct_map()1801        )1802        # from: lib/ecto/migrator.ex:44:651803        opts[:prefix]18041805    where "repo" was given the type:18061807        # type: dynamic(%{..., __adapter__: term(), config: empty_list() or non_empty_list(term(), term())})1808        # from: lib/ecto/migrator.ex:44:231809        Ecto.Migration.SchemaMigration.ensure_schema_migrations_table!(repo, opts[:prefix])18101811    type warning found at:1812    │1813 45 │       SchemaMigration.migrated_versions(repo, opts[:prefix])1814    │                       ~1815    │1816    └─ lib/ecto/migrator.ex:45:23: Ecto.Migrator.migrated_versions/218171818    warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead1819    │1820 12 │       worker(Ecto.Migration.Runner, [], restart: :temporary)1821    │       ~1822    │1823    └─ lib/ecto/migration/supervisor.ex:12:7: Ecto.Migration.Supervisor.init/118241825    warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1826    │1827 15 │     supervise(children, strategy: :simple_one_for_one)1828    │     ~1829    │1830    └─ lib/ecto/migration/supervisor.ex:15:5: Ecto.Migration.Supervisor.init/118311832     warning: expected a module (an atom) when invoking transaction/2 in expression:18331834         repo.transaction(fun, log: false, timeout: :infinity)18351836     where "fun" was given the type:18371838         # type: dynamic()1839         # from: lib/ecto/migrator.ex:114:471840         fun18411842     where "repo" was given the types:18431844         # type: dynamic(%{..., __adapter__: %{..., supports_ddl_transaction?: term()}})1845         # from: lib/ecto/migrator.ex:118:241846         repo.__adapter__.supports_ddl_transaction?18471848         # type: dynamic(%{..., __adapter__: %{..., supports_ddl_transaction?: not false and not nil}})1849         # from: lib/ecto/migrator.ex:118:241850         repo.__adapter__.supports_ddl_transaction?18511852     type warning found at:1853     │1854 119 │         repo.transaction(fun, [log: false, timeout: :infinity])1855     │              ~1856     │1857     └─ lib/ecto/migrator.ex:119:14: Ecto.Migrator.run_maybe_in_transaction/318581859     warning: Code.load_file/1 is deprecated. Use Code.require_file/2 or Code.compile_file/2 instead1860     │1861 291 │     modules = Code.load_file(file)1862     │                    ~1863     │1864     └─ lib/ecto/migrator.ex:291:20: Ecto.Migrator.extract_module/218651866     warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1867     │1868 321 │         reraise error, System.stacktrace1869     │                               ~1870     │1871     └─ lib/ecto/migrator.ex:321:31: Ecto.Migrator.verbose_schema_migration/318721873    warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1874    │1875 10 │       worker(Ecto.Registry, []),1876    │       ~1877    │1878    └─ lib/ecto/application.ex:10:7: Ecto.Application.start/218791880    warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1881    │1882 11 │       supervisor(Ecto.Migration.Supervisor, [])1883    │       ~1884    │1885    └─ lib/ecto/application.ex:11:7: Ecto.Application.start/218861887Generated ecto app1888==> guardian_db1889Compiling 5 files (.ex)1890     warning: Application.get_env/3 is discouraged in the module body, use Application.compile_env/3 instead1891     │1892 111 │   config = Application.get_env(:guardian, Guardian.DB, [])1893     │                        ~1894     │1895     └─ lib/guardian/db.ex:111:24: Guardian.DB (module)18961897    warning: Module.eval_quoted/2 is deprecated. Use Code.eval_quoted/3 instead1898    │1899 15 │   schema "virtual: token" do1900    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~1901    │1902    └─ lib/guardian/db/token.ex:15: Guardian.DB.Token (module)190319041905== Compilation error in file lib/guardian/db.ex ==1906** (RuntimeError) Guardian.DB configuration is required1907    lib/guardian/db.ex:114: (module)1908could 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"