Build log
nerves_system_x86_64
servicex_matching 0.0.1 · fail · run servicex_matching-0.0.1-1791099677034
2022 of 2022 lines
1Resolving Hex dependencies...2Resolution completed in 0.369s3Unchanged:4 bcrypt_elixir 1.1.15 certifi 2.15.06 circular_buffer 1.1.07 combine 0.10.08 comeonin 4.1.29 connection 1.0.410 cors_plug 1.5.211 cowboy 1.1.2 VULNERABLE!12 GHSA-w4f7-4cxr-rv3c (MEDIUM)13 aka: CVE-2026-43966, EEF-CVE-2026-4396614 cowboy and gun affected by an HTTP Request/Response Splitting vulnerability15 https://osv.dev/vulnerability/GHSA-w4f7-4cxr-rv3c16 cowlib 1.0.2 VULNERABLE!17 EEF-CVE-2026-7790 (HIGH)18 aka: CVE-2026-7790, GHSA-32p9-57cr-4x6519 Unbounded chunk-size hex digits in cowlib cause quadratic CPU and memory DoS20 https://osv.dev/vulnerability/EEF-CVE-2026-77902122 EEF-CVE-2026-43970 (HIGH)23 aka: CVE-2026-43970, GHSA-84f2-rp86-235p24 Decompression Bomb in cow_spdy:inflate/2 Allows Memory Exhaustion via Crafted SPDY Frame25 https://osv.dev/vulnerability/EEF-CVE-2026-4397026 db_connection 1.1.327 decimal 1.9.0 VULNERABLE!28 EEF-CVE-2026-32686 (MEDIUM)29 aka: CVE-2026-32686, GHSA-rhv4-8758-jx7v30 Unbounded exponent in decimal enables unauthenticated DoS31 https://osv.dev/vulnerability/EEF-CVE-2026-3268632 ecto 2.2.1233 elixir_make 0.10.034 expo 1.1.135 gettext 0.26.236 guardian 1.2.1 VULNERABLE!37 EEF-CVE-2026-54894 (MEDIUM)38 aka: CVE-2026-54894, GHSA-xqch-c77q-rgh539 Atom-table exhaustion denial of service in Guardian via unbounded atom creation from binary keys40 https://osv.dev/vulnerability/EEF-CVE-2026-548944142 EEF-CVE-2026-55735 (HIGH)43 aka: CVE-2026-55735, GHSA-7975-hp3r-5qhv44 Guardian.revoke/3 acts on unverified token claims, allowing forged-token session revocation45 https://osv.dev/vulnerability/EEF-CVE-2026-5573546 guardian_db 1.1.047 hackney 1.25.0 VULNERABLE!48 EEF-CVE-2026-47071 (HIGH)49 aka: CVE-2026-47071, GHSA-gp9c-pm5m-5cxr50 SOCKS5 TLS upgrade ignores caller timeout in hackney51 https://osv.dev/vulnerability/EEF-CVE-2026-470715253 EEF-CVE-2026-47076 (MEDIUM)54 aka: CVE-2026-47076, GHSA-pj7v-xfvx-wmjq55 SSRF allowlist bypass via percent-encoded host in hackney56 https://osv.dev/vulnerability/EEF-CVE-2026-470765758 EEF-CVE-2026-47069 (LOW)59 aka: CVE-2026-47069, GHSA-mp55-p8c9-rfw260 CRLF injection in cookie domain/path options in hackney61 https://osv.dev/vulnerability/EEF-CVE-2026-470696263 EEF-CVE-2026-47075 (MEDIUM)64 aka: CVE-2026-47075, GHSA-j9wq-vxxc-94wf65 CR/LF injection in query parameter in hackney66 https://osv.dev/vulnerability/EEF-CVE-2026-4707567 httpoison 1.8.268 idna 6.1.169 interactive_cmd 0.1.470 jose 1.11.1271 metrics 1.0.172 mime 2.0.773 mimerl 1.5.074 nerves 2.0.0-pre.275 nerves_discovery 0.1.576 nerves_logging 0.2.477 nerves_runtime 0.13.1378 nerves_system_bbb 2.30.279 nerves_system_br 1.34.480 nerves_system_mangopi_mq_pro 0.17.281 nerves_system_qemu_aarch64 0.4.282 nerves_system_rpi0 2.1.283 nerves_system_rpi4 2.1.284 nerves_system_rpi5 2.1.285 nerves_system_trellis 0.5.086 nerves_system_x86_64 1.34.287 nerves_toolchain_aarch64_nerves_linux_gnu 15.3.188 nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.189 nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.190 nerves_toolchain_riscv64_nerves_linux_gnu 15.3.191 nerves_toolchain_x86_64_nerves_linux_musl 15.3.192 nerves_uevent 0.1.793 parse_trans 3.4.194 phoenix 1.3.5 VULNERABLE!95 GHSA-p8f7-22gq-m7j9 (HIGH)96 aka: CVE-2022-4297597 Phoenix before 1.6.14 mishandles check_origin wildcarding98 https://osv.dev/vulnerability/GHSA-p8f7-22gq-m7j999100 EEF-CVE-2026-56812 (MEDIUM)101 aka: CVE-2026-56812, GHSA-63mc-hw7g-86rr102 Phoenix JavaScript presence client crashes on presence keys colliding with Object.prototype members in Presence.syncState/syncDiff103 https://osv.dev/vulnerability/EEF-CVE-2026-56812104105 EEF-CVE-2026-56811 (HIGH)106 aka: CVE-2026-56811, GHSA-6983-jfq8-485w107 Phoenix transports do not limit channel joins per connection, enabling process-exhaustion denial of service108 https://osv.dev/vulnerability/EEF-CVE-2026-56811109 phoenix_ecto 3.6.0110 phoenix_html 2.14.3 VULNERABLE!111 GHSA-5g2h-9x5v-5h3x (MEDIUM)112 aka: CVE-2021-46871, GHSA-j3gg-r6gp-95q2113 phoenix_html allows Cross-site Scripting in HEEx class attributes114 https://osv.dev/vulnerability/GHSA-5g2h-9x5v-5h3x115 phoenix_pubsub 1.1.2116 plug 1.20.3117 plug_crypto 2.2.0118 poison 3.1.0119 poolboy 1.5.2120 postgrex 0.13.5121 property_table 0.3.4122 ranch 1.3.2123 ring_logger 0.11.7124 servicex 0.1.2125 servicex_matching 0.0.1126 ssl_verify_fun 1.1.7127 tablet 0.3.3128 telemetry 1.4.2129 timex 3.7.13130 toolshed 0.5.0131 tzdata 1.2.2132 uboot_env 1.0.2133 unicode_util_compat 0.7.1134* Getting servicex_matching (Hex package)135* Getting nerves (Hex package)136* Getting ring_logger (Hex package)137* Getting toolshed (Hex package)138* Getting nerves_runtime (Hex package)139* Getting nerves_system_bbb (Hex package)140* Getting nerves_system_mangopi_mq_pro (Hex package)141* Getting nerves_system_qemu_aarch64 (Hex package)142* Getting nerves_system_rpi0 (Hex package)143* Getting nerves_system_rpi4 (Hex package)144* Getting nerves_system_rpi5 (Hex package)145* Getting nerves_system_trellis (Hex package)146* Getting nerves_system_x86_64 (Hex package)147* Getting nerves_system_br (Hex package)148* Getting nerves_toolchain_x86_64_nerves_linux_musl (Hex package)149* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)150* Getting nerves_toolchain_aarch64_nerves_linux_gnu (Hex package)151* Getting nerves_toolchain_armv6_nerves_linux_gnueabihf (Hex package)152* Getting nerves_toolchain_riscv64_nerves_linux_gnu (Hex package)153* Getting nerves_logging (Hex package)154* Getting nerves_uevent (Hex package)155* Getting uboot_env (Hex package)156* Getting elixir_make (Hex package)157* Getting property_table (Hex package)158* Getting circular_buffer (Hex package)159* Getting interactive_cmd (Hex package)160* Getting nerves_discovery (Hex package)161* Getting tablet (Hex package)162* Getting cors_plug (Hex package)163* Getting cowboy (Hex package)164* Getting gettext (Hex package)165* Getting httpoison (Hex package)166* Getting phoenix (Hex package)167* Getting phoenix_ecto (Hex package)168* Getting phoenix_html (Hex package)169* Getting phoenix_pubsub (Hex package)170* Getting postgrex (Hex package)171* Getting servicex (Hex package)172* Getting bcrypt_elixir (Hex package)173* Getting comeonin (Hex package)174* Getting guardian (Hex package)175* Getting guardian_db (Hex package)176* Getting poison (Hex package)177* Getting timex (Hex package)178* Getting combine (Hex package)179* Getting tzdata (Hex package)180* Getting ecto (Hex package)181* Getting decimal (Hex package)182* Getting poolboy (Hex package)183* Getting jose (Hex package)184* Getting connection (Hex package)185* Getting db_connection (Hex package)186* Getting plug (Hex package)187* Getting mime (Hex package)188* Getting plug_crypto (Hex package)189* Getting telemetry (Hex package)190* Getting hackney (Hex package)191* Getting certifi (Hex package)192* Getting idna (Hex package)193* Getting metrics (Hex package)194* Getting mimerl (Hex package)195* Getting parse_trans (Hex package)196* Getting ssl_verify_fun (Hex package)197* Getting unicode_util_compat (Hex package)198* Getting expo (Hex package)199* Getting cowlib (Hex package)200* Getting ranch (Hex package)201Found packages with security advisories, see above for details202 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 quotes203 │204 79 │ "test": ["ecto.drop", "ecto.create --quiet", "ecto.migrate", "run priv/repo/seeds.exs", "test"]205 │ ~206 │207 └─ /work/proj/deps_x86_64/servicex/mix.exs:79:7208209 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 quotes210 │211 75 │ "test": ["ecto.drop", "ecto.create --quiet", "ecto.migrate", "test"]212 │ ~213 │214 └─ /work/proj/deps_x86_64/servicex_matching/mix.exs:75:7215216 warning: String.strip/1 is deprecated. Use String.trim/1 instead217 │218 4 │ @version File.read!("VERSION") |> String.strip219 │ ~220 │221 └─ /work/proj/deps_x86_64/poison/mix.exs:4:44: Poison.Mixfile (module)222223==> comeonin224Compiling 2 files (.ex)225Generated comeonin app226warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"227 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2228 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1229 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5230 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2231 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4232 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2233234==> phoenix235Compiling 75 files (.ex)236 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 operator237 │238 170 │ <<attr::size(prefix)-binary, ":unique">> -> attr239 │ ~240 │241 └─ lib/mix/phoenix/schema.ex:170:20: Mix.Phoenix.Schema.drop_unique/1242243 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 310 │ :error_logger.warning_msg('~p ~p received unexpected message in handle_info/2: ~p~n',249 │ ~250 │251 └─ lib/phoenix/channel/server.ex:310:31252253 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead254 │255 39 │ Logger.warn "Phoenix is unable to create symlinks. Phoenix' code reloader will run " <>256 │ ~257 │258 └─ lib/phoenix/code_reloader/server.ex:39:20: Phoenix.CodeReloader.Server.handle_call/3259260 warning: unused require Logger261 │262 20 │ require Logger263 │ ~264 │265 └─ lib/phoenix/endpoint/handler.ex:20:3266267 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead268 │269 39 │ Logger.warn """270 │ ~271 │272 └─ lib/phoenix/endpoint/supervisor.ex:39:14: Phoenix.Endpoint.Supervisor.init/1273274 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 operator275 │276 46 │ <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix277 │ ~278 │279 └─ lib/phoenix/naming.ex:46:29: Phoenix.Naming.unsuffix/2280281 warning: using single-quoted strings to represent charlists is deprecated.282 Use ~c"" if you indeed want a charlist or use "" instead.283 You may run "mix format --migrate" to change all single-quoted284 strings to use the ~c sigil and fix this warning.285 │286 315 │ @anno (if :erlang.system_info(:otp_release) >= '19' do287 │ ~288 │289 └─ lib/phoenix/router.ex:315:50290291 warning: using single-quoted strings to represent charlists is deprecated.292 Use ~c"" if you indeed want a charlist or use "" instead.293 You may run "mix format --migrate" to change all single-quoted294 strings to use the ~c sigil and fix this warning.295 │296 195 │ @anno (if :erlang.system_info(:otp_release) >= '19' do297 │ ~298 │299 └─ lib/phoenix/router/helpers.ex:195:50300301 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.302303 This error happens when you have function calls without parentheses inside keywords. For example:304305 function(arg, one: nested_call a, b, c)306 function(arg, one: if expr, do: :this, else: :that)307308 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:309310 function(arg, one: if(expr, do: :this, else: :that))311 function(arg, one: nested_call(a, b, c))312313 Ambiguity found at:314 │315 71 │ unless actions -- supported_actions == [], do: raise ArgumentError, """316 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~317 │318 └─ lib/phoenix/router/resource.ex:71319320 warning: duplicate key :route found in struct321 │322 24 │ defstruct [:path, :actions, :param, :route, :controller, :route, :member, :collection, :singleton]323 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~324 │325 └─ lib/phoenix/router/resource.ex:24: Phoenix.Router.Resource (module)326327 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)"328 │329 110 │ @callback start_link(Keyword.t) :: {:ok, pid()} | {:error, reason :: term()} :: :ignore330 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~331 │332 └─ lib/phoenix/presence.ex:110: Phoenix.Presence (module)333334 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead335 │336 885 │ Logger.warn "send_download/3 has been invoked during an AJAX request. " <>337 │ ~338 │339 └─ lib/phoenix/controller.ex:885:14: Phoenix.Controller.warn_if_ajax/1340341 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead342 │343 304 │ Logger.warn fn -> "Ignoring unmatched topic \"#{msg.topic}\" in #{inspect(socket.handler)}" end344 │ ~345 │346 └─ lib/phoenix/socket/transport.ex:304:12: Phoenix.Socket.Transport.reply_ignore/2347348 warning: using single-quoted strings to represent charlists is deprecated.349 Use ~c"" if you indeed want a charlist or use "" instead.350 You may run "mix format --migrate" to change all single-quoted351 strings to use the ~c sigil and fix this warning.352 │353 174 │ @anno (if :erlang.system_info(:otp_release) >= '19' do354 │ ~355 │356 └─ lib/phoenix/template.ex:174:50357358 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead359 │360 227 │ Logger.warn ":max_age was not set on Phoenix.Token.verify/4. " <>361 │ ~362 │363 └─ lib/phoenix/token.ex:227:12: Phoenix.Token.expired?/2364365 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead366 │367 647 │ exception -> {:error, {exception, System.stacktrace()}}368 │ ~369 │370 └─ lib/phoenix/test/conn_test.ex:647:48: Phoenix.ConnTest.wrap_request/1371372 warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead373 │374 12 │ worker(Phoenix.Transports.LongPoll.Server, [], restart: :temporary)375 │ ~376 │377 └─ lib/phoenix/transports/long_poll_server.ex:12:7: Phoenix.Transports.LongPoll.Supervisor.init/1378379 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead380 │381 14 │ supervise(children, strategy: :simple_one_for_one)382 │ ~383 │384 └─ lib/phoenix/transports/long_poll_server.ex:14:5: Phoenix.Transports.LongPoll.Supervisor.init/1385386 warning: expected a module (an atom) when invoking config/1 in expression:387388 endpoint.config(:endpoint_id)389390 where "endpoint" was given the type:391392 # type: dynamic(%{..., __pubsub_server__: atom()})393 # from: lib/phoenix/transports/long_poll.ex:199:10394 verify_token(endpoint, token, opts)395396 type warning found at:397 │398 201 │ server_ref = server_ref(endpoint.config(:endpoint_id), id, pid, priv_topic)399 │ ~400 │401 └─ lib/phoenix/transports/long_poll.ex:201:42: Phoenix.Transports.LongPoll.resume_session/3402403 warning: unknown key .__pubsub_server__ in expression:404405 endpoint.__pubsub_server__406407 the given type does not have the given key:408409 dynamic(410 %Phoenix.Socket{411 id: term(),412 assigns: term(),413 channel: term(),414 channel_pid: term(),415 endpoint: atom(),416 handler: term(),417 joined: term(),418 pubsub_server: term(),419 ref: term(),420 join_ref: term(),421 topic: term(),422 transport: term(),423 transport_pid: term(),424 transport_name: term(),425 serializer: term(),426 private: term(),427 vsn: term()428 } or429 %Plug.Conn{430 adapter: term(),431 assigns: term(),432 body_params: term(),433 cookies: term(),434 halted: term(),435 host: term(),436 method: term(),437 owner: term(),438 params: term(),439 path_info: term(),440 path_params: term(),441 port: term(),442 private: term(),443 query_params: term(),444 query_string: term(),445 remote_ip: term(),446 req_cookies: term(),447 req_headers: term(),448 request_path: term(),449 resp_body: term(),450 resp_cookies: term(),451 resp_headers: term(),452 scheme: term(),453 script_name: term(),454 secret_key_base: term(),455 state: term(),456 status: term()457 } or atom() or binary()458 )459460 where "endpoint" was given the type:461462 # type: dynamic(%Phoenix.Socket{endpoint: atom()} or %Plug.Conn{} or atom() or binary())463 # from: lib/phoenix/transports/long_poll.ex:254:19464 Phoenix.Token.sign(endpoint, Atom.to_string(endpoint.__pubsub_server__), data, opts[:crypto])465466 type warning found at:467 │468 254 │ Phoenix.Token.sign(endpoint, Atom.to_string(endpoint.__pubsub_server__), data, opts[:crypto])469 │ ~~~~~~~~~~~~~~~~~470 │471 └─ lib/phoenix/transports/long_poll.ex:254:58: Phoenix.Transports.LongPoll.sign_token/3472473 warning: Plug.Crypto.safe_binary_to_term/1 is undefined or private474 │475 176 │ %{data: data, signed: signed} = Plug.Crypto.safe_binary_to_term(message)476 │ ~477 │478 └─ lib/phoenix/token.ex:176:53: Phoenix.Token.verify/4479480 warning: a struct for Plug.Conn is expected on struct update:481482 %Plug.Conn{conn | state: :sent}483484 but got type:485486 dynamic()487488 where "conn" was given the type:489490 # type: dynamic()491 # from: lib/phoenix/endpoint/render_errors.ex:79:21492 conn493494 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"495496 type warning found at:497 │498 83 │ %Plug.Conn{conn | state: :sent}499 │ ~500 │501 └─ lib/phoenix/endpoint/render_errors.ex:83:9: Phoenix.Endpoint.RenderErrors.maybe_render/5502503 warning: a struct for Plug.Conn is expected on struct update:504505 %Plug.Conn{conn | query_params: %{}, params: %{}}506507 but got type:508509 dynamic(%{..., params: %Plug.Conn.Unfetched{}})510511 where "conn" was given the types:512513 # type: dynamic(%{..., params: term()})514 # from: lib/phoenix/endpoint/render_errors.ex:94:17515 conn.params516517 # type: dynamic(%{..., params: %Plug.Conn.Unfetched{}})518 # from: lib/phoenix/endpoint/render_errors.ex:94:17519 conn.params520521 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"522523 type warning found at:524 │525 95 │ %Plug.Conn.Unfetched{} -> %Plug.Conn{conn | query_params: %{}, params: %{}}526 │ ~527 │528 └─ lib/phoenix/endpoint/render_errors.ex:95:35: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/1529530 warning: a struct for Plug.Conn is expected on struct update:531532 %Plug.Conn{conn | query_params: %{}, params: params}533534 but got type:535536 dynamic(%{..., params: not %Plug.Conn.Unfetched{}})537538 where "conn" was given the types:539540 # type: dynamic(%{..., params: term()})541 # from: lib/phoenix/endpoint/render_errors.ex:94:17542 conn.params543544 # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})545 # from: lib/phoenix/endpoint/render_errors.ex:94:17546 conn.params547548 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"549550 type warning found at:551 │552 96 │ params -> %Plug.Conn{conn | query_params: %{}, params: params}553 │ ~554 │555 └─ lib/phoenix/endpoint/render_errors.ex:96:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/1556557 warning: a struct for Plug.Conn is expected on struct update:558559 %Plug.Conn{conn | params: params}560561 but got type:562563 dynamic(%{..., params: map()})564565 where "conn" was given the type:566567 # type: dynamic(%{..., params: map()})568 # from: lib/phoenix/controller.ex:912:17569 Map.get(conn.params, required_key)570571 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"572573 type warning found at:574 │575 919 │ %Plug.Conn{conn | params: params}576 │ ~577 │578 └─ lib/phoenix/controller.ex:919:5: Phoenix.Controller.scrub_params/2579580 warning: a struct for Phoenix.Socket is expected on struct update:581582 %Phoenix.Socket{socket | id: id}583584 but got type:585586 dynamic()587588 where "socket" was given the type:589590 # type: dynamic()591 # from: lib/phoenix/socket/transport.ex592 {:ok, socket}593594 when defining the variable "socket", you must also pattern match on "%Phoenix.Socket{}"595596 type warning found at:597 │598 195 │ id when is_binary(id) -> {:ok, %Socket{socket | id: id}}599 │ ~600 │601 └─ lib/phoenix/socket/transport.ex:195:42: Phoenix.Socket.Transport.do_connect/7602603 warning: @behaviour :cowboy_websocket_handler does not exist (in module Phoenix.Endpoint.CowboyWebSocket)604 │605 1 │ defmodule Phoenix.Endpoint.CowboyWebSocket do606 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~607 │608 └─ lib/phoenix/endpoint/cowboy_websocket.ex:1: Phoenix.Endpoint.CowboyWebSocket (module)609610 warning: Plug.Adapters.Cowboy.Conn.conn/2 is undefined (module Plug.Adapters.Cowboy.Conn is not available or is yet to be defined)611 │612 10 │ conn = @connection.conn(req, transport)613 │ ~614 │615 └─ lib/phoenix/endpoint/cowboy_websocket.ex:10:24: Phoenix.Endpoint.CowboyWebSocket.init/3616617 warning: :cowboy_req.compact/1 is undefined (module :cowboy_req is not available or is yet to be defined)618 │619 73 │ {:ok, :cowboy_req.compact(req), {handler, state}, timeout}620 │ ~621 │622 └─ lib/phoenix/endpoint/cowboy_websocket.ex:73:23: Phoenix.Endpoint.CowboyWebSocket.websocket_init/3623624 warning: expected a map or struct when accessing .url in expression:625626 endpoint.url627628 where "endpoint" was given the types:629630 # type: dynamic(atom())631 # from: lib/phoenix/router/helpers.ex:24:20632 endpoint633634 # type: atom()635 # from: lib/phoenix/router/helpers.ex:24:35636 is_atom(endpoint)637638 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()639640 type warning found at:641 │642 25 │ endpoint.url643 │ ~644 │645 └─ lib/phoenix/router/helpers.ex:25:14: Phoenix.Router.Helpers.url/2646647 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead648 │649 23 │ {:upgrade, :protocol, __MODULE__, req, {:error, mfa, kind, reason, System.stacktrace}}650 │ ~651 │652 └─ lib/phoenix/endpoint/cowboy_websocket.ex:23:83: Phoenix.Endpoint.CowboyWebSocket.init/3653654 warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead655 │656 198 │ supervisor(Task.Supervisor, [[name: task_supervisor]]),657 │ ~658 │659 └─ lib/phoenix/presence.ex:198:7: Phoenix.Presence.start_link/4660661 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead662 │663 199 │ worker(Phoenix.Tracker, [module, opts, opts])664 │ ~665 │666 └─ lib/phoenix/presence.ex:199:7: Phoenix.Presence.start_link/4667668 warning: a struct for Plug.Conn is expected on struct update:669670 %Plug.Conn{conn | path_info: path, script_name: script}671672 but got type:673674 dynamic()675676 where "conn" was given the type:677678 # type: dynamic()679 # from: lib/phoenix/router/route.ex:147:10680 conn = target.call(%Plug.Conn{...}, opts)681682 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"683684 type warning found at:685 │686 148 │ %Plug.Conn{conn | path_info: path, script_name: script}687 │ ~688 │689 └─ lib/phoenix/router/route.ex:148:5: Phoenix.Router.Route.forward/4690691 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead692 │693 284 │ Phoenix.PlugError.reraise(piped_conn, :error, reason, System.stacktrace())694 │ ~695 │696 └─ lib/phoenix/router.ex:284:74: Phoenix.Router.__call__/1697698 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead699 │700 71 │ supervise(children, strategy: :one_for_one)701 │ ~702 │703 └─ lib/phoenix/endpoint/supervisor.ex:71:5: Phoenix.Endpoint.Supervisor.init/1704705 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead706 │707 76 │ [worker(Phoenix.Config, args)]708 │ ~709 │710 └─ lib/phoenix/endpoint/supervisor.ex:76:6: Phoenix.Endpoint.Supervisor.config_children/3711712 warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead713 │714 84 │ [supervisor(adapter, [mod.__pubsub_server__(), pub_conf])]715 │ ~716 │717 └─ lib/phoenix/endpoint/supervisor.ex:84:8: Phoenix.Endpoint.Supervisor.pubsub_children/2718 └─ lib/phoenix/endpoint/supervisor.ex:96:8: Phoenix.Endpoint.Supervisor.server_children/3719 └─ lib/phoenix/endpoint/supervisor.ex:97:8: Phoenix.Endpoint.Supervisor.server_children/3720721 warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead722 │723 106 │ worker(Phoenix.Endpoint.Watcher, watcher_args(cmd, args),724 │ ~725 │726 └─ lib/phoenix/endpoint/supervisor.ex:106:9: Phoenix.Endpoint.Supervisor.watcher_children/3727728 warning: expected a module (an atom) when invoking path/1 in expression:729730 endpoint.path("/")731732 where "endpoint" was given the type:733734 # type: dynamic(%{..., host: term()})735 # from: lib/phoenix/endpoint/supervisor.ex:312:14736 endpoint.host737738 type warning found at:739 │740 313 │ endpoint.path("/")741 │ ~742 │743 └─ lib/phoenix/endpoint/supervisor.ex:313:14: Phoenix.Endpoint.Supervisor.warmup/1744745 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead746 │747 35 │ supervise(children, strategy: :one_for_one)748 │ ~749 │750 └─ lib/phoenix/endpoint/handler.ex:35:5: Phoenix.Endpoint.Handler.init/1751752 warning: Enum.partition/2 is deprecated. Use Enum.split_with/2 instead753 │754 39 │ {config_keywords, config_other} = Enum.partition(config, &keyword_item?/1)755 │ ~756 │757 └─ lib/phoenix/endpoint/handler.ex:39:44: Phoenix.Endpoint.Handler.default/3758759 warning: Plug.Adapters.Cowboy.child_spec/4 is deprecated. Use Plug.Cowboy.child_spec/4 instead760 │761 81 │ Plug.Adapters.Cowboy.child_spec(scheme, endpoint, [], config)762 │ ~763 │764 └─ lib/phoenix/endpoint/cowboy_handler.ex:81:28: Phoenix.Endpoint.CowboyHandler.child_spec/3765766 warning: :ranch.get_addr/1 is undefined (module :ranch is not available or is yet to be defined)767 │768 113 │ {addr,port} = :ranch.get_addr(ref)769 │ ~770 │771 └─ lib/phoenix/endpoint/cowboy_handler.ex:113:26: Phoenix.Endpoint.CowboyHandler.info/3772773 warning: comparison between distinct types found:774775 !Path.extname(file_path) == ".gz"776777 given types:778779 dynamic(boolean()) == binary()780781 where "file_path" was given the type:782783 # type: dynamic(binary() or empty_list() or non_empty_list(term(), term()))784 # from: lib/phoenix/digester.ex:147:45785 Path.basename(file_path)786787 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 false788789 type warning found at:790 │791 148 │ !Path.extname(file_path) == ".gz"792 │ ~793 │794 └─ lib/phoenix/digester.ex:148:32: Phoenix.Digester.uncompressed_digested_file?/1795796 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead797 │798 51 │ worker(Phoenix.CodeReloader.Server, [])799 │ ~800 │801 └─ lib/phoenix.ex:51:7: Phoenix.start/2802803 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead804 │805 61 │ IO.puts Exception.format(kind, reason, System.stacktrace)806 │ ~807 │808 └─ lib/phoenix/code_reloader/server.ex:61:59: Phoenix.CodeReloader.Server.handle_call/3809810 warning: Enum.partition/2 is deprecated. Use Enum.split_with/2 instead811 │812 155 │ Enum.partition attrs, fn813 │ ~814 │815 └─ lib/mix/tasks/phoenix.gen.model.ex:155:10: Mix.Tasks.Phoenix.Gen.Model.partition_attrs_and_assocs/1816817 warning: expected a map or struct when accessing .__phoenix_recompile__? in expression:818819 mod.__phoenix_recompile__?820821 where "mod" was given the type:822823 # type: dynamic(atom())824 # from: lib/mix/tasks/compile.phoenix.ex:34:12825 Code.ensure_loaded?(mod)826827 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()828829 type warning found at:830 │831 36 │ mod.__phoenix_recompile__?832 │ ~833 │834 └─ lib/mix/tasks/compile.phoenix.ex:36:13: Mix.Tasks.Compile.Phoenix.modules_for_recompilation/1835836 warning: Enum.partition/2 is deprecated. Use Enum.split_with/2 instead837 │838 234 │ Enum.partition(attrs, fn839 │ ~840 │841 └─ lib/mix/phoenix/schema.ex:234:12: Mix.Phoenix.Schema.partition_attrs_and_assocs/2842843Generated phoenix app844==> phoenix_html845Compiling 8 files (.ex)846 warning: using single-quoted strings to represent charlists is deprecated.847 Use ~c"" if you indeed want a charlist or use "" instead.848 You may run "mix format --migrate" to change all single-quoted849 strings to use the ~c sigil and fix this warning.850 │851 12 │ @anno (if :erlang.system_info(:otp_release) >= '19' do852 │ ~853 │854 └─ lib/phoenix_html/engine.ex:12:50855856 warning: the 1st pattern in clause will never match:857858 60859860 because it is expected to receive type:861862 dynamic(empty_list() or non_empty_list(term(), term()))863864 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())865866 type warning found at:867 │868 56 │ def to_iodata(?<), do: "<"869 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~870 │871 └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/1872873 warning: the 1st pattern in clause will never match:874875 62876877 because it is expected to receive type:878879 dynamic(empty_list() or non_empty_list(term(), term()))880881 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())882883 type warning found at:884 │885 57 │ def to_iodata(?>), do: ">"886 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~887 │888 └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/1889890 warning: the 1st pattern in clause will never match:891892 38893894 because it is expected to receive type:895896 dynamic(empty_list() or non_empty_list(term(), term()))897898 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())899900 type warning found at:901 │902 58 │ def to_iodata(?&), do: "&"903 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~904 │905 └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/1906907 warning: the 1st pattern in clause will never match:908909 34910911 because it is expected to receive type:912913 dynamic(empty_list() or non_empty_list(term(), term()))914915 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())916917 type warning found at:918 │919 59 │ def to_iodata(?"), do: """920 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~921 │922 └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/1923924 warning: the 1st pattern in clause will never match:925926 39927928 because it is expected to receive type:929930 dynamic(empty_list() or non_empty_list(term(), term()))931932 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())933934 type warning found at:935 │936 60 │ def to_iodata(?'), do: "'"937 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~938 │939 └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/1940941 warning: the 1st pattern in clause will never match:942943 {:safe, data}944945 because it is expected to receive type:946947 dynamic(empty_list() or non_empty_list(term(), term()))948949 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())950951 type warning found at:952 │953 76 │ def to_iodata({:safe, data}) do954 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~955 │956 └─ lib/phoenix_html/safe.ex:76: Phoenix.HTML.Safe.List.to_iodata/1957958 warning: the following clause is redundant:959960 def to_iodata(other)961962 it has type:963964 dynamic(empty_list() or non_empty_list(term(), term()))965966 previous clauses have already matched on the following types:967968 non_empty_list(term(), term())969 empty_list()970971 │972 80 │ def to_iodata(other) do973 │ ~974 │975 └─ lib/phoenix_html/safe.ex:80:7: Phoenix.HTML.Safe.List.to_iodata/1976977 warning: the 1st pattern in clause will never match:978979 h980981 because it is expected to receive type:982983 dynamic(empty_list() or non_empty_list(term(), term()))984985 where "h" was given the type:986987 # type: integer()988 # from: lib/phoenix_html/safe.ex:62:25989 is_integer(h)990991 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())992993 type warning found at:994 │995 62 │ def to_iodata(h) when is_integer(h) and h <= 255 do996 │ ~997 │998 └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/19991000 warning: the 1st pattern in clause will never match:10011002 h10031004 because it is expected to receive type:10051006 dynamic(empty_list() or non_empty_list(term(), term()))10071008 where "h" was given the type:10091010 # type: integer()1011 # from: lib/phoenix_html/safe.ex:66:251012 is_integer(h)10131014 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())10151016 type warning found at:1017 │1018 66 │ def to_iodata(h) when is_integer(h) do1019 │ ~1020 │1021 └─ lib/phoenix_html/safe.ex:66:17: Phoenix.HTML.Safe.List.to_iodata/110221023 warning: the 1st pattern in clause will never match:10241025 h10261027 because it is expected to receive type:10281029 dynamic(empty_list() or non_empty_list(term(), term()))10301031 where "h" was given the type:10321033 # type: binary()1034 # from: lib/phoenix_html/safe.ex:72:251035 is_binary(h)10361037 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())10381039 type warning found at:1040 │1041 72 │ def to_iodata(h) when is_binary(h) do1042 │ ~1043 │1044 └─ lib/phoenix_html/safe.ex:72:17: Phoenix.HTML.Safe.List.to_iodata/110451046Generated phoenix_html app1047warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1048 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21049 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11050 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51051 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21052 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41053 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/210541055==> guardian1056Compiling 20 files (.ex)1057Generated guardian app1058warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1059 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21060 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11061 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51062 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21063 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41064 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/210651066==> ecto1067Compiling 70 files (.ex)1068 warning: using single-quoted strings to represent charlists is deprecated.1069 Use ~c"" if you indeed want a charlist or use "" instead.1070 You may run "mix format --migrate" to change all single-quoted1071 strings to use the ~c sigil and fix this warning.1072 │1073 166 │ defp insert_all_value(_), do: '?'1074 │ ~1075 │1076 └─ lib/ecto/adapters/mysql/connection.ex:166:3710771078 warning: using single-quoted strings to represent charlists is deprecated.1079 Use ~c"" if you indeed want a charlist or use "" instead.1080 You may run "mix format --migrate" to change all single-quoted1081 strings to use the ~c sigil and fix this warning.1082 │1083 354 │ '?'1084 │ ~1085 │1086 └─ lib/ecto/adapters/mysql/connection.ex:354:710871088 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.10891090 This error happens when you have function calls without parentheses inside keywords. For example:10911092 function(arg, one: nested_call a, b, c)1093 function(arg, one: if expr, do: :this, else: :that)10941095 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:10961097 function(arg, one: if(expr, do: :this, else: :that))1098 function(arg, one: nested_call(a, b, c))10991100 Ambiguity found at:1101 │1102 2286 │ raise ArgumentError, "cannot add constraint to changeset because it does not have a source, got: #{inspect data}"1103 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1104 │1105 └─ lib/ecto/changeset.ex:228611061107 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.11081109 This error happens when you have function calls without parentheses inside keywords. For example:11101111 function(arg, one: nested_call a, b, c)1112 function(arg, one: if expr, do: :this, else: :that)11131114 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:11151116 function(arg, one: if(expr, do: :this, else: :that))1117 function(arg, one: nested_call(a, b, c))11181119 Ambiguity found at:1120 │1121 265 │ do: raise ArgumentError, "a constraint must have either a check or exclude option"1122 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1123 │1124 └─ lib/ecto/migration/runner.ex:26511251126 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.11271128 This error happens when you have function calls without parentheses inside keywords. For example:11291130 function(arg, one: nested_call a, b, c)1131 function(arg, one: if expr, do: :this, else: :that)11321133 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:11341135 function(arg, one: if(expr, do: :this, else: :that))1136 function(arg, one: nested_call(a, b, c))11371138 Ambiguity found at:1139 │1140 267 │ do: raise ArgumentError, "a constraint must not have both check and exclude options"1141 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1142 │1143 └─ lib/ecto/migration/runner.ex:26711441145 warning: atom ::: must be written between quotes, as in :"::", to avoid ambiguity1146 │1147 136 │ {:::, _, [left, _]} -> is_integer(left) or is_binary(left)1148 │ ~1149 │1150 └─ lib/ecto/query/builder.ex:136:811511152 warning: unknown compiler variable "__" (expected one of __MODULE__, __ENV__, __DIR__, __CALLER__, __STACKTRACE__)1153 │1154 643 │ def quoted_type({:datetime_add, _, [_, _, __]}, _vars), do: :naive_datetime1155 │ ~~1156 │1157 └─ lib/ecto/query/builder.ex:643:45: Ecto.Query.Builder.quoted_type/211581159 warning: unknown compiler variable "__" (expected one of __MODULE__, __ENV__, __DIR__, __CALLER__, __STACKTRACE__)1160 │1161 644 │ def quoted_type({:date_add, _, [_, _, __]}, _vars), do: :date1162 │ ~~1163 │1164 └─ lib/ecto/query/builder.ex:644:41: Ecto.Query.Builder.quoted_type/211651166 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.11671168 This error happens when you have function calls without parentheses inside keywords. For example:11691170 function(arg, one: nested_call a, b, c)1171 function(arg, one: if expr, do: :this, else: :that)11721173 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:11741175 function(arg, one: if(expr, do: :this, else: :that))1176 function(arg, one: nested_call(a, b, c))11771178 Ambiguity found at:1179 │1180 454 │ do: raise ArgumentError, "a changeset with action #{inspect given} was given to #{inspect repo}.#{action}/2"1181 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1182 │1183 └─ lib/ecto/repo/schema.ex:45411841185 warning: unused require Ecto.Query1186 │1187 6 │ require Ecto.Query1188 │ ~1189 │1190 └─ lib/ecto/repo/preloader.ex:6:311911192 warning: Module.eval_quoted/2 is deprecated. Use Code.eval_quoted/3 instead1193 │1194 9 │ schema "schema_migrations" do1195 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1196 │1197 └─ lib/ecto/migration/schema_migration.ex:9: Ecto.Migration.SchemaMigration (module)11981199 warning: incompatible types given to Mix.Ecto.ensure_started/2:12001201 Mix.Ecto.ensure_started(repo, opts)12021203 given types:12041205 -dynamic(atom())-, dynamic(empty_list() or non_empty_list(term(), term()))12061207 but expected one of:12081209 %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())12101211 where "opts" was given the type:12121213 # type: dynamic(1214 %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or1215 non_struct_map()1216 )1217 # from: lib/mix/tasks/ecto.rollback.ex:64:101218 opts =1219 if opts[:quiet] do1220 Keyword.merge(opts, log: false, log_sql: false)1221 else1222 opts1223 end12241225 where "repo" was given the type:12261227 # type: dynamic(atom())1228 # from: lib/mix/tasks/ecto.rollback.ex:70:71229 Mix.Ecto.ensure_repo(repo, args)12301231 type warning found at:1232 │1233 72 │ {:ok, pid, apps} = ensure_started(repo, opts)1234 │ ~1235 │1236 └─ lib/mix/tasks/ecto.rollback.ex:72:26: Mix.Tasks.Ecto.Rollback.run/212371238 warning: incompatible types given to Mix.Ecto.ensure_started/2:12391240 Mix.Ecto.ensure_started(repo, all: true)12411242 given types:12431244 -dynamic(atom())-, non_empty_list({:all, true})12451246 but expected one of:12471248 %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())12491250 where "repo" was given the type:12511252 # type: dynamic(atom())1253 # from: lib/mix/tasks/ecto.migrations.ex:37:71254 Mix.Ecto.ensure_repo(repo, args)12551256 type warning found at:1257 │1258 39 │ {:ok, pid, _} = ensure_started(repo, all: true)1259 │ ~1260 │1261 └─ lib/mix/tasks/ecto.migrations.ex:39:23: Mix.Tasks.Ecto.Migrations.run/312621263 warning: struct DBConnection.OwnershipError is undefined (module DBConnection.OwnershipError is not available or is yet to be defined)1264 │1265 258 │ err in DBConnection.OwnershipError ->1266 │ ~1267 │1268 └─ lib/ecto/adapters/sql.ex:258:11: Ecto.Adapters.SQL.sql_call/612691270 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1271 │1272 260 │ reraise %{err | message: message}, System.stacktrace1273 │ ~1274 │1275 └─ lib/ecto/adapters/sql.ex:260:51: Ecto.Adapters.SQL.sql_call/612761277 warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead1278 │1279 2400 │ surround_many("#Ecto.Changeset<", list, ">", opts, fn1280 │ ~1281 │1282 └─ lib/ecto/changeset.ex:2400:5: Inspect.Ecto.Changeset.inspect/212831284 warning: incompatible types given to Mix.Ecto.ensure_started/2:12851286 Mix.Ecto.ensure_started(repo, opts)12871288 given types:12891290 -dynamic(atom())-, dynamic(empty_list() or non_empty_list(term(), term()))12911292 but expected one of:12931294 %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())12951296 where "opts" was given the type:12971298 # type: dynamic(1299 %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or1300 non_struct_map()1301 )1302 # from: lib/mix/tasks/ecto.migrate.ex:68:101303 opts =1304 if opts[:quiet] do1305 Keyword.merge(opts, log: false, log_sql: false)1306 else1307 opts1308 end13091310 where "repo" was given the type:13111312 # type: dynamic(atom())1313 # from: lib/mix/tasks/ecto.migrate.ex:74:71314 Mix.Ecto.ensure_repo(repo, args)13151316 type warning found at:1317 │1318 76 │ {:ok, pid, apps} = ensure_started(repo, opts)1319 │ ~1320 │1321 └─ lib/mix/tasks/ecto.migrate.ex:76:26: Mix.Tasks.Ecto.Migrate.run/213221323 warning: incompatible types given to Mix.Ecto.source_repo_priv/1:13241325 Mix.Ecto.source_repo_priv(repo)13261327 given types:13281329 -dynamic(%{..., __adapter__: atom(), config: empty_list() or non_empty_list(term(), term())})-13301331 but expected one of:13321333 atom()13341335 where "repo" was given the types:13361337 # type: dynamic(%{..., config: empty_list() or non_empty_list(term(), term())})1338 # from: lib/mix/tasks/ecto.load.ex:70:221339 Keyword.merge(repo.config, opts)13401341 # type: dynamic(%{..., __adapter__: atom(), config: empty_list() or non_empty_list(term(), term())})1342 # from: lib/mix/tasks/ecto.load.ex:72:271343 repo.__adapter__.structure_load(Mix.Ecto.source_repo_priv(repo), config)13441345 type warning found at:1346 │1347 72 │ case repo.__adapter__.structure_load(source_repo_priv(repo), config) do1348 │ ~1349 │1350 └─ lib/mix/tasks/ecto.load.ex:72:42: Mix.Tasks.Ecto.Load.load_structure/213511352 warning: the following clause will never match:13531354 [{^module, :changeset, args_or_arity, _}] when args_or_arity == 2 when length(args_or_arity) == 2 ->13551356 because it attempts to match on the result of:13571358 System.stacktrace()13591360 which has type:13611362 empty_list()13631364 where "args_or_arity" was given the type:13651366 # type: float() or integer() or non_empty_list(term())1367 # from: lib/ecto/changeset.ex1368 (_() when args_or_arity == 2) when length(args_or_arity) == 213691370 where "module" was given the type:13711372 # type: dynamic()1373 # from: lib/ecto/changeset.ex:733:301374 module13751376 type warning found at:1377 │1378 741 │ ... when length(args_or_arity) == 2 ->1379 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1380 │1381 └─ lib/ecto/changeset.ex:741: Ecto.Changeset.on_cast_default/213821383 warning: expected a map or struct when accessing .__adapter__ in expression:13841385 repo.__adapter__13861387 where "repo" was given the type:13881389 # type: dynamic(atom())1390 # from: lib/mix/tasks/ecto.load.ex:53:71391 Mix.Ecto.ensure_repo(repo, args)13921393 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()13941395 type warning found at:1396 │1397 54 │ ensure_implements(repo.__adapter__, Ecto.Adapter.Structure,1398 │ ~1399 │1400 └─ lib/mix/tasks/ecto.load.ex:54:30: Mix.Tasks.Ecto.Load.run/114011402 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1403 │1404 739 │ case System.stacktrace do1405 │ ~1406 │1407 └─ lib/ecto/changeset.ex:739:23: Ecto.Changeset.on_cast_default/214081409 warning: expected a map or struct when accessing .__adapter__ in expression:14101411 repo.__adapter__14121413 where "repo" was given the type:14141415 # type: dynamic(atom())1416 # from: lib/mix/tasks/ecto.drop.ex:39:71417 Mix.Ecto.ensure_repo(repo, args)14181419 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()14201421 type warning found at:1422 │1423 40 │ ensure_implements(repo.__adapter__, Ecto.Adapter.Storage,1424 │ ~1425 │1426 └─ lib/mix/tasks/ecto.drop.ex:40:30: Mix.Tasks.Ecto.Drop.run/114271428 warning: expected a map or struct when accessing .__adapter__ in expression:14291430 repo.__adapter__14311432 where "repo" was given the type:14331434 # type: dynamic(atom())1435 # from: lib/mix/tasks/ecto.dump.ex:50:71436 Mix.Ecto.ensure_repo(repo, args)14371438 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()14391440 type warning found at:1441 │1442 51 │ ensure_implements(repo.__adapter__, Ecto.Adapter.Structure,1443 │ ~1444 │1445 └─ lib/mix/tasks/ecto.dump.ex:51:30: Mix.Tasks.Ecto.Dump.run/114461447 warning: expected a map or struct when accessing .__adapter__ in expression:14481449 repo.__adapter__14501451 where "repo" was given the type:14521453 # type: dynamic(atom())1454 # from: lib/mix/tasks/ecto.create.ex:37:71455 Mix.Ecto.ensure_repo(repo, args)14561457 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()14581459 type warning found at:1460 │1461 38 │ ensure_implements(repo.__adapter__, Ecto.Adapter.Storage,1462 │ ~1463 │1464 └─ lib/mix/tasks/ecto.create.ex:38:30: Mix.Tasks.Ecto.Create.run/114651466 warning: Mix.Project.compile/1 is deprecated. Use Mix.Task.run("compile", args) instead1467 │1468 62 │ Mix.Project.compile(args)1469 │ ~1470 │1471 └─ lib/mix/ecto.ex:62:19: Mix.Ecto.ensure_repo/214721473 warning: expected a module (an atom) when invoking start_link/1 in expression:14741475 repo.start_link(pool_size: pool_size)14761477 where "pool_size" was given the type:14781479 # type: dynamic()1480 # from: lib/mix/ecto.ex:101:151481 pool_size = Keyword.get(opts, :pool_size, 1)14821483 where "repo" was given the type:14841485 # type: dynamic(%{..., __adapter__: atom()})1486 # from: lib/mix/ecto.ex:99:361487 repo.__adapter__.ensure_all_started(repo, :temporary)14881489 type warning found at:1490 │1491 102 │ case repo.start_link(pool_size: pool_size) do1492 │ ~1493 │1494 └─ lib/mix/ecto.ex:102:15: Mix.Ecto.ensure_started/214951496 warning: Logger.remove_backend/1 is deprecated. Use LoggerBackends.remove/2 from :logger_backends dependency1497 │1498 146 │ Logger.remove_backend(:console)1499 │ ~1500 │1501 └─ lib/mix/ecto.ex:146:12: Mix.Ecto.restart_apps_if_migrated/215021503 warning: Logger.add_backend/2 is deprecated. Use LoggerBackends.add/2 from :logger_backends dependency1504 │1505 155 │ Logger.add_backend(:console, flush: true)1506 │ ~1507 │1508 └─ lib/mix/ecto.ex:155:12: Mix.Ecto.restart_apps_if_migrated/215091510 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1511 │1512 856 │ not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->1513 │ ~1514 │1515 └─ lib/ecto/association.ex:856:78: Ecto.Association.ManyToMany.after_compile_validation/21516 └─ lib/ecto/association.ex:860:45: Ecto.Association.ManyToMany.after_compile_validation/215171518 warning: incompatible types given to get_source/1:15191520 get_source(repo)15211522 given types:15231524 -dynamic(atom())-15251526 but expected one of:15271528 %{..., config: empty_list() or non_empty_list(term(), term())}15291530 where "repo" was given the type:15311532 # type: dynamic(atom())1533 # from: lib/ecto/migration/schema_migration.ex:24:131534 repo.all(1535 Map.put(1536 (1537 query =1538 (1539 query = {get_source(repo), Ecto.Migration.SchemaMigration}1540 Ecto.Query.Builder.From.apply(query, 1)1541 )1542 1543 Ecto.Query.Builder.Select.apply(query, %Ecto.Query.SelectExpr{1544 ...,1545 expr: {{:., [], [{:&, [], [0]}, :version]}, [], []},1546 file: "/work/proj/deps_x86_64/ecto/lib/ecto/migration/schema_migration.ex",1547 line: 22,1548 take: %{}1549 })1550 ),1551 :prefix,1552 prefix1553 ), timeout: :infinity, log: false)15541555 type warning found at:1556 │1557 22 │ from(p in {get_source(repo), __MODULE__}, select: p.version)1558 │ ~1559 │1560 └─ lib/ecto/migration/schema_migration.ex:22:16: Ecto.Migration.SchemaMigration.migrated_versions/215611562 warning: incompatible types given to get_source/1:15631564 get_source(repo)15651566 given types:15671568 -dynamic(atom())-15691570 but expected one of:15711572 %{..., config: empty_list() or non_empty_list(term(), term())}15731574 where "repo" was given the type:15751576 # type: dynamic(atom())1577 # from: lib/ecto/migration/schema_migration.ex:30:131578 repo.insert!(1579 Ecto.put_meta(%Ecto.Migration.SchemaMigration{..., version: version},1580 prefix: prefix,1581 source: get_source(repo)1582 ), timeout: :infinity, log: false)15831584 type warning found at:1585 │1586 29 │ |> Ecto.put_meta(prefix: prefix, source: get_source(repo))1587 │ ~1588 │1589 └─ lib/ecto/migration/schema_migration.ex:29:46: Ecto.Migration.SchemaMigration.up/315901591 warning: incompatible types given to get_source/1:15921593 get_source(repo)15941595 given types:15961597 -dynamic(atom())-15981599 but expected one of:16001601 %{..., config: empty_list() or non_empty_list(term(), term())}16021603 where "repo" was given the type:16041605 # type: dynamic(atom())1606 # from: lib/ecto/migration/schema_migration.ex:36:131607 repo.delete_all(1608 Map.put(1609 (1610 query =1611 (1612 query = {get_source(repo), Ecto.Migration.SchemaMigration}1613 Ecto.Query.Builder.From.apply(query, 1)1614 )1615 1616 Ecto.Query.Builder.Filter.apply(query, :where, %Ecto.Query.BooleanExpr{1617 expr: {:==, [], [{{:., [], [{:&, [], [0]}, :version]}, [], []}, {:^, [], [0]}]},1618 op: :and,1619 params: [{Ecto.Query.Builder.not_nil!(version), {0, :version}}],1620 file: "/work/proj/deps_x86_64/ecto/lib/ecto/migration/schema_migration.ex",1621 line: 341622 })1623 ),1624 :prefix,1625 prefix1626 ), timeout: :infinity, log: false)16271628 type warning found at:1629 │1630 34 │ from(p in {get_source(repo), __MODULE__}, where: p.version == ^version)1631 │ ~1632 │1633 └─ lib/ecto/migration/schema_migration.ex:34:16: Ecto.Migration.SchemaMigration.down/316341635 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1636 │1637 715 │ not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->1638 │ ~1639 │1640 └─ lib/ecto/association.ex:715:78: Ecto.Association.BelongsTo.after_compile_validation/216411642 warning: the following conditional expression:16431644 is_atom(related)16451646 will always evaluate to:16471648 dynamic(true)16491650 where "related" was given the type:16511652 # type: dynamic(atom())1653 # from: lib/ecto/association.ex:730:151654 related = Ecto.Association.related_from_query(queryable)16551656 type warning found at:1657 │1658 732 │ unless is_atom(related) do1659 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~1660 │1661 └─ lib/ecto/association.ex:732: Ecto.Association.BelongsTo.struct/316621663 warning: this clause of defp type_to_module/1 is never used (or it will always fail/warn when invoked)1664 │1665 1422 │ defp type_to_module(:naive_datetime), do: NaiveDateTime1666 │ ~1667 │1668 └─ lib/ecto/schema.ex:1422:8: Ecto.Schema.type_to_module/116691670 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1671 │1672 430 │ not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->1673 │ ~1674 │1675 └─ lib/ecto/association.ex:430:78: Ecto.Association.Has.after_compile_validation/216761677 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1678 │1679 1885 │ if Code.ensure_compiled?(type) and function_exported?(type, :type, 0) do1680 │ ~1681 │1682 └─ lib/ecto/schema.ex:1885:17: Ecto.Schema.check_type!/316831684 warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead1685 │1686 29 │ surround_many("#Ecto.Query<", list, ">", opts, fn str, _ -> str end)1687 │ ~1688 │1689 └─ lib/ecto/query/inspect.ex:29:5: Inspect.Ecto.Query.inspect/216901691 warning: Macro.to_string/2 is deprecated. Use Macro.to_string/1 instead1692 │1693 144 │ Macro.to_string(expr, &expr_to_string(&1, &2, names, part))1694 │ ~1695 │1696 └─ lib/ecto/query/inspect.ex:144:11: Inspect.Ecto.Query.expr/316971698 warning: the following clause will never match:16991700 {:error, _} = error ->17011702 because it attempts to match on the result of:17031704 apply(changeset, adapter, :insert, args)17051706 which has type:17071708 dynamic({:invalid or :ok, term()})17091710 type warning found at:1711 │1712 219 │ {:error, _} = error ->1713 │ ~1714 │1715 └─ lib/ecto/repo/schema.ex:219:23: Ecto.Repo.Schema.do_insert/417161717 warning: the following clause will never match:17181719 {:error, _} = error ->17201721 because it attempts to match on the result of:17221723 apply(changeset, adapter, action, args)17241725 which has type:17261727 dynamic({:invalid or :ok, term()})17281729 type warning found at:1730 │1731 297 │ {:error, _} = error ->1732 │ ~1733 │1734 └─ lib/ecto/repo/schema.ex:297:25: Ecto.Repo.Schema.do_update/417351736 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1737 │1738 54 │ filter_and_reraise e, System.stacktrace1739 │ ~1740 │1741 └─ lib/ecto/repo/preloader.ex:54:36: Ecto.Repo.Preloader.normalize_and_preload_each/517421743 warning: Map.size/1 is deprecated. Use Kernel.map_size/1 instead1744 │1745 44 │ index = Map.size(params)1746 │ ~1747 │1748 └─ lib/ecto/query/builder.ex:44:18: Ecto.Query.Builder.escape/51749 └─ lib/ecto/query/builder.ex:53:17: Ecto.Query.Builder.escape/517501751 warning: Decimal.minus/1 is deprecated. Use Decimal.negate/1 instead1752 │1753 614 │ Decimal.minus(decimal)1754 │ ~1755 │1756 └─ lib/ecto/query/builder.ex:614:13: Ecto.Query.Builder.negate!/117571758 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)1759 │1760 228 │ raise BadStructError, struct: struct, term: data1761 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1762 │1763 └─ lib/ecto/repo/queryable.ex:228: Ecto.Repo.Queryable.process/517641765 warning: the following clause will never match:17661767 {:error, _} ->17681769 because it attempts to match on the result of:17701771 NaiveDateTime.new(date, time)17721773 which has type:17741775 dynamic({:ok, %NaiveDateTime{}})17761777 type warning found at:1778 │1779 803 │ {:error, _} -> :error1780 │ ~~~~~~~~~~~~~~~~~~~~~1781 │1782 └─ lib/ecto/type.ex:803: Ecto.Type.cast_naive_datetime/117831784 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1785 │1786 214 │ filter_and_reraise e, System.stacktrace1787 │ ~1788 │1789 └─ lib/ecto/query/planner.ex:214:36: Ecto.Query.Planner.prepare/41790 └─ lib/ecto/query/planner.ex:709:36: Ecto.Query.Planner.normalize/417911792 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1793 │1794 159 │ supervise(children, strategy: :one_for_one)1795 │ ~1796 │1797 └─ lib/ecto/repo/supervisor.ex:159:9: Ecto.Repo.Supervisor.init/117981799 warning: expected a map or struct when accessing .__struct__ in expression:18001801 schema.__struct__18021803 where "schema" was given the types:18041805 # type: dynamic(atom() and not nil)1806 # from: lib/ecto/query/planner.ex:1186:411807 schema18081809 # type: atom()1810 # from: lib/ecto/query/planner.ex:1186:611811 is_atom(schema)18121813 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()18141815 type warning found at:1816 │1817 1190 │ Map.has_key?(schema.__struct__, field) ->1818 │ ~1819 │1820 └─ lib/ecto/query/planner.ex:1190:27: Ecto.Query.Planner.type!/618211822 warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead1823 │1824 15 │ surround_many("dynamic(", [Macro.to_string(binding), inspected], ")", opts, fn str, _ -> str end)1825 │ ~1826 │1827 └─ lib/ecto/query/inspect.ex:15:5: Inspect.Ecto.Query.DynamicExpr.inspect/218281829 warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead1830 │1831 12 │ worker(Ecto.Migration.Runner, [], restart: :temporary)1832 │ ~1833 │1834 └─ lib/ecto/migration/supervisor.ex:12:7: Ecto.Migration.Supervisor.init/118351836 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1837 │1838 15 │ supervise(children, strategy: :simple_one_for_one)1839 │ ~1840 │1841 └─ lib/ecto/migration/supervisor.ex:15:5: Ecto.Migration.Supervisor.init/118421843 warning: incompatible types given to Ecto.Migration.SchemaMigration.migrated_versions/2:18441845 Ecto.Migration.SchemaMigration.migrated_versions(repo, opts[:prefix])18461847 given types:18481849 (1850 -dynamic(%{..., __adapter__: term(), config: empty_list() or non_empty_list(term(), term())})-,1851 dynamic()1852 )18531854 but expected one of:18551856 atom(), term()18571858 where "opts" was given the type:18591860 # type: dynamic(1861 %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or1862 non_struct_map()1863 )1864 # from: lib/ecto/migrator.ex:44:651865 opts[:prefix]18661867 where "repo" was given the type:18681869 # type: dynamic(%{..., __adapter__: term(), config: empty_list() or non_empty_list(term(), term())})1870 # from: lib/ecto/migrator.ex:44:231871 Ecto.Migration.SchemaMigration.ensure_schema_migrations_table!(repo, opts[:prefix])18721873 type warning found at:1874 │1875 45 │ SchemaMigration.migrated_versions(repo, opts[:prefix])1876 │ ~1877 │1878 └─ lib/ecto/migrator.ex:45:23: Ecto.Migrator.migrated_versions/218791880 warning: expected a module (an atom) when invoking transaction/2 in expression:18811882 repo.transaction(fun, log: false, timeout: :infinity)18831884 where "fun" was given the type:18851886 # type: dynamic()1887 # from: lib/ecto/migrator.ex:114:471888 fun18891890 where "repo" was given the types:18911892 # type: dynamic(%{..., __adapter__: %{..., supports_ddl_transaction?: term()}})1893 # from: lib/ecto/migrator.ex:118:241894 repo.__adapter__.supports_ddl_transaction?18951896 # type: dynamic(%{..., __adapter__: %{..., supports_ddl_transaction?: not false and not nil}})1897 # from: lib/ecto/migrator.ex:118:241898 repo.__adapter__.supports_ddl_transaction?18991900 type warning found at:1901 │1902 119 │ repo.transaction(fun, [log: false, timeout: :infinity])1903 │ ~1904 │1905 └─ lib/ecto/migrator.ex:119:14: Ecto.Migrator.run_maybe_in_transaction/319061907 warning: Code.load_file/1 is deprecated. Use Code.require_file/2 or Code.compile_file/2 instead1908 │1909 291 │ modules = Code.load_file(file)1910 │ ~1911 │1912 └─ lib/ecto/migrator.ex:291:20: Ecto.Migrator.extract_module/219131914 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1915 │1916 10 │ worker(Ecto.Registry, []),1917 │ ~1918 │1919 └─ lib/ecto/application.ex:10:7: Ecto.Application.start/219201921 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1922 │1923 321 │ reraise error, System.stacktrace1924 │ ~1925 │1926 └─ lib/ecto/migrator.ex:321:31: Ecto.Migrator.verbose_schema_migration/319271928 warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1929 │1930 11 │ supervisor(Ecto.Migration.Supervisor, [])1931 │ ~1932 │1933 └─ lib/ecto/application.ex:11:7: Ecto.Application.start/219341935Generated ecto app1936==> phoenix_ecto1937Compiling 6 files (.ex)1938 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1939 │1940 10 │ supervise([1941 │ ~1942 │1943 └─ lib/phoenix_ecto/sql/sandbox_supervisor.ex:10:5: Phoenix.Ecto.SQL.SandboxSupervisor.init/119441945 warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead1946 │1947 11 │ worker(Phoenix.Ecto.SQL.SandboxSession, [], restart: :temporary)1948 │ ~1949 │1950 └─ lib/phoenix_ecto/sql/sandbox_supervisor.ex:11:7: Phoenix.Ecto.SQL.SandboxSupervisor.init/119511952 warning: function actions/1 required by protocol Plug.Exception is not implemented (in module Plug.Exception.Ecto.SubQueryError)1953 │1954 20 │ defimpl Plug.Exception, for: Ecto.SubQueryError do1955 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1956 │1957 └─ lib/phoenix_ecto/plug.ex:20: Plug.Exception.Ecto.SubQueryError (module)19581959 warning: function actions/1 required by protocol Plug.Exception is not implemented (in module Plug.Exception.Ecto.InvalidChangesetError)1960 │1961 13 │ defimpl Plug.Exception, for: exception do1962 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1963 │1964 └─ lib/phoenix_ecto/plug.ex:13: Plug.Exception.Ecto.InvalidChangesetError (module)19651966 warning: function actions/1 required by protocol Plug.Exception is not implemented (in module Plug.Exception.Ecto.StaleEntryError)1967 │1968 13 │ defimpl Plug.Exception, for: exception do1969 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1970 │1971 └─ lib/phoenix_ecto/plug.ex:13: Plug.Exception.Ecto.StaleEntryError (module)19721973 warning: function actions/1 required by protocol Plug.Exception is not implemented (in module Plug.Exception.Ecto.NoResultsError)1974 │1975 13 │ defimpl Plug.Exception, for: exception do1976 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1977 │1978 └─ lib/phoenix_ecto/plug.ex:13: Plug.Exception.Ecto.NoResultsError (module)19791980 warning: function actions/1 required by protocol Plug.Exception is not implemented (in module Plug.Exception.Ecto.CastError)1981 │1982 13 │ defimpl Plug.Exception, for: exception do1983 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1984 │1985 └─ lib/phoenix_ecto/plug.ex:13: Plug.Exception.Ecto.CastError (module)19861987 warning: function actions/1 required by protocol Plug.Exception is not implemented (in module Plug.Exception.Ecto.Query.CastError)1988 │1989 13 │ defimpl Plug.Exception, for: exception do1990 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1991 │1992 └─ lib/phoenix_ecto/plug.ex:13: Plug.Exception.Ecto.Query.CastError (module)19931994 warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1995 │1996 13 │ supervisor(Phoenix.Ecto.SQL.SandboxSupervisor, [])1997 │ ~1998 │1999 └─ lib/phoenix_ecto.ex:13:7: Phoenix.Ecto.start/220002001Generated phoenix_ecto app2002==> guardian_db2003Compiling 5 files (.ex)2004 warning: Application.get_env/3 is discouraged in the module body, use Application.compile_env/3 instead2005 │2006 111 │ config = Application.get_env(:guardian, Guardian.DB, [])2007 │ ~2008 │2009 └─ lib/guardian/db.ex:111:24: Guardian.DB (module)20102011 warning: Module.eval_quoted/2 is deprecated. Use Code.eval_quoted/3 instead2012 │2013 15 │ schema "virtual: token" do2014 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~2015 │2016 └─ lib/guardian/db/token.ex:15: Guardian.DB.Token (module)201720182019== Compilation error in file lib/guardian/db.ex ==2020** (RuntimeError) Guardian.DB configuration is required2021 lib/guardian/db.ex:114: (module)2022could 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"