flashtag_api

Build log

nerves_system_x86_64

flashtag_api 0.0.1 · fail · run flashtag_api-0.0.1-1791184494949
1769 of 1769 lines
1Resolving Hex dependencies...2Resolution completed in 0.24s3Unchanged:4  circular_buffer 1.1.05  connection 1.0.46  cowboy 1.1.2 VULNERABLE!7    GHSA-w4f7-4cxr-rv3c (MEDIUM)8    aka: CVE-2026-43966, EEF-CVE-2026-439669    cowboy and gun affected by an HTTP Request/Response Splitting vulnerability10    https://osv.dev/vulnerability/GHSA-w4f7-4cxr-rv3c11  cowlib 1.0.2 VULNERABLE!12    EEF-CVE-2026-7790 (HIGH)13    aka: CVE-2026-7790, GHSA-32p9-57cr-4x6514    Unbounded chunk-size hex digits in cowlib cause quadratic CPU and memory DoS15    https://osv.dev/vulnerability/EEF-CVE-2026-77901617    EEF-CVE-2026-43970 (HIGH)18    aka: CVE-2026-43970, GHSA-84f2-rp86-235p19    Decompression Bomb in cow_spdy:inflate/2 Allows Memory Exhaustion via Crafted SPDY Frame20    https://osv.dev/vulnerability/EEF-CVE-2026-4397021  db_connection 1.1.322  decimal 1.9.0 VULNERABLE!23    EEF-CVE-2026-32686 (MEDIUM)24    aka: CVE-2026-32686, GHSA-rhv4-8758-jx7v25    Unbounded exponent in decimal enables unauthenticated DoS26    https://osv.dev/vulnerability/EEF-CVE-2026-3268627  ecto 2.2.1228  elixir_make 0.10.029  ex_machina 2.8.230  expo 1.1.131  flashtag 0.0.132  flashtag_api 0.0.133  gettext 0.26.234  interactive_cmd 0.1.435  mime 2.0.736  nerves 2.0.0-pre.237  nerves_discovery 0.1.538  nerves_logging 0.2.439  nerves_runtime 0.13.1340  nerves_system_bbb 2.30.241  nerves_system_br 1.34.442  nerves_system_mangopi_mq_pro 0.17.243  nerves_system_qemu_aarch64 0.4.244  nerves_system_rpi0 2.1.245  nerves_system_rpi4 2.1.246  nerves_system_rpi5 2.1.247  nerves_system_trellis 0.5.048  nerves_system_x86_64 1.34.249  nerves_toolchain_aarch64_nerves_linux_gnu 15.3.150  nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.151  nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.152  nerves_toolchain_riscv64_nerves_linux_gnu 15.3.153  nerves_toolchain_x86_64_nerves_linux_musl 15.3.154  nerves_uevent 0.1.755  phoenix 1.3.5 VULNERABLE!56    GHSA-p8f7-22gq-m7j9 (HIGH)57    aka: CVE-2022-4297558    Phoenix before 1.6.14 mishandles check_origin wildcarding59    https://osv.dev/vulnerability/GHSA-p8f7-22gq-m7j96061    EEF-CVE-2026-56812 (MEDIUM)62    aka: CVE-2026-56812, GHSA-63mc-hw7g-86rr63    Phoenix JavaScript presence client crashes on presence keys colliding with Object.prototype members in Presence.syncState/syncDiff64    https://osv.dev/vulnerability/EEF-CVE-2026-568126566    EEF-CVE-2026-56811 (HIGH)67    aka: CVE-2026-56811, GHSA-6983-jfq8-485w68    Phoenix transports do not limit channel joins per connection, enabling process-exhaustion denial of service69    https://osv.dev/vulnerability/EEF-CVE-2026-5681170  phoenix_ecto 3.6.071  phoenix_pubsub 1.1.272  plug 1.20.373  plug_crypto 2.2.074  poison 3.1.075  poolboy 1.5.276  postgrex 0.13.577  property_table 0.3.478  ranch 1.3.279  ring_logger 0.11.780  tablet 0.3.381  telemetry 1.4.282  toolshed 0.5.083  uboot_env 1.0.284* Getting flashtag_api (Hex package)85* Getting nerves (Hex package)86* Getting ring_logger (Hex package)87* Getting toolshed (Hex package)88* Getting nerves_runtime (Hex package)89* Getting nerves_system_bbb (Hex package)90* Getting nerves_system_mangopi_mq_pro (Hex package)91* Getting nerves_system_qemu_aarch64 (Hex package)92* Getting nerves_system_rpi0 (Hex package)93* Getting nerves_system_rpi4 (Hex package)94* Getting nerves_system_rpi5 (Hex package)95* Getting nerves_system_trellis (Hex package)96* Getting nerves_system_x86_64 (Hex package)97* Getting nerves_system_br (Hex package)98* Getting nerves_toolchain_x86_64_nerves_linux_musl (Hex package)99* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)100* Getting nerves_toolchain_aarch64_nerves_linux_gnu (Hex package)101* Getting nerves_toolchain_armv6_nerves_linux_gnueabihf (Hex package)102* Getting nerves_toolchain_riscv64_nerves_linux_gnu (Hex package)103* Getting nerves_logging (Hex package)104* Getting nerves_uevent (Hex package)105* Getting uboot_env (Hex package)106* Getting elixir_make (Hex package)107* Getting property_table (Hex package)108* Getting circular_buffer (Hex package)109* Getting interactive_cmd (Hex package)110* Getting nerves_discovery (Hex package)111* Getting tablet (Hex package)112* Getting cowboy (Hex package)113* Getting flashtag (Hex package)114* Getting gettext (Hex package)115* Getting phoenix (Hex package)116* Getting phoenix_ecto (Hex package)117* Getting phoenix_pubsub (Hex package)118* Getting postgrex (Hex package)119* Getting connection (Hex package)120* Getting db_connection (Hex package)121* Getting decimal (Hex package)122* Getting ecto (Hex package)123* Getting plug (Hex package)124* Getting mime (Hex package)125* Getting plug_crypto (Hex package)126* Getting telemetry (Hex package)127* Getting poolboy (Hex package)128* Getting poison (Hex package)129* Getting expo (Hex package)130* Getting ex_machina (Hex package)131* Getting cowlib (Hex package)132* Getting ranch (Hex package)133Found packages with security advisories, see above for details134    warning: String.strip/1 is deprecated. Use String.trim/1 instead135    │136  4 │   @version File.read!("VERSION") |> String.strip137    │                                            ~138    │139    └─ /work/proj/deps_x86_64/poison/mix.exs:4:44: Poison.Mixfile (module)140141    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 quotes142    │143 66 │     ["test": ["ecto.create --quiet", "ecto.migrate", "test"]]144    │      ~145    │146    └─ /work/proj/deps_x86_64/flashtag_api/mix.exs:66:6147148    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 quotes149    │150 62 │       "test": ["ecto.create --quiet", "ecto.migrate", "test"]151    │       ~152    │153    └─ /work/proj/deps_x86_64/flashtag/mix.exs:62:7154155warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"156  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2157  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1158  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5159  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2160  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4161  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2162163==> phoenix164Compiling 75 files (.ex)165     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 operator166     │167 170 │       <<attr::size(prefix)-binary, ":unique">> -> attr168     │                    ~169     │170     └─ lib/mix/phoenix/schema.ex:170:20: Mix.Phoenix.Schema.drop_unique/1171172     warning: using single-quoted strings to represent charlists is deprecated.173     Use ~c"" if you indeed want a charlist or use "" instead.174     You may run "mix format --migrate" to change all single-quoted175     strings to use the ~c sigil and fix this warning.176     │177 310 │     :error_logger.warning_msg('~p ~p received unexpected message in handle_info/2: ~p~n',178     │                               ~179     │180     └─ lib/phoenix/channel/server.ex:310:31181182    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead183    │184 39 │             Logger.warn "Phoenix is unable to create symlinks. Phoenix' code reloader will run " <>185    │                    ~186    │187    └─ lib/phoenix/code_reloader/server.ex:39:20: Phoenix.CodeReloader.Server.handle_call/3188189    warning: unused require Logger190    │191 20 │   require Logger192    │   ~193    │194    └─ lib/phoenix/endpoint/handler.ex:20:3195196    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead197    │198 39 │       Logger.warn """199    │              ~200    │201    └─ lib/phoenix/endpoint/supervisor.ex:39:14: Phoenix.Endpoint.Supervisor.init/1202203    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 operator204    │205 46 │       <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix206    │                             ~207    │208    └─ lib/phoenix/naming.ex:46:29: Phoenix.Naming.unsuffix/2209210     warning: using single-quoted strings to represent charlists is deprecated.211     Use ~c"" if you indeed want a charlist or use "" instead.212     You may run "mix format --migrate" to change all single-quoted213     strings to use the ~c sigil and fix this warning.214     │215 315 │   @anno (if :erlang.system_info(:otp_release) >= '19' do216     │                                                  ~217     │218     └─ lib/phoenix/router.ex:315:50219220     warning: using single-quoted strings to represent charlists is deprecated.221     Use ~c"" if you indeed want a charlist or use "" instead.222     You may run "mix format --migrate" to change all single-quoted223     strings to use the ~c sigil and fix this warning.224     │225 195 │   @anno (if :erlang.system_info(:otp_release) >= '19' do226     │                                                  ~227     │228     └─ lib/phoenix/router/helpers.ex:195:50229230    warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.231232    This error happens when you have function calls without parentheses inside keywords. For example:233234        function(arg, one: nested_call a, b, c)235        function(arg, one: if expr, do: :this, else: :that)236237    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:238239        function(arg, one: if(expr, do: :this, else: :that))240        function(arg, one: nested_call(a, b, c))241242    Ambiguity found at:243    │244 71 │     unless actions -- supported_actions == [], do: raise ArgumentError, """245    │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~246    │247    └─ lib/phoenix/router/resource.ex:71248249    warning: duplicate key :route found in struct250    │251 24 │   defstruct [:path, :actions, :param, :route, :controller, :route, :member, :collection, :singleton]252    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~253    │254    └─ lib/phoenix/router/resource.ex:24: Phoenix.Router.Resource (module)255256     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead257     │258 885 │       Logger.warn "send_download/3 has been invoked during an AJAX request. " <>259     │              ~260     │261     └─ lib/phoenix/controller.ex:885:14: Phoenix.Controller.warn_if_ajax/1262263     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)"264     │265 110 │   @callback start_link(Keyword.t) :: {:ok, pid()} | {:error, reason :: term()} :: :ignore266     │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~267     │268     └─ lib/phoenix/presence.ex:110: Phoenix.Presence (module)269270     warning: using single-quoted strings to represent charlists is deprecated.271     Use ~c"" if you indeed want a charlist or use "" instead.272     You may run "mix format --migrate" to change all single-quoted273     strings to use the ~c sigil and fix this warning.274     │275 174 │   @anno (if :erlang.system_info(:otp_release) >= '19' do276     │                                                  ~277     │278     └─ lib/phoenix/template.ex:174:50279280     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead281     │282 304 │     Logger.warn fn -> "Ignoring unmatched topic \"#{msg.topic}\" in #{inspect(socket.handler)}" end283     │            ~284     │285     └─ lib/phoenix/socket/transport.ex:304:12: Phoenix.Socket.Transport.reply_ignore/2286287     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead288     │289 227 │     Logger.warn ":max_age was not set on Phoenix.Token.verify/4. " <>290     │            ~291     │292     └─ lib/phoenix/token.ex:227:12: Phoenix.Token.expired?/2293294     warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead295     │296 647 │       exception -> {:error, {exception, System.stacktrace()}}297     │                                                ~298     │299     └─ lib/phoenix/test/conn_test.ex:647:48: Phoenix.ConnTest.wrap_request/1300301    warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead302    │303 12 │       worker(Phoenix.Transports.LongPoll.Server, [], restart: :temporary)304    │       ~305    │306    └─ lib/phoenix/transports/long_poll_server.ex:12:7: Phoenix.Transports.LongPoll.Supervisor.init/1307308    warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead309    │310 14 │     supervise(children, strategy: :simple_one_for_one)311    │     ~312    │313    └─ lib/phoenix/transports/long_poll_server.ex:14:5: Phoenix.Transports.LongPoll.Supervisor.init/1314315     warning: expected a module (an atom) when invoking config/1 in expression:316317         endpoint.config(:endpoint_id)318319     where "endpoint" was given the type:320321         # type: dynamic(%{..., __pubsub_server__: atom()})322         # from: lib/phoenix/transports/long_poll.ex:199:10323         verify_token(endpoint, token, opts)324325     type warning found at:326     │327 201 │         server_ref = server_ref(endpoint.config(:endpoint_id), id, pid, priv_topic)328     │                                          ~329     │330     └─ lib/phoenix/transports/long_poll.ex:201:42: Phoenix.Transports.LongPoll.resume_session/3331332     warning: unknown key .__pubsub_server__ in expression:333334         endpoint.__pubsub_server__335336     the given type does not have the given key:337338         dynamic(339           %Phoenix.Socket{340             id: term(),341             assigns: term(),342             channel: term(),343             channel_pid: term(),344             endpoint: atom(),345             handler: term(),346             joined: term(),347             pubsub_server: term(),348             ref: term(),349             join_ref: term(),350             topic: term(),351             transport: term(),352             transport_pid: term(),353             transport_name: term(),354             serializer: term(),355             private: term(),356             vsn: term()357           } or358             %Plug.Conn{359               adapter: term(),360               assigns: term(),361               body_params: term(),362               cookies: term(),363               halted: term(),364               host: term(),365               method: term(),366               owner: term(),367               params: term(),368               path_info: term(),369               path_params: term(),370               port: term(),371               private: term(),372               query_params: term(),373               query_string: term(),374               remote_ip: term(),375               req_cookies: term(),376               req_headers: term(),377               request_path: term(),378               resp_body: term(),379               resp_cookies: term(),380               resp_headers: term(),381               scheme: term(),382               script_name: term(),383               secret_key_base: term(),384               state: term(),385               status: term()386             } or atom() or binary()387         )388389     where "endpoint" was given the type:390391         # type: dynamic(%Phoenix.Socket{endpoint: atom()} or %Plug.Conn{} or atom() or binary())392         # from: lib/phoenix/transports/long_poll.ex:254:19393         Phoenix.Token.sign(endpoint, Atom.to_string(endpoint.__pubsub_server__), data, opts[:crypto])394395     type warning found at:396     │397 254 │     Phoenix.Token.sign(endpoint, Atom.to_string(endpoint.__pubsub_server__), data, opts[:crypto])398     │                                                          ~~~~~~~~~~~~~~~~~399     │400     └─ lib/phoenix/transports/long_poll.ex:254:58: Phoenix.Transports.LongPoll.sign_token/3401402     warning: Plug.Crypto.safe_binary_to_term/1 is undefined or private403     │404 176 │         %{data: data, signed: signed} = Plug.Crypto.safe_binary_to_term(message)405     │                                                     ~406     │407     └─ lib/phoenix/token.ex:176:53: Phoenix.Token.verify/4408409    warning: @behaviour :cowboy_websocket_handler does not exist (in module Phoenix.Endpoint.CowboyWebSocket)410    │411  1 │ defmodule Phoenix.Endpoint.CowboyWebSocket do412    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~413    │414    └─ lib/phoenix/endpoint/cowboy_websocket.ex:1: Phoenix.Endpoint.CowboyWebSocket (module)415416    warning: Plug.Adapters.Cowboy.Conn.conn/2 is undefined (module Plug.Adapters.Cowboy.Conn is not available or is yet to be defined)417    │418 10 │     conn = @connection.conn(req, transport)419    │                        ~420    │421    └─ lib/phoenix/endpoint/cowboy_websocket.ex:10:24: Phoenix.Endpoint.CowboyWebSocket.init/3422423    warning: :cowboy_req.compact/1 is undefined (module :cowboy_req is not available or is yet to be defined)424    │425 73 │     {:ok, :cowboy_req.compact(req), {handler, state}, timeout}426    │                       ~427    │428    └─ lib/phoenix/endpoint/cowboy_websocket.ex:73:23: Phoenix.Endpoint.CowboyWebSocket.websocket_init/3429430     warning: a struct for Phoenix.Socket is expected on struct update:431432         %Phoenix.Socket{socket | id: id}433434     but got type:435436         dynamic()437438     where "socket" was given the type:439440         # type: dynamic()441         # from: lib/phoenix/socket/transport.ex442         {:ok, socket}443444     when defining the variable "socket", you must also pattern match on "%Phoenix.Socket{}"445446     type warning found at:447     │448 195 │           id when is_binary(id) -> {:ok, %Socket{socket | id: id}}449     │                                          ~450     │451     └─ lib/phoenix/socket/transport.ex:195:42: Phoenix.Socket.Transport.do_connect/7452453    warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead454    │455 23 │         {:upgrade, :protocol, __MODULE__, req, {:error, mfa, kind, reason, System.stacktrace}}456    │                                                                                   ~457    │458    └─ lib/phoenix/endpoint/cowboy_websocket.ex:23:83: Phoenix.Endpoint.CowboyWebSocket.init/3459460     warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead461     │462 198 │       supervisor(Task.Supervisor, [[name: task_supervisor]]),463     │       ~464     │465     └─ lib/phoenix/presence.ex:198:7: Phoenix.Presence.start_link/4466467     warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead468     │469 199 │       worker(Phoenix.Tracker, [module, opts, opts])470     │       ~471     │472     └─ lib/phoenix/presence.ex:199:7: Phoenix.Presence.start_link/4473474    warning: a struct for Plug.Conn is expected on struct update:475476        %Plug.Conn{conn | state: :sent}477478    but got type:479480        dynamic()481482    where "conn" was given the type:483484        # type: dynamic()485        # from: lib/phoenix/endpoint/render_errors.ex:79:21486        conn487488    when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"489490    type warning found at:491    │492 83 │         %Plug.Conn{conn | state: :sent}493    │         ~494    │495    └─ lib/phoenix/endpoint/render_errors.ex:83:9: Phoenix.Endpoint.RenderErrors.maybe_render/5496497    warning: a struct for Plug.Conn is expected on struct update:498499        %Plug.Conn{conn | query_params: %{}, params: %{}}500501    but got type:502503        dynamic(%{..., params: %Plug.Conn.Unfetched{}})504505    where "conn" was given the types:506507        # type: dynamic(%{..., params: term()})508        # from: lib/phoenix/endpoint/render_errors.ex:94:17509        conn.params510511        # type: dynamic(%{..., params: %Plug.Conn.Unfetched{}})512        # from: lib/phoenix/endpoint/render_errors.ex:94:17513        conn.params514515    when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"516517    type warning found at:518    │519 95 │         %Plug.Conn.Unfetched{} -> %Plug.Conn{conn | query_params: %{}, params: %{}}520    │                                   ~521    │522    └─ lib/phoenix/endpoint/render_errors.ex:95:35: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/1523524    warning: a struct for Plug.Conn is expected on struct update:525526        %Plug.Conn{conn | query_params: %{}, params: params}527528    but got type:529530        dynamic(%{..., params: not %Plug.Conn.Unfetched{}})531532    where "conn" was given the types:533534        # type: dynamic(%{..., params: term()})535        # from: lib/phoenix/endpoint/render_errors.ex:94:17536        conn.params537538        # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})539        # from: lib/phoenix/endpoint/render_errors.ex:94:17540        conn.params541542    when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"543544    type warning found at:545    │546 96 │         params -> %Plug.Conn{conn | query_params: %{}, params: params}547    │                   ~548    │549    └─ lib/phoenix/endpoint/render_errors.ex:96:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/1550551     warning: a struct for Plug.Conn is expected on struct update:552553         %Plug.Conn{conn | params: params}554555     but got type:556557         dynamic(%{..., params: map()})558559     where "conn" was given the type:560561         # type: dynamic(%{..., params: map()})562         # from: lib/phoenix/controller.ex:912:17563         Map.get(conn.params, required_key)564565     when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"566567     type warning found at:568     │569 919 │     %Plug.Conn{conn | params: params}570     │     ~571     │572     └─ lib/phoenix/controller.ex:919:5: Phoenix.Controller.scrub_params/2573574    warning: expected a map or struct when accessing .url in expression:575576        endpoint.url577578    where "endpoint" was given the types:579580        # type: dynamic(atom())581        # from: lib/phoenix/router/helpers.ex:24:20582        endpoint583584        # type: atom()585        # from: lib/phoenix/router/helpers.ex:24:35586        is_atom(endpoint)587588    hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()589590    type warning found at:591    │592 25 │     endpoint.url593    │              ~594    │595    └─ lib/phoenix/router/helpers.ex:25:14: Phoenix.Router.Helpers.url/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: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead621     │622 284 │             Phoenix.PlugError.reraise(piped_conn, :error, reason, System.stacktrace())623     │                                                                          ~624     │625     └─ lib/phoenix/router.ex:284:74: Phoenix.Router.__call__/1626627    warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead628    │629 71 │     supervise(children, strategy: :one_for_one)630    │     ~631    │632    └─ lib/phoenix/endpoint/supervisor.ex:71:5: Phoenix.Endpoint.Supervisor.init/1633634    warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead635    │636 76 │     [worker(Phoenix.Config, args)]637    │      ~638    │639    └─ lib/phoenix/endpoint/supervisor.ex:76:6: Phoenix.Endpoint.Supervisor.config_children/3640641    warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead642    │643 84 │       [supervisor(adapter, [mod.__pubsub_server__(), pub_conf])]644    │        ~645    │646    └─ lib/phoenix/endpoint/supervisor.ex:84:8: Phoenix.Endpoint.Supervisor.pubsub_children/2647    └─ lib/phoenix/endpoint/supervisor.ex:96:8: Phoenix.Endpoint.Supervisor.server_children/3648    └─ lib/phoenix/endpoint/supervisor.ex:97:8: Phoenix.Endpoint.Supervisor.server_children/3649650     warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead651     │652 106 │         worker(Phoenix.Endpoint.Watcher, watcher_args(cmd, args),653     │         ~654     │655     └─ lib/phoenix/endpoint/supervisor.ex:106:9: Phoenix.Endpoint.Supervisor.watcher_children/3656657     warning: expected a module (an atom) when invoking path/1 in expression:658659         endpoint.path("/")660661     where "endpoint" was given the type:662663         # type: dynamic(%{..., host: term()})664         # from: lib/phoenix/endpoint/supervisor.ex:312:14665         endpoint.host666667     type warning found at:668     │669 313 │     endpoint.path("/")670     │              ~671     │672     └─ lib/phoenix/endpoint/supervisor.ex:313:14: Phoenix.Endpoint.Supervisor.warmup/1673674    warning: Plug.Adapters.Cowboy.child_spec/4 is deprecated. Use Plug.Cowboy.child_spec/4 instead675    │676 81 │       Plug.Adapters.Cowboy.child_spec(scheme, endpoint, [], config)677    │                            ~678    │679    └─ lib/phoenix/endpoint/cowboy_handler.ex:81:28: Phoenix.Endpoint.CowboyHandler.child_spec/3680681    warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead682    │683 35 │     supervise(children, strategy: :one_for_one)684    │     ~685    │686    └─ lib/phoenix/endpoint/handler.ex:35:5: Phoenix.Endpoint.Handler.init/1687688     warning: :ranch.get_addr/1 is undefined (module :ranch is not available or is yet to be defined)689     │690 113 │     {addr,port} = :ranch.get_addr(ref)691     │                          ~692     │693     └─ lib/phoenix/endpoint/cowboy_handler.ex:113:26: Phoenix.Endpoint.CowboyHandler.info/3694695    warning: Enum.partition/2 is deprecated. Use Enum.split_with/2 instead696    │697 39 │     {config_keywords, config_other} = Enum.partition(config, &keyword_item?/1)698    │                                            ~699    │700    └─ lib/phoenix/endpoint/handler.ex:39:44: Phoenix.Endpoint.Handler.default/3701702     warning: comparison between distinct types found:703704         !Path.extname(file_path) == ".gz"705706     given types:707708         dynamic(boolean()) == binary()709710     where "file_path" was given the type:711712         # type: dynamic(binary() or empty_list() or non_empty_list(term(), term()))713         # from: lib/phoenix/digester.ex:147:45714         Path.basename(file_path)715716     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 false717718     type warning found at:719     │720 148 │       !Path.extname(file_path) == ".gz"721     │                                ~722     │723     └─ lib/phoenix/digester.ex:148:32: Phoenix.Digester.uncompressed_digested_file?/1724725    warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead726    │727 51 │       worker(Phoenix.CodeReloader.Server, [])728    │       ~729    │730    └─ lib/phoenix.ex:51:7: Phoenix.start/2731732    warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead733    │734 61 │             IO.puts Exception.format(kind, reason, System.stacktrace)735    │                                                           ~736    │737    └─ lib/phoenix/code_reloader/server.ex:61:59: Phoenix.CodeReloader.Server.handle_call/3738739    warning: expected a map or struct when accessing .__phoenix_recompile__? in expression:740741        mod.__phoenix_recompile__?742743    where "mod" was given the type:744745        # type: dynamic(atom())746        # from: lib/mix/tasks/compile.phoenix.ex:34:12747        Code.ensure_loaded?(mod)748749    hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()750751    type warning found at:752    │753 36 │         mod.__phoenix_recompile__?754    │             ~755    │756    └─ lib/mix/tasks/compile.phoenix.ex:36:13: Mix.Tasks.Compile.Phoenix.modules_for_recompilation/1757758     warning: Enum.partition/2 is deprecated. Use Enum.split_with/2 instead759     │760 155 │     Enum.partition attrs, fn761     │          ~762     │763     └─ lib/mix/tasks/phoenix.gen.model.ex:155:10: Mix.Tasks.Phoenix.Gen.Model.partition_attrs_and_assocs/1764765     warning: Enum.partition/2 is deprecated. Use Enum.split_with/2 instead766     │767 234 │       Enum.partition(attrs, fn768     │            ~769     │770     └─ lib/mix/phoenix/schema.ex:234:12: Mix.Phoenix.Schema.partition_attrs_and_assocs/2771772Generated phoenix app773warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"774  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2775  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1776  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5777  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2778  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4779  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2780781==> ecto782Compiling 70 files (.ex)783     warning: using single-quoted strings to represent charlists is deprecated.784     Use ~c"" if you indeed want a charlist or use "" instead.785     You may run "mix format --migrate" to change all single-quoted786     strings to use the ~c sigil and fix this warning.787     │788 166 │     defp insert_all_value(_),   do: '?'789     │                                     ~790     │791     └─ lib/ecto/adapters/mysql/connection.ex:166:37792793     warning: using single-quoted strings to represent charlists is deprecated.794     Use ~c"" if you indeed want a charlist or use "" instead.795     You may run "mix format --migrate" to change all single-quoted796     strings to use the ~c sigil and fix this warning.797     │798 354 │       '?'799     │       ~800     │801     └─ lib/ecto/adapters/mysql/connection.ex:354:7802803      warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.804805      This error happens when you have function calls without parentheses inside keywords. For example:806807          function(arg, one: nested_call a, b, c)808          function(arg, one: if expr, do: :this, else: :that)809810      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:811812          function(arg, one: if(expr, do: :this, else: :that))813          function(arg, one: nested_call(a, b, c))814815      Ambiguity found at:816      │817 2286 │     raise ArgumentError, "cannot add constraint to changeset because it does not have a source, got: #{inspect data}"818      │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~819      │820      └─ lib/ecto/changeset.ex:2286821822     warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.823824     This error happens when you have function calls without parentheses inside keywords. For example:825826         function(arg, one: nested_call a, b, c)827         function(arg, one: if expr, do: :this, else: :that)828829     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:830831         function(arg, one: if(expr, do: :this, else: :that))832         function(arg, one: nested_call(a, b, c))833834     Ambiguity found at:835     │836 265 │     do: raise ArgumentError, "a constraint must have either a check or exclude option"837     │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~838     │839     └─ lib/ecto/migration/runner.ex:265840841     warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.842843     This error happens when you have function calls without parentheses inside keywords. For example:844845         function(arg, one: nested_call a, b, c)846         function(arg, one: if expr, do: :this, else: :that)847848     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:849850         function(arg, one: if(expr, do: :this, else: :that))851         function(arg, one: nested_call(a, b, c))852853     Ambiguity found at:854     │855 267 │     do: raise ArgumentError, "a constraint must not have both check and exclude options"856     │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~857     │858     └─ lib/ecto/migration/runner.ex:267859860     warning: atom ::: must be written between quotes, as in :"::", to avoid ambiguity861     │862 136 │       {:::, _, [left, _]} -> is_integer(left) or is_binary(left)863     │        ~864     │865     └─ lib/ecto/query/builder.ex:136:8866867     warning: unknown compiler variable "__" (expected one of __MODULE__, __ENV__, __DIR__, __CALLER__, __STACKTRACE__)868     │869 643 │   def quoted_type({:datetime_add, _, [_, _, __]}, _vars), do: :naive_datetime870     │                                             ~~871     │872     └─ lib/ecto/query/builder.ex:643:45: Ecto.Query.Builder.quoted_type/2873874     warning: unknown compiler variable "__" (expected one of __MODULE__, __ENV__, __DIR__, __CALLER__, __STACKTRACE__)875     │876 644 │   def quoted_type({:date_add, _, [_, _, __]}, _vars), do: :date877     │                                         ~~878     │879     └─ lib/ecto/query/builder.ex:644:41: Ecto.Query.Builder.quoted_type/2880881     warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.882883     This error happens when you have function calls without parentheses inside keywords. For example:884885         function(arg, one: nested_call a, b, c)886         function(arg, one: if expr, do: :this, else: :that)887888     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:889890         function(arg, one: if(expr, do: :this, else: :that))891         function(arg, one: nested_call(a, b, c))892893     Ambiguity found at:894     │895 454 │     do: raise ArgumentError, "a changeset with action #{inspect given} was given to #{inspect repo}.#{action}/2"896     │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~897     │898     └─ lib/ecto/repo/schema.ex:454899900    warning: unused require Ecto.Query901    │902  6 │   require Ecto.Query903    │   ~904    │905    └─ lib/ecto/repo/preloader.ex:6:3906907    warning: Module.eval_quoted/2 is deprecated. Use Code.eval_quoted/3 instead908    │909  9 │   schema "schema_migrations" do910    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~911    │912    └─ lib/ecto/migration/schema_migration.ex:9: Ecto.Migration.SchemaMigration (module)913914     warning: struct DBConnection.OwnershipError is undefined (module DBConnection.OwnershipError is not available or is yet to be defined)915     │916 258 │       err in DBConnection.OwnershipError ->917     │           ~918     │919     └─ lib/ecto/adapters/sql.ex:258:11: Ecto.Adapters.SQL.sql_call/6920921     warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead922     │923 260 │         reraise %{err | message: message}, System.stacktrace924     │                                                   ~925     │926     └─ lib/ecto/adapters/sql.ex:260:51: Ecto.Adapters.SQL.sql_call/6927928      warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead929      │930 2400 │     surround_many("#Ecto.Changeset<", list, ">", opts, fn931      │     ~932      │933      └─ lib/ecto/changeset.ex:2400:5: Inspect.Ecto.Changeset.inspect/2934935    warning: incompatible types given to Mix.Ecto.ensure_started/2:936937        Mix.Ecto.ensure_started(repo, opts)938939    given types:940941        -dynamic(atom())-, dynamic(empty_list() or non_empty_list(term(), term()))942943    but expected one of:944945        %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())946947    where "opts" was given the type:948949        # type: dynamic(950          %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or951            non_struct_map()952        )953        # from: lib/mix/tasks/ecto.rollback.ex:64:10954        opts =955          if opts[:quiet] do956            Keyword.merge(opts, log: false, log_sql: false)957          else958            opts959          end960961    where "repo" was given the type:962963        # type: dynamic(atom())964        # from: lib/mix/tasks/ecto.rollback.ex:70:7965        Mix.Ecto.ensure_repo(repo, args)966967    type warning found at:968    │969 72 │       {:ok, pid, apps} = ensure_started(repo, opts)970    │                          ~971    │972    └─ lib/mix/tasks/ecto.rollback.ex:72:26: Mix.Tasks.Ecto.Rollback.run/2973974    warning: incompatible types given to Mix.Ecto.ensure_started/2:975976        Mix.Ecto.ensure_started(repo, all: true)977978    given types:979980        -dynamic(atom())-, non_empty_list({:all, true})981982    but expected one of:983984        %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())985986    where "repo" was given the type:987988        # type: dynamic(atom())989        # from: lib/mix/tasks/ecto.migrations.ex:37:7990        Mix.Ecto.ensure_repo(repo, args)991992    type warning found at:993    │994 39 │       {:ok, pid, _} = ensure_started(repo, all: true)995    │                       ~996    │997    └─ lib/mix/tasks/ecto.migrations.ex:39:23: Mix.Tasks.Ecto.Migrations.run/3998999     warning: the following clause will never match:10001001         [{^module, :changeset, args_or_arity, _}] when args_or_arity == 2 when length(args_or_arity) == 2 ->10021003     because it attempts to match on the result of:10041005         System.stacktrace()10061007     which has type:10081009         empty_list()10101011     where "args_or_arity" was given the type:10121013         # type: float() or integer() or non_empty_list(term())1014         # from: lib/ecto/changeset.ex1015         (_() when args_or_arity == 2) when length(args_or_arity) == 210161017     where "module" was given the type:10181019         # type: dynamic()1020         # from: lib/ecto/changeset.ex:733:301021         module10221023     type warning found at:1024     │1025 741 │ ...                   when length(args_or_arity) == 2 ->1026     │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1027     │1028     └─ lib/ecto/changeset.ex:741: Ecto.Changeset.on_cast_default/210291030    warning: incompatible types given to Mix.Ecto.ensure_started/2:10311032        Mix.Ecto.ensure_started(repo, opts)10331034    given types:10351036        -dynamic(atom())-, dynamic(empty_list() or non_empty_list(term(), term()))10371038    but expected one of:10391040        %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())10411042    where "opts" was given the type:10431044        # type: dynamic(1045          %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or1046            non_struct_map()1047        )1048        # from: lib/mix/tasks/ecto.migrate.ex:68:101049        opts =1050          if opts[:quiet] do1051            Keyword.merge(opts, log: false, log_sql: false)1052          else1053            opts1054          end10551056    where "repo" was given the type:10571058        # type: dynamic(atom())1059        # from: lib/mix/tasks/ecto.migrate.ex:74:71060        Mix.Ecto.ensure_repo(repo, args)10611062    type warning found at:1063    │1064 76 │       {:ok, pid, apps} = ensure_started(repo, opts)1065    │                          ~1066    │1067    └─ lib/mix/tasks/ecto.migrate.ex:76:26: Mix.Tasks.Ecto.Migrate.run/210681069     warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1070     │1071 739 │           case System.stacktrace do1072     │                       ~1073     │1074     └─ lib/ecto/changeset.ex:739:23: Ecto.Changeset.on_cast_default/210751076    warning: incompatible types given to Mix.Ecto.source_repo_priv/1:10771078        Mix.Ecto.source_repo_priv(repo)10791080    given types:10811082        -dynamic(%{..., __adapter__: atom(), config: empty_list() or non_empty_list(term(), term())})-10831084    but expected one of:10851086        atom()10871088    where "repo" was given the types:10891090        # type: dynamic(%{..., config: empty_list() or non_empty_list(term(), term())})1091        # from: lib/mix/tasks/ecto.load.ex:70:221092        Keyword.merge(repo.config, opts)10931094        # type: dynamic(%{..., __adapter__: atom(), config: empty_list() or non_empty_list(term(), term())})1095        # from: lib/mix/tasks/ecto.load.ex:72:271096        repo.__adapter__.structure_load(Mix.Ecto.source_repo_priv(repo), config)10971098    type warning found at:1099    │1100 72 │     case repo.__adapter__.structure_load(source_repo_priv(repo), config) do1101    │                                          ~1102    │1103    └─ lib/mix/tasks/ecto.load.ex:72:42: Mix.Tasks.Ecto.Load.load_structure/211041105    warning: expected a map or struct when accessing .__adapter__ in expression:11061107        repo.__adapter__11081109    where "repo" was given the type:11101111        # type: dynamic(atom())1112        # from: lib/mix/tasks/ecto.load.ex:53:71113        Mix.Ecto.ensure_repo(repo, args)11141115    hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()11161117    type warning found at:1118    │1119 54 │       ensure_implements(repo.__adapter__, Ecto.Adapter.Structure,1120    │                              ~1121    │1122    └─ lib/mix/tasks/ecto.load.ex:54:30: Mix.Tasks.Ecto.Load.run/111231124    warning: expected a map or struct when accessing .__adapter__ in expression:11251126        repo.__adapter__11271128    where "repo" was given the type:11291130        # type: dynamic(atom())1131        # from: lib/mix/tasks/ecto.dump.ex:50:71132        Mix.Ecto.ensure_repo(repo, args)11331134    hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()11351136    type warning found at:1137    │1138 51 │       ensure_implements(repo.__adapter__, Ecto.Adapter.Structure,1139    │                              ~1140    │1141    └─ lib/mix/tasks/ecto.dump.ex:51:30: Mix.Tasks.Ecto.Dump.run/111421143    warning: expected a map or struct when accessing .__adapter__ in expression:11441145        repo.__adapter__11461147    where "repo" was given the type:11481149        # type: dynamic(atom())1150        # from: lib/mix/tasks/ecto.drop.ex:39:71151        Mix.Ecto.ensure_repo(repo, args)11521153    hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()11541155    type warning found at:1156    │1157 40 │       ensure_implements(repo.__adapter__, Ecto.Adapter.Storage,1158    │                              ~1159    │1160    └─ lib/mix/tasks/ecto.drop.ex:40:30: Mix.Tasks.Ecto.Drop.run/111611162    warning: expected a map or struct when accessing .__adapter__ in expression:11631164        repo.__adapter__11651166    where "repo" was given the type:11671168        # type: dynamic(atom())1169        # from: lib/mix/tasks/ecto.create.ex:37:71170        Mix.Ecto.ensure_repo(repo, args)11711172    hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()11731174    type warning found at:1175    │1176 38 │       ensure_implements(repo.__adapter__, Ecto.Adapter.Storage,1177    │                              ~1178    │1179    └─ lib/mix/tasks/ecto.create.ex:38:30: Mix.Tasks.Ecto.Create.run/111801181    warning: Mix.Project.compile/1 is deprecated. Use Mix.Task.run("compile", args) instead1182    │1183 62 │       Mix.Project.compile(args)1184    │                   ~1185    │1186    └─ lib/mix/ecto.ex:62:19: Mix.Ecto.ensure_repo/211871188     warning: expected a module (an atom) when invoking start_link/1 in expression:11891190         repo.start_link(pool_size: pool_size)11911192     where "pool_size" was given the type:11931194         # type: dynamic()1195         # from: lib/mix/ecto.ex:101:151196         pool_size = Keyword.get(opts, :pool_size, 1)11971198     where "repo" was given the type:11991200         # type: dynamic(%{..., __adapter__: atom()})1201         # from: lib/mix/ecto.ex:99:361202         repo.__adapter__.ensure_all_started(repo, :temporary)12031204     type warning found at:1205     │1206 102 │     case repo.start_link(pool_size: pool_size) do1207     │               ~1208     │1209     └─ lib/mix/ecto.ex:102:15: Mix.Ecto.ensure_started/212101211     warning: Logger.remove_backend/1 is deprecated. Use LoggerBackends.remove/2 from :logger_backends dependency1212     │1213 146 │     Logger.remove_backend(:console)1214     │            ~1215     │1216     └─ lib/mix/ecto.ex:146:12: Mix.Ecto.restart_apps_if_migrated/212171218     warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1219     │1220 856 │       not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->1221     │                                                                              ~1222     │1223     └─ lib/ecto/association.ex:856:78: Ecto.Association.ManyToMany.after_compile_validation/21224     └─ lib/ecto/association.ex:860:45: Ecto.Association.ManyToMany.after_compile_validation/212251226     warning: Logger.add_backend/2 is deprecated. Use LoggerBackends.add/2 from :logger_backends dependency1227     │1228 155 │     Logger.add_backend(:console, flush: true)1229     │            ~1230     │1231     └─ lib/mix/ecto.ex:155:12: Mix.Ecto.restart_apps_if_migrated/212321233    warning: incompatible types given to get_source/1:12341235        get_source(repo)12361237    given types:12381239        -dynamic(atom())-12401241    but expected one of:12421243        %{..., config: empty_list() or non_empty_list(term(), term())}12441245    where "repo" was given the type:12461247        # type: dynamic(atom())1248        # from: lib/ecto/migration/schema_migration.ex:24:131249        repo.all(1250          Map.put(1251            (1252              query =1253                (1254                  query = {get_source(repo), Ecto.Migration.SchemaMigration}1255                  Ecto.Query.Builder.From.apply(query, 1)1256                )1257        1258              Ecto.Query.Builder.Select.apply(query, %Ecto.Query.SelectExpr{1259                ...,1260                expr: {{:., [], [{:&, [], [0]}, :version]}, [], []},1261                file: "/work/proj/deps_x86_64/ecto/lib/ecto/migration/schema_migration.ex",1262                line: 22,1263                take: %{}1264              })1265            ),1266            :prefix,1267            prefix1268          ), timeout: :infinity, log: false)12691270    type warning found at:1271    │1272 22 │     from(p in {get_source(repo), __MODULE__}, select: p.version)1273    │                ~1274    │1275    └─ lib/ecto/migration/schema_migration.ex:22:16: Ecto.Migration.SchemaMigration.migrated_versions/212761277     warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1278     │1279 715 │       not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->1280     │                                                                              ~1281     │1282     └─ lib/ecto/association.ex:715:78: Ecto.Association.BelongsTo.after_compile_validation/212831284    warning: incompatible types given to get_source/1:12851286        get_source(repo)12871288    given types:12891290        -dynamic(atom())-12911292    but expected one of:12931294        %{..., config: empty_list() or non_empty_list(term(), term())}12951296    where "repo" was given the type:12971298        # type: dynamic(atom())1299        # from: lib/ecto/migration/schema_migration.ex:30:131300        repo.insert!(1301          Ecto.put_meta(%Ecto.Migration.SchemaMigration{..., version: version},1302            prefix: prefix,1303            source: get_source(repo)1304          ), timeout: :infinity, log: false)13051306    type warning found at:1307    │1308 29 │     |> Ecto.put_meta(prefix: prefix, source: get_source(repo))1309    │                                              ~1310    │1311    └─ lib/ecto/migration/schema_migration.ex:29:46: Ecto.Migration.SchemaMigration.up/313121313     warning: the following conditional expression:13141315         is_atom(related)13161317     will always evaluate to:13181319         dynamic(true)13201321     where "related" was given the type:13221323         # type: dynamic(atom())1324         # from: lib/ecto/association.ex:730:151325         related = Ecto.Association.related_from_query(queryable)13261327     type warning found at:1328     │1329 732 │     unless is_atom(related) do1330     │     ~~~~~~~~~~~~~~~~~~~~~~~~~~1331     │1332     └─ lib/ecto/association.ex:732: Ecto.Association.BelongsTo.struct/313331334    warning: incompatible types given to get_source/1:13351336        get_source(repo)13371338    given types:13391340        -dynamic(atom())-13411342    but expected one of:13431344        %{..., config: empty_list() or non_empty_list(term(), term())}13451346    where "repo" was given the type:13471348        # type: dynamic(atom())1349        # from: lib/ecto/migration/schema_migration.ex:36:131350        repo.delete_all(1351          Map.put(1352            (1353              query =1354                (1355                  query = {get_source(repo), Ecto.Migration.SchemaMigration}1356                  Ecto.Query.Builder.From.apply(query, 1)1357                )1358        1359              Ecto.Query.Builder.Filter.apply(query, :where, %Ecto.Query.BooleanExpr{1360                expr: {:==, [], [{{:., [], [{:&, [], [0]}, :version]}, [], []}, {:^, [], [0]}]},1361                op: :and,1362                params: [{Ecto.Query.Builder.not_nil!(version), {0, :version}}],1363                file: "/work/proj/deps_x86_64/ecto/lib/ecto/migration/schema_migration.ex",1364                line: 341365              })1366            ),1367            :prefix,1368            prefix1369          ), timeout: :infinity, log: false)13701371    type warning found at:1372    │1373 34 │     from(p in {get_source(repo), __MODULE__}, where: p.version == ^version)1374    │                ~1375    │1376    └─ lib/ecto/migration/schema_migration.ex:34:16: Ecto.Migration.SchemaMigration.down/313771378     warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1379     │1380 430 │       not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->1381     │                                                                              ~1382     │1383     └─ lib/ecto/association.ex:430:78: Ecto.Association.Has.after_compile_validation/213841385      warning: this clause of defp type_to_module/1 is never used (or it will always fail/warn when invoked)1386      │1387 1422 │   defp type_to_module(:naive_datetime), do: NaiveDateTime1388      │        ~1389      │1390      └─ lib/ecto/schema.ex:1422:8: Ecto.Schema.type_to_module/113911392      warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1393      │1394 1885 │         if Code.ensure_compiled?(type) and function_exported?(type, :type, 0) do1395      │                 ~1396      │1397      └─ lib/ecto/schema.ex:1885:17: Ecto.Schema.check_type!/313981399     warning: the following clause will never match:14001401         {:error, _} = error ->14021403     because it attempts to match on the result of:14041405         apply(changeset, adapter, :insert, args)14061407     which has type:14081409         dynamic({:invalid or :ok, term()})14101411     type warning found at:1412     │1413 219 │           {:error, _} = error ->1414     │                       ~1415     │1416     └─ lib/ecto/repo/schema.ex:219:23: Ecto.Repo.Schema.do_insert/414171418    warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead1419    │1420 29 │     surround_many("#Ecto.Query<", list, ">", opts, fn str, _ -> str end)1421    │     ~1422    │1423    └─ lib/ecto/query/inspect.ex:29:5: Inspect.Ecto.Query.inspect/214241425     warning: the following clause will never match:14261427         {:error, _} = error ->14281429     because it attempts to match on the result of:14301431         apply(changeset, adapter, action, args)14321433     which has type:14341435         dynamic({:invalid or :ok, term()})14361437     type warning found at:1438     │1439 297 │             {:error, _} = error ->1440     │                         ~1441     │1442     └─ lib/ecto/repo/schema.ex:297:25: Ecto.Repo.Schema.do_update/414431444     warning: Macro.to_string/2 is deprecated. Use Macro.to_string/1 instead1445     │1446 144 │     Macro.to_string(expr, &expr_to_string(&1, &2, names, part))1447     │           ~1448     │1449     └─ lib/ecto/query/inspect.ex:144:11: Inspect.Ecto.Query.expr/314501451    warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1452    │1453 54 │       filter_and_reraise e, System.stacktrace1454    │                                    ~1455    │1456    └─ lib/ecto/repo/preloader.ex:54:36: Ecto.Repo.Preloader.normalize_and_preload_each/514571458    warning: Map.size/1 is deprecated. Use Kernel.map_size/1 instead1459    │1460 44 │     index  = Map.size(params)1461    │                  ~1462    │1463    └─ lib/ecto/query/builder.ex:44:18: Ecto.Query.Builder.escape/51464    └─ lib/ecto/query/builder.ex:53:17: Ecto.Query.Builder.escape/514651466     warning: Decimal.minus/1 is deprecated. Use Decimal.negate/1 instead1467     │1468 614 │     Decimal.minus(decimal)1469     │             ~1470     │1471     └─ lib/ecto/query/builder.ex:614:13: Ecto.Query.Builder.negate!/114721473     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)1474     │1475 228 │         raise BadStructError, struct: struct, term: data1476     │         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1477     │1478     └─ lib/ecto/repo/queryable.ex:228: Ecto.Repo.Queryable.process/514791480     warning: the following clause will never match:14811482         {:error, _} ->14831484     because it attempts to match on the result of:14851486         NaiveDateTime.new(date, time)14871488     which has type:14891490         dynamic({:ok, %NaiveDateTime{}})14911492     type warning found at:1493     │1494 803 │         {:error, _} -> :error1495     │         ~~~~~~~~~~~~~~~~~~~~~1496     │1497     └─ lib/ecto/type.ex:803: Ecto.Type.cast_naive_datetime/114981499     warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1500     │1501 214 │       filter_and_reraise e, System.stacktrace1502     │                                    ~1503     │1504     └─ lib/ecto/query/planner.ex:214:36: Ecto.Query.Planner.prepare/41505     └─ lib/ecto/query/planner.ex:709:36: Ecto.Query.Planner.normalize/415061507     warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1508     │1509 159 │         supervise(children, strategy: :one_for_one)1510     │         ~1511     │1512     └─ lib/ecto/repo/supervisor.ex:159:9: Ecto.Repo.Supervisor.init/115131514      warning: expected a map or struct when accessing .__struct__ in expression:15151516          schema.__struct__15171518      where "schema" was given the types:15191520          # type: dynamic(atom() and not nil)1521          # from: lib/ecto/query/planner.ex:1186:411522          schema15231524          # type: atom()1525          # from: lib/ecto/query/planner.ex:1186:611526          is_atom(schema)15271528      hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()15291530      type warning found at:1531      │1532 1190 │       Map.has_key?(schema.__struct__, field) ->1533      │                           ~1534      │1535      └─ lib/ecto/query/planner.ex:1190:27: Ecto.Query.Planner.type!/615361537    warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead1538    │1539 15 │     surround_many("dynamic(", [Macro.to_string(binding), inspected], ")", opts, fn str, _ -> str end)1540    │     ~1541    │1542    └─ lib/ecto/query/inspect.ex:15:5: Inspect.Ecto.Query.DynamicExpr.inspect/215431544    warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead1545    │1546 12 │       worker(Ecto.Migration.Runner, [], restart: :temporary)1547    │       ~1548    │1549    └─ lib/ecto/migration/supervisor.ex:12:7: Ecto.Migration.Supervisor.init/115501551    warning: incompatible types given to Ecto.Migration.SchemaMigration.migrated_versions/2:15521553        Ecto.Migration.SchemaMigration.migrated_versions(repo, opts[:prefix])15541555    given types:15561557        (1558          -dynamic(%{..., __adapter__: term(), config: empty_list() or non_empty_list(term(), term())})-,1559          dynamic()1560        )15611562    but expected one of:15631564        atom(), term()15651566    where "opts" was given the type:15671568        # type: dynamic(1569          %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or1570            non_struct_map()1571        )1572        # from: lib/ecto/migrator.ex:44:651573        opts[:prefix]15741575    where "repo" was given the type:15761577        # type: dynamic(%{..., __adapter__: term(), config: empty_list() or non_empty_list(term(), term())})1578        # from: lib/ecto/migrator.ex:44:231579        Ecto.Migration.SchemaMigration.ensure_schema_migrations_table!(repo, opts[:prefix])15801581    type warning found at:1582    │1583 45 │       SchemaMigration.migrated_versions(repo, opts[:prefix])1584    │                       ~1585    │1586    └─ lib/ecto/migrator.ex:45:23: Ecto.Migrator.migrated_versions/215871588    warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1589    │1590 15 │     supervise(children, strategy: :simple_one_for_one)1591    │     ~1592    │1593    └─ lib/ecto/migration/supervisor.ex:15:5: Ecto.Migration.Supervisor.init/115941595     warning: expected a module (an atom) when invoking transaction/2 in expression:15961597         repo.transaction(fun, log: false, timeout: :infinity)15981599     where "fun" was given the type:16001601         # type: dynamic()1602         # from: lib/ecto/migrator.ex:114:471603         fun16041605     where "repo" was given the types:16061607         # type: dynamic(%{..., __adapter__: %{..., supports_ddl_transaction?: term()}})1608         # from: lib/ecto/migrator.ex:118:241609         repo.__adapter__.supports_ddl_transaction?16101611         # type: dynamic(%{..., __adapter__: %{..., supports_ddl_transaction?: not false and not nil}})1612         # from: lib/ecto/migrator.ex:118:241613         repo.__adapter__.supports_ddl_transaction?16141615     type warning found at:1616     │1617 119 │         repo.transaction(fun, [log: false, timeout: :infinity])1618     │              ~1619     │1620     └─ lib/ecto/migrator.ex:119:14: Ecto.Migrator.run_maybe_in_transaction/316211622    warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1623    │1624 10 │       worker(Ecto.Registry, []),1625    │       ~1626    │1627    └─ lib/ecto/application.ex:10:7: Ecto.Application.start/216281629     warning: Code.load_file/1 is deprecated. Use Code.require_file/2 or Code.compile_file/2 instead1630     │1631 291 │     modules = Code.load_file(file)1632     │                    ~1633     │1634     └─ lib/ecto/migrator.ex:291:20: Ecto.Migrator.extract_module/216351636    warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1637    │1638 11 │       supervisor(Ecto.Migration.Supervisor, [])1639    │       ~1640    │1641    └─ lib/ecto/application.ex:11:7: Ecto.Application.start/216421643     warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1644     │1645 321 │         reraise error, System.stacktrace1646     │                               ~1647     │1648     └─ lib/ecto/migrator.ex:321:31: Ecto.Migrator.verbose_schema_migration/316491650Generated ecto app1651==> phoenix_ecto1652Compiling 6 files (.ex)1653    warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1654    │1655 10 │     supervise([1656    │     ~1657    │1658    └─ lib/phoenix_ecto/sql/sandbox_supervisor.ex:10:5: Phoenix.Ecto.SQL.SandboxSupervisor.init/116591660    warning: function actions/1 required by protocol Plug.Exception is not implemented (in module Plug.Exception.Ecto.SubQueryError)1661    │1662 20 │   defimpl Plug.Exception, for: Ecto.SubQueryError do1663    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1664    │1665    └─ lib/phoenix_ecto/plug.ex:20: Plug.Exception.Ecto.SubQueryError (module)16661667    warning: function actions/1 required by protocol Plug.Exception is not implemented (in module Plug.Exception.Ecto.InvalidChangesetError)1668    │1669 13 │     defimpl Plug.Exception, for: exception do1670    │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1671    │1672    └─ lib/phoenix_ecto/plug.ex:13: Plug.Exception.Ecto.InvalidChangesetError (module)16731674    warning: function actions/1 required by protocol Plug.Exception is not implemented (in module Plug.Exception.Ecto.StaleEntryError)1675    │1676 13 │     defimpl Plug.Exception, for: exception do1677    │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1678    │1679    └─ lib/phoenix_ecto/plug.ex:13: Plug.Exception.Ecto.StaleEntryError (module)16801681    warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead1682    │1683 11 │       worker(Phoenix.Ecto.SQL.SandboxSession, [], restart: :temporary)1684    │       ~1685    │1686    └─ lib/phoenix_ecto/sql/sandbox_supervisor.ex:11:7: Phoenix.Ecto.SQL.SandboxSupervisor.init/116871688    warning: function actions/1 required by protocol Plug.Exception is not implemented (in module Plug.Exception.Ecto.NoResultsError)1689    │1690 13 │     defimpl Plug.Exception, for: exception do1691    │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1692    │1693    └─ lib/phoenix_ecto/plug.ex:13: Plug.Exception.Ecto.NoResultsError (module)16941695    warning: function actions/1 required by protocol Plug.Exception is not implemented (in module Plug.Exception.Ecto.Query.CastError)1696    │1697 13 │     defimpl Plug.Exception, for: exception do1698    │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1699    │1700    └─ lib/phoenix_ecto/plug.ex:13: Plug.Exception.Ecto.Query.CastError (module)17011702    warning: function actions/1 required by protocol Plug.Exception is not implemented (in module Plug.Exception.Ecto.CastError)1703    │1704 13 │     defimpl Plug.Exception, for: exception do1705    │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1706    │1707    └─ lib/phoenix_ecto/plug.ex:13: Plug.Exception.Ecto.CastError (module)17081709    warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1710    │1711 13 │       supervisor(Phoenix.Ecto.SQL.SandboxSupervisor, [])1712    │       ~1713    │1714    └─ lib/phoenix_ecto.ex:13:7: Phoenix.Ecto.start/217151716Generated phoenix_ecto app1717==> ex_machina1718Compiling 6 files (.ex)1719     warning: Ecto.Type.embedded_dump/3 is undefined or private1720     │1721 257 │     Ecto.Type.embedded_dump(type, value, :json)1722     │               ~1723     │1724     └─ lib/ex_machina/ecto.ex:257:15: ExMachina.Ecto.try_embedded_dump/217251726Generated ex_machina app1727==> flashtag1728Compiling 16 files (.ex)1729    warning: Module.eval_quoted/2 is deprecated. Use Code.eval_quoted/3 instead1730    │1731  9 │   schema "users" do1732    │   ~~~~~~~~~~~~~~~~~1733    │1734    └─ lib/flashtag/accounts/user.ex:9: Flashtag.Accounts.User (module)17351736    warning: Module.eval_quoted/2 is deprecated. Use Code.eval_quoted/3 instead1737    │1738 10 │   schema "categories" do1739    │   ~~~~~~~~~~~~~~~~~~~~~~1740    │1741    └─ lib/flashtag/blog/category.ex:10: Flashtag.Blog.Category (module)17421743    warning: Module.eval_quoted/2 is deprecated. Use Code.eval_quoted/3 instead1744    │1745 10 │   schema "posts" do1746    │   ~~~~~~~~~~~~~~~~~1747    │1748    └─ lib/flashtag/blog/post.ex:10: Flashtag.Blog.Post (module)17491750    warning: Module.eval_quoted/2 is deprecated. Use Code.eval_quoted/3 instead1751    │1752 10 │   schema "series" do1753    │   ~~~~~~~~~~~~~~~~~~1754    │1755    └─ lib/flashtag/blog/series.ex:10: Flashtag.Blog.Series (module)17561757    warning: Module.eval_quoted/2 is deprecated. Use Code.eval_quoted/3 instead1758    │1759 10 │   schema "tags" do1760    │   ~~~~~~~~~~~~~~~~1761    │1762    └─ lib/flashtag/blog/tag.ex:10: Flashtag.Blog.Tag (module)176317641765== Compilation error in file lib/flashtag/repo.ex ==1766** (ArgumentError) missing :adapter configuration in config :flashtag, Flashtag.Repo1767    (ecto 2.2.12) lib/ecto/repo/supervisor.ex:70: Ecto.Repo.Supervisor.compile_config/21768    lib/flashtag/repo.ex:4: (module)1769could not compile dependency :flashtag, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile flashtag --force", update it with "mix deps.update flashtag" or clean it with "mix deps.clean flashtag"