Build log
host
flashtag_api 0.0.1 · fail · run flashtag_api-0.0.1-1791184494949
1722 of 1722 lines
1Resolving Hex dependencies...2Resolution completed in 0.306s3Unchanged: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.284Found packages with security advisories, see above for details85All dependencies have been fetched86 warning: String.strip/1 is deprecated. Use String.trim/1 instead87 │88 4 │ @version File.read!("VERSION") |> String.strip89 │ ~90 │91 └─ /work/proj/deps/poison/mix.exs:4:44: Poison.Mixfile (module)9293 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 quotes94 │95 66 │ ["test": ["ecto.create --quiet", "ecto.migrate", "test"]]96 │ ~97 │98 └─ /work/proj/deps/flashtag_api/mix.exs:66:699100 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 quotes101 │102 62 │ "test": ["ecto.create --quiet", "ecto.migrate", "test"]103 │ ~104 │105 └─ /work/proj/deps/flashtag/mix.exs:62:7106107warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"108 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2109 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1110 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5111 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2112 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4113 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2114115==> phoenix116Compiling 75 files (.ex)117 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 operator118 │119 170 │ <<attr::size(prefix)-binary, ":unique">> -> attr120 │ ~121 │122 └─ lib/mix/phoenix/schema.ex:170:20: Mix.Phoenix.Schema.drop_unique/1123124 warning: using single-quoted strings to represent charlists is deprecated.125 Use ~c"" if you indeed want a charlist or use "" instead.126 You may run "mix format --migrate" to change all single-quoted127 strings to use the ~c sigil and fix this warning.128 │129 310 │ :error_logger.warning_msg('~p ~p received unexpected message in handle_info/2: ~p~n',130 │ ~131 │132 └─ lib/phoenix/channel/server.ex:310:31133134 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead135 │136 39 │ Logger.warn "Phoenix is unable to create symlinks. Phoenix' code reloader will run " <>137 │ ~138 │139 └─ lib/phoenix/code_reloader/server.ex:39:20: Phoenix.CodeReloader.Server.handle_call/3140141 warning: unused require Logger142 │143 20 │ require Logger144 │ ~145 │146 └─ lib/phoenix/endpoint/handler.ex:20:3147148 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead149 │150 39 │ Logger.warn """151 │ ~152 │153 └─ lib/phoenix/endpoint/supervisor.ex:39:14: Phoenix.Endpoint.Supervisor.init/1154155 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 operator156 │157 46 │ <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix158 │ ~159 │160 └─ lib/phoenix/naming.ex:46:29: Phoenix.Naming.unsuffix/2161162 warning: using single-quoted strings to represent charlists is deprecated.163 Use ~c"" if you indeed want a charlist or use "" instead.164 You may run "mix format --migrate" to change all single-quoted165 strings to use the ~c sigil and fix this warning.166 │167 315 │ @anno (if :erlang.system_info(:otp_release) >= '19' do168 │ ~169 │170 └─ lib/phoenix/router.ex:315:50171172 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 195 │ @anno (if :erlang.system_info(:otp_release) >= '19' do178 │ ~179 │180 └─ lib/phoenix/router/helpers.ex:195:50181182 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.183184 This error happens when you have function calls without parentheses inside keywords. For example:185186 function(arg, one: nested_call a, b, c)187 function(arg, one: if expr, do: :this, else: :that)188189 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:190191 function(arg, one: if(expr, do: :this, else: :that))192 function(arg, one: nested_call(a, b, c))193194 Ambiguity found at:195 │196 71 │ unless actions -- supported_actions == [], do: raise ArgumentError, """197 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~198 │199 └─ lib/phoenix/router/resource.ex:71200201 warning: duplicate key :route found in struct202 │203 24 │ defstruct [:path, :actions, :param, :route, :controller, :route, :member, :collection, :singleton]204 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~205 │206 └─ lib/phoenix/router/resource.ex:24: Phoenix.Router.Resource (module)207208 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead209 │210 885 │ Logger.warn "send_download/3 has been invoked during an AJAX request. " <>211 │ ~212 │213 └─ lib/phoenix/controller.ex:885:14: Phoenix.Controller.warn_if_ajax/1214215 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)"216 │217 110 │ @callback start_link(Keyword.t) :: {:ok, pid()} | {:error, reason :: term()} :: :ignore218 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~219 │220 └─ lib/phoenix/presence.ex:110: Phoenix.Presence (module)221222 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead223 │224 304 │ Logger.warn fn -> "Ignoring unmatched topic \"#{msg.topic}\" in #{inspect(socket.handler)}" end225 │ ~226 │227 └─ lib/phoenix/socket/transport.ex:304:12: Phoenix.Socket.Transport.reply_ignore/2228229 warning: using single-quoted strings to represent charlists is deprecated.230 Use ~c"" if you indeed want a charlist or use "" instead.231 You may run "mix format --migrate" to change all single-quoted232 strings to use the ~c sigil and fix this warning.233 │234 174 │ @anno (if :erlang.system_info(:otp_release) >= '19' do235 │ ~236 │237 └─ lib/phoenix/template.ex:174:50238239 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead240 │241 227 │ Logger.warn ":max_age was not set on Phoenix.Token.verify/4. " <>242 │ ~243 │244 └─ lib/phoenix/token.ex:227:12: Phoenix.Token.expired?/2245246 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead247 │248 647 │ exception -> {:error, {exception, System.stacktrace()}}249 │ ~250 │251 └─ lib/phoenix/test/conn_test.ex:647:48: Phoenix.ConnTest.wrap_request/1252253 warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead254 │255 12 │ worker(Phoenix.Transports.LongPoll.Server, [], restart: :temporary)256 │ ~257 │258 └─ lib/phoenix/transports/long_poll_server.ex:12:7: Phoenix.Transports.LongPoll.Supervisor.init/1259260 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead261 │262 14 │ supervise(children, strategy: :simple_one_for_one)263 │ ~264 │265 └─ lib/phoenix/transports/long_poll_server.ex:14:5: Phoenix.Transports.LongPoll.Supervisor.init/1266267 warning: expected a module (an atom) when invoking config/1 in expression:268269 endpoint.config(:endpoint_id)270271 where "endpoint" was given the type:272273 # type: dynamic(%{..., __pubsub_server__: atom()})274 # from: lib/phoenix/transports/long_poll.ex:199:10275 verify_token(endpoint, token, opts)276277 type warning found at:278 │279 201 │ server_ref = server_ref(endpoint.config(:endpoint_id), id, pid, priv_topic)280 │ ~281 │282 └─ lib/phoenix/transports/long_poll.ex:201:42: Phoenix.Transports.LongPoll.resume_session/3283284 warning: unknown key .__pubsub_server__ in expression:285286 endpoint.__pubsub_server__287288 the given type does not have the given key:289290 dynamic(291 %Phoenix.Socket{292 id: term(),293 assigns: term(),294 channel: term(),295 channel_pid: term(),296 endpoint: atom(),297 handler: term(),298 joined: term(),299 pubsub_server: term(),300 ref: term(),301 join_ref: term(),302 topic: term(),303 transport: term(),304 transport_pid: term(),305 transport_name: term(),306 serializer: term(),307 private: term(),308 vsn: term()309 } or310 %Plug.Conn{311 adapter: term(),312 assigns: term(),313 body_params: term(),314 cookies: term(),315 halted: term(),316 host: term(),317 method: term(),318 owner: term(),319 params: term(),320 path_info: term(),321 path_params: term(),322 port: term(),323 private: term(),324 query_params: term(),325 query_string: term(),326 remote_ip: term(),327 req_cookies: term(),328 req_headers: term(),329 request_path: term(),330 resp_body: term(),331 resp_cookies: term(),332 resp_headers: term(),333 scheme: term(),334 script_name: term(),335 secret_key_base: term(),336 state: term(),337 status: term()338 } or atom() or binary()339 )340341 where "endpoint" was given the type:342343 # type: dynamic(%Phoenix.Socket{endpoint: atom()} or %Plug.Conn{} or atom() or binary())344 # from: lib/phoenix/transports/long_poll.ex:254:19345 Phoenix.Token.sign(endpoint, Atom.to_string(endpoint.__pubsub_server__), data, opts[:crypto])346347 type warning found at:348 │349 254 │ Phoenix.Token.sign(endpoint, Atom.to_string(endpoint.__pubsub_server__), data, opts[:crypto])350 │ ~~~~~~~~~~~~~~~~~351 │352 └─ lib/phoenix/transports/long_poll.ex:254:58: Phoenix.Transports.LongPoll.sign_token/3353354 warning: Plug.Crypto.safe_binary_to_term/1 is undefined or private355 │356 176 │ %{data: data, signed: signed} = Plug.Crypto.safe_binary_to_term(message)357 │ ~358 │359 └─ lib/phoenix/token.ex:176:53: Phoenix.Token.verify/4360361 warning: a struct for Phoenix.Socket is expected on struct update:362363 %Phoenix.Socket{socket | id: id}364365 but got type:366367 dynamic()368369 where "socket" was given the type:370371 # type: dynamic()372 # from: lib/phoenix/socket/transport.ex373 {:ok, socket}374375 when defining the variable "socket", you must also pattern match on "%Phoenix.Socket{}"376377 type warning found at:378 │379 195 │ id when is_binary(id) -> {:ok, %Socket{socket | id: id}}380 │ ~381 │382 └─ lib/phoenix/socket/transport.ex:195:42: Phoenix.Socket.Transport.do_connect/7383384 warning: @behaviour :cowboy_websocket_handler does not exist (in module Phoenix.Endpoint.CowboyWebSocket)385 │386 1 │ defmodule Phoenix.Endpoint.CowboyWebSocket do387 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~388 │389 └─ lib/phoenix/endpoint/cowboy_websocket.ex:1: Phoenix.Endpoint.CowboyWebSocket (module)390391 warning: Plug.Adapters.Cowboy.Conn.conn/2 is undefined (module Plug.Adapters.Cowboy.Conn is not available or is yet to be defined)392 │393 10 │ conn = @connection.conn(req, transport)394 │ ~395 │396 └─ lib/phoenix/endpoint/cowboy_websocket.ex:10:24: Phoenix.Endpoint.CowboyWebSocket.init/3397398 warning: a struct for Plug.Conn is expected on struct update:399400 %Plug.Conn{conn | state: :sent}401402 but got type:403404 dynamic()405406 where "conn" was given the type:407408 # type: dynamic()409 # from: lib/phoenix/endpoint/render_errors.ex:79:21410 conn411412 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"413414 type warning found at:415 │416 83 │ %Plug.Conn{conn | state: :sent}417 │ ~418 │419 └─ lib/phoenix/endpoint/render_errors.ex:83:9: Phoenix.Endpoint.RenderErrors.maybe_render/5420421 warning: :cowboy_req.compact/1 is undefined (module :cowboy_req is not available or is yet to be defined)422 │423 73 │ {:ok, :cowboy_req.compact(req), {handler, state}, timeout}424 │ ~425 │426 └─ lib/phoenix/endpoint/cowboy_websocket.ex:73:23: Phoenix.Endpoint.CowboyWebSocket.websocket_init/3427428 warning: a struct for Plug.Conn is expected on struct update:429430 %Plug.Conn{conn | query_params: %{}, params: %{}}431432 but got type:433434 dynamic(%{..., params: %Plug.Conn.Unfetched{}})435436 where "conn" was given the types:437438 # type: dynamic(%{..., params: term()})439 # from: lib/phoenix/endpoint/render_errors.ex:94:17440 conn.params441442 # type: dynamic(%{..., params: %Plug.Conn.Unfetched{}})443 # from: lib/phoenix/endpoint/render_errors.ex:94:17444 conn.params445446 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"447448 type warning found at:449 │450 95 │ %Plug.Conn.Unfetched{} -> %Plug.Conn{conn | query_params: %{}, params: %{}}451 │ ~452 │453 └─ lib/phoenix/endpoint/render_errors.ex:95:35: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/1454455 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead456 │457 23 │ {:upgrade, :protocol, __MODULE__, req, {:error, mfa, kind, reason, System.stacktrace}}458 │ ~459 │460 └─ lib/phoenix/endpoint/cowboy_websocket.ex:23:83: Phoenix.Endpoint.CowboyWebSocket.init/3461462 warning: a struct for Plug.Conn is expected on struct update:463464 %Plug.Conn{conn | query_params: %{}, params: params}465466 but got type:467468 dynamic(%{..., params: not %Plug.Conn.Unfetched{}})469470 where "conn" was given the types:471472 # type: dynamic(%{..., params: term()})473 # from: lib/phoenix/endpoint/render_errors.ex:94:17474 conn.params475476 # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})477 # from: lib/phoenix/endpoint/render_errors.ex:94:17478 conn.params479480 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"481482 type warning found at:483 │484 96 │ params -> %Plug.Conn{conn | query_params: %{}, params: params}485 │ ~486 │487 └─ lib/phoenix/endpoint/render_errors.ex:96:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/1488489 warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead490 │491 198 │ supervisor(Task.Supervisor, [[name: task_supervisor]]),492 │ ~493 │494 └─ lib/phoenix/presence.ex:198:7: Phoenix.Presence.start_link/4495496 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead497 │498 199 │ worker(Phoenix.Tracker, [module, opts, opts])499 │ ~500 │501 └─ lib/phoenix/presence.ex:199:7: Phoenix.Presence.start_link/4502503 warning: a struct for Plug.Conn is expected on struct update:504505 %Plug.Conn{conn | params: params}506507 but got type:508509 dynamic(%{..., params: map()})510511 where "conn" was given the type:512513 # type: dynamic(%{..., params: map()})514 # from: lib/phoenix/controller.ex:912:17515 Map.get(conn.params, required_key)516517 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"518519 type warning found at:520 │521 919 │ %Plug.Conn{conn | params: params}522 │ ~523 │524 └─ lib/phoenix/controller.ex:919:5: Phoenix.Controller.scrub_params/2525526 warning: expected a map or struct when accessing .url in expression:527528 endpoint.url529530 where "endpoint" was given the types:531532 # type: dynamic(atom())533 # from: lib/phoenix/router/helpers.ex:24:20534 endpoint535536 # type: atom()537 # from: lib/phoenix/router/helpers.ex:24:35538 is_atom(endpoint)539540 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()541542 type warning found at:543 │544 25 │ endpoint.url545 │ ~546 │547 └─ lib/phoenix/router/helpers.ex:25:14: Phoenix.Router.Helpers.url/2548549 warning: a struct for Plug.Conn is expected on struct update:550551 %Plug.Conn{conn | path_info: path, script_name: script}552553 but got type:554555 dynamic()556557 where "conn" was given the type:558559 # type: dynamic()560 # from: lib/phoenix/router/route.ex:147:10561 conn = target.call(%Plug.Conn{...}, opts)562563 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"564565 type warning found at:566 │567 148 │ %Plug.Conn{conn | path_info: path, script_name: script}568 │ ~569 │570 └─ lib/phoenix/router/route.ex:148:5: Phoenix.Router.Route.forward/4571572 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead573 │574 284 │ Phoenix.PlugError.reraise(piped_conn, :error, reason, System.stacktrace())575 │ ~576 │577 └─ lib/phoenix/router.ex:284:74: Phoenix.Router.__call__/1578579 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead580 │581 71 │ supervise(children, strategy: :one_for_one)582 │ ~583 │584 └─ lib/phoenix/endpoint/supervisor.ex:71:5: Phoenix.Endpoint.Supervisor.init/1585586 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead587 │588 76 │ [worker(Phoenix.Config, args)]589 │ ~590 │591 └─ lib/phoenix/endpoint/supervisor.ex:76:6: Phoenix.Endpoint.Supervisor.config_children/3592593 warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead594 │595 84 │ [supervisor(adapter, [mod.__pubsub_server__(), pub_conf])]596 │ ~597 │598 └─ lib/phoenix/endpoint/supervisor.ex:84:8: Phoenix.Endpoint.Supervisor.pubsub_children/2599 └─ lib/phoenix/endpoint/supervisor.ex:96:8: Phoenix.Endpoint.Supervisor.server_children/3600 └─ lib/phoenix/endpoint/supervisor.ex:97:8: Phoenix.Endpoint.Supervisor.server_children/3601602 warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead603 │604 106 │ worker(Phoenix.Endpoint.Watcher, watcher_args(cmd, args),605 │ ~606 │607 └─ lib/phoenix/endpoint/supervisor.ex:106:9: Phoenix.Endpoint.Supervisor.watcher_children/3608609 warning: expected a module (an atom) when invoking path/1 in expression:610611 endpoint.path("/")612613 where "endpoint" was given the type:614615 # type: dynamic(%{..., host: term()})616 # from: lib/phoenix/endpoint/supervisor.ex:312:14617 endpoint.host618619 type warning found at:620 │621 313 │ endpoint.path("/")622 │ ~623 │624 └─ lib/phoenix/endpoint/supervisor.ex:313:14: Phoenix.Endpoint.Supervisor.warmup/1625626 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead627 │628 35 │ supervise(children, strategy: :one_for_one)629 │ ~630 │631 └─ lib/phoenix/endpoint/handler.ex:35:5: Phoenix.Endpoint.Handler.init/1632633 warning: Enum.partition/2 is deprecated. Use Enum.split_with/2 instead634 │635 39 │ {config_keywords, config_other} = Enum.partition(config, &keyword_item?/1)636 │ ~637 │638 └─ lib/phoenix/endpoint/handler.ex:39:44: Phoenix.Endpoint.Handler.default/3639640 warning: Plug.Adapters.Cowboy.child_spec/4 is deprecated. Use Plug.Cowboy.child_spec/4 instead641 │642 81 │ Plug.Adapters.Cowboy.child_spec(scheme, endpoint, [], config)643 │ ~644 │645 └─ lib/phoenix/endpoint/cowboy_handler.ex:81:28: Phoenix.Endpoint.CowboyHandler.child_spec/3646647 warning: :ranch.get_addr/1 is undefined (module :ranch is not available or is yet to be defined)648 │649 113 │ {addr,port} = :ranch.get_addr(ref)650 │ ~651 │652 └─ lib/phoenix/endpoint/cowboy_handler.ex:113:26: Phoenix.Endpoint.CowboyHandler.info/3653654 warning: comparison between distinct types found:655656 !Path.extname(file_path) == ".gz"657658 given types:659660 dynamic(boolean()) == binary()661662 where "file_path" was given the type:663664 # type: dynamic(binary() or empty_list() or non_empty_list(term(), term()))665 # from: lib/phoenix/digester.ex:147:45666 Path.basename(file_path)667668 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 false669670 type warning found at:671 │672 148 │ !Path.extname(file_path) == ".gz"673 │ ~674 │675 └─ lib/phoenix/digester.ex:148:32: Phoenix.Digester.uncompressed_digested_file?/1676677 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead678 │679 61 │ IO.puts Exception.format(kind, reason, System.stacktrace)680 │ ~681 │682 └─ lib/phoenix/code_reloader/server.ex:61:59: Phoenix.CodeReloader.Server.handle_call/3683684 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead685 │686 51 │ worker(Phoenix.CodeReloader.Server, [])687 │ ~688 │689 └─ lib/phoenix.ex:51:7: Phoenix.start/2690691 warning: Enum.partition/2 is deprecated. Use Enum.split_with/2 instead692 │693 155 │ Enum.partition attrs, fn694 │ ~695 │696 └─ lib/mix/tasks/phoenix.gen.model.ex:155:10: Mix.Tasks.Phoenix.Gen.Model.partition_attrs_and_assocs/1697698 warning: expected a map or struct when accessing .__phoenix_recompile__? in expression:699700 mod.__phoenix_recompile__?701702 where "mod" was given the type:703704 # type: dynamic(atom())705 # from: lib/mix/tasks/compile.phoenix.ex:34:12706 Code.ensure_loaded?(mod)707708 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()709710 type warning found at:711 │712 36 │ mod.__phoenix_recompile__?713 │ ~714 │715 └─ lib/mix/tasks/compile.phoenix.ex:36:13: Mix.Tasks.Compile.Phoenix.modules_for_recompilation/1716717 warning: Enum.partition/2 is deprecated. Use Enum.split_with/2 instead718 │719 234 │ Enum.partition(attrs, fn720 │ ~721 │722 └─ lib/mix/phoenix/schema.ex:234:12: Mix.Phoenix.Schema.partition_attrs_and_assocs/2723724Generated phoenix app725warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"726 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2727 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1728 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5729 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2730 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4731 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2732733==> ecto734Compiling 70 files (.ex)735 warning: using single-quoted strings to represent charlists is deprecated.736 Use ~c"" if you indeed want a charlist or use "" instead.737 You may run "mix format --migrate" to change all single-quoted738 strings to use the ~c sigil and fix this warning.739 │740 166 │ defp insert_all_value(_), do: '?'741 │ ~742 │743 └─ lib/ecto/adapters/mysql/connection.ex:166:37744745 warning: using single-quoted strings to represent charlists is deprecated.746 Use ~c"" if you indeed want a charlist or use "" instead.747 You may run "mix format --migrate" to change all single-quoted748 strings to use the ~c sigil and fix this warning.749 │750 354 │ '?'751 │ ~752 │753 └─ lib/ecto/adapters/mysql/connection.ex:354:7754755 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.756757 This error happens when you have function calls without parentheses inside keywords. For example:758759 function(arg, one: nested_call a, b, c)760 function(arg, one: if expr, do: :this, else: :that)761762 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:763764 function(arg, one: if(expr, do: :this, else: :that))765 function(arg, one: nested_call(a, b, c))766767 Ambiguity found at:768 │769 2286 │ raise ArgumentError, "cannot add constraint to changeset because it does not have a source, got: #{inspect data}"770 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~771 │772 └─ lib/ecto/changeset.ex:2286773774 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.775776 This error happens when you have function calls without parentheses inside keywords. For example:777778 function(arg, one: nested_call a, b, c)779 function(arg, one: if expr, do: :this, else: :that)780781 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:782783 function(arg, one: if(expr, do: :this, else: :that))784 function(arg, one: nested_call(a, b, c))785786 Ambiguity found at:787 │788 265 │ do: raise ArgumentError, "a constraint must have either a check or exclude option"789 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~790 │791 └─ lib/ecto/migration/runner.ex:265792793 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.794795 This error happens when you have function calls without parentheses inside keywords. For example:796797 function(arg, one: nested_call a, b, c)798 function(arg, one: if expr, do: :this, else: :that)799800 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:801802 function(arg, one: if(expr, do: :this, else: :that))803 function(arg, one: nested_call(a, b, c))804805 Ambiguity found at:806 │807 267 │ do: raise ArgumentError, "a constraint must not have both check and exclude options"808 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~809 │810 └─ lib/ecto/migration/runner.ex:267811812 warning: atom ::: must be written between quotes, as in :"::", to avoid ambiguity813 │814 136 │ {:::, _, [left, _]} -> is_integer(left) or is_binary(left)815 │ ~816 │817 └─ lib/ecto/query/builder.ex:136:8818819 warning: unknown compiler variable "__" (expected one of __MODULE__, __ENV__, __DIR__, __CALLER__, __STACKTRACE__)820 │821 643 │ def quoted_type({:datetime_add, _, [_, _, __]}, _vars), do: :naive_datetime822 │ ~~823 │824 └─ lib/ecto/query/builder.ex:643:45: Ecto.Query.Builder.quoted_type/2825826 warning: unknown compiler variable "__" (expected one of __MODULE__, __ENV__, __DIR__, __CALLER__, __STACKTRACE__)827 │828 644 │ def quoted_type({:date_add, _, [_, _, __]}, _vars), do: :date829 │ ~~830 │831 └─ lib/ecto/query/builder.ex:644:41: Ecto.Query.Builder.quoted_type/2832833 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.834835 This error happens when you have function calls without parentheses inside keywords. For example:836837 function(arg, one: nested_call a, b, c)838 function(arg, one: if expr, do: :this, else: :that)839840 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:841842 function(arg, one: if(expr, do: :this, else: :that))843 function(arg, one: nested_call(a, b, c))844845 Ambiguity found at:846 │847 454 │ do: raise ArgumentError, "a changeset with action #{inspect given} was given to #{inspect repo}.#{action}/2"848 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~849 │850 └─ lib/ecto/repo/schema.ex:454851852 warning: unused require Ecto.Query853 │854 6 │ require Ecto.Query855 │ ~856 │857 └─ lib/ecto/repo/preloader.ex:6:3858859Compiling lib/ecto.ex (it's taking more than 10s)860 warning: Module.eval_quoted/2 is deprecated. Use Code.eval_quoted/3 instead861 │862 9 │ schema "schema_migrations" do863 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~864 │865 └─ lib/ecto/migration/schema_migration.ex:9: Ecto.Migration.SchemaMigration (module)866867 warning: struct DBConnection.OwnershipError is undefined (module DBConnection.OwnershipError is not available or is yet to be defined)868 │869 258 │ err in DBConnection.OwnershipError ->870 │ ~871 │872 └─ lib/ecto/adapters/sql.ex:258:11: Ecto.Adapters.SQL.sql_call/6873874 warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead875 │876 2400 │ surround_many("#Ecto.Changeset<", list, ">", opts, fn877 │ ~878 │879 └─ lib/ecto/changeset.ex:2400:5: Inspect.Ecto.Changeset.inspect/2880881 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead882 │883 260 │ reraise %{err | message: message}, System.stacktrace884 │ ~885 │886 └─ lib/ecto/adapters/sql.ex:260:51: Ecto.Adapters.SQL.sql_call/6887888 warning: incompatible types given to Mix.Ecto.ensure_started/2:889890 Mix.Ecto.ensure_started(repo, opts)891892 given types:893894 -dynamic(atom())-, dynamic(empty_list() or non_empty_list(term(), term()))895896 but expected one of:897898 %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())899900 where "opts" was given the type:901902 # type: dynamic(903 %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or904 non_struct_map()905 )906 # from: lib/mix/tasks/ecto.rollback.ex:64:10907 opts =908 if opts[:quiet] do909 Keyword.merge(opts, log: false, log_sql: false)910 else911 opts912 end913914 where "repo" was given the type:915916 # type: dynamic(atom())917 # from: lib/mix/tasks/ecto.rollback.ex:70:7918 Mix.Ecto.ensure_repo(repo, args)919920 type warning found at:921 │922 72 │ {:ok, pid, apps} = ensure_started(repo, opts)923 │ ~924 │925 └─ lib/mix/tasks/ecto.rollback.ex:72:26: Mix.Tasks.Ecto.Rollback.run/2926927 warning: the following clause will never match:928929 [{^module, :changeset, args_or_arity, _}] when args_or_arity == 2 when length(args_or_arity) == 2 ->930931 because it attempts to match on the result of:932933 System.stacktrace()934935 which has type:936937 empty_list()938939 where "args_or_arity" was given the type:940941 # type: float() or integer() or non_empty_list(term())942 # from: lib/ecto/changeset.ex943 (_() when args_or_arity == 2) when length(args_or_arity) == 2944945 where "module" was given the type:946947 # type: dynamic()948 # from: lib/ecto/changeset.ex:733:30949 module950951 type warning found at:952 │953 741 │ ... when length(args_or_arity) == 2 ->954 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~955 │956 └─ lib/ecto/changeset.ex:741: Ecto.Changeset.on_cast_default/2957958 warning: incompatible types given to Mix.Ecto.ensure_started/2:959960 Mix.Ecto.ensure_started(repo, all: true)961962 given types:963964 -dynamic(atom())-, non_empty_list({:all, true})965966 but expected one of:967968 %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())969970 where "repo" was given the type:971972 # type: dynamic(atom())973 # from: lib/mix/tasks/ecto.migrations.ex:37:7974 Mix.Ecto.ensure_repo(repo, args)975976 type warning found at:977 │978 39 │ {:ok, pid, _} = ensure_started(repo, all: true)979 │ ~980 │981 └─ lib/mix/tasks/ecto.migrations.ex:39:23: Mix.Tasks.Ecto.Migrations.run/3982983 warning: incompatible types given to Mix.Ecto.ensure_started/2:984985 Mix.Ecto.ensure_started(repo, opts)986987 given types:988989 -dynamic(atom())-, dynamic(empty_list() or non_empty_list(term(), term()))990991 but expected one of:992993 %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())994995 where "opts" was given the type:996997 # type: dynamic(998 %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or999 non_struct_map()1000 )1001 # from: lib/mix/tasks/ecto.migrate.ex:68:101002 opts =1003 if opts[:quiet] do1004 Keyword.merge(opts, log: false, log_sql: false)1005 else1006 opts1007 end10081009 where "repo" was given the type:10101011 # type: dynamic(atom())1012 # from: lib/mix/tasks/ecto.migrate.ex:74:71013 Mix.Ecto.ensure_repo(repo, args)10141015 type warning found at:1016 │1017 76 │ {:ok, pid, apps} = ensure_started(repo, opts)1018 │ ~1019 │1020 └─ lib/mix/tasks/ecto.migrate.ex:76:26: Mix.Tasks.Ecto.Migrate.run/210211022 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1023 │1024 739 │ case System.stacktrace do1025 │ ~1026 │1027 └─ lib/ecto/changeset.ex:739:23: Ecto.Changeset.on_cast_default/210281029 warning: incompatible types given to Mix.Ecto.source_repo_priv/1:10301031 Mix.Ecto.source_repo_priv(repo)10321033 given types:10341035 -dynamic(%{..., __adapter__: atom(), config: empty_list() or non_empty_list(term(), term())})-10361037 but expected one of:10381039 atom()10401041 where "repo" was given the types:10421043 # type: dynamic(%{..., config: empty_list() or non_empty_list(term(), term())})1044 # from: lib/mix/tasks/ecto.load.ex:70:221045 Keyword.merge(repo.config, opts)10461047 # type: dynamic(%{..., __adapter__: atom(), config: empty_list() or non_empty_list(term(), term())})1048 # from: lib/mix/tasks/ecto.load.ex:72:271049 repo.__adapter__.structure_load(Mix.Ecto.source_repo_priv(repo), config)10501051 type warning found at:1052 │1053 72 │ case repo.__adapter__.structure_load(source_repo_priv(repo), config) do1054 │ ~1055 │1056 └─ lib/mix/tasks/ecto.load.ex:72:42: Mix.Tasks.Ecto.Load.load_structure/210571058 warning: expected a map or struct when accessing .__adapter__ in expression:10591060 repo.__adapter__10611062 where "repo" was given the type:10631064 # type: dynamic(atom())1065 # from: lib/mix/tasks/ecto.load.ex:53:71066 Mix.Ecto.ensure_repo(repo, args)10671068 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()10691070 type warning found at:1071 │1072 54 │ ensure_implements(repo.__adapter__, Ecto.Adapter.Structure,1073 │ ~1074 │1075 └─ lib/mix/tasks/ecto.load.ex:54:30: Mix.Tasks.Ecto.Load.run/110761077 warning: expected a map or struct when accessing .__adapter__ in expression:10781079 repo.__adapter__10801081 where "repo" was given the type:10821083 # type: dynamic(atom())1084 # from: lib/mix/tasks/ecto.drop.ex:39:71085 Mix.Ecto.ensure_repo(repo, args)10861087 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()10881089 type warning found at:1090 │1091 40 │ ensure_implements(repo.__adapter__, Ecto.Adapter.Storage,1092 │ ~1093 │1094 └─ lib/mix/tasks/ecto.drop.ex:40:30: Mix.Tasks.Ecto.Drop.run/110951096 warning: expected a map or struct when accessing .__adapter__ in expression:10971098 repo.__adapter__10991100 where "repo" was given the type:11011102 # type: dynamic(atom())1103 # from: lib/mix/tasks/ecto.dump.ex:50:71104 Mix.Ecto.ensure_repo(repo, args)11051106 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()11071108 type warning found at:1109 │1110 51 │ ensure_implements(repo.__adapter__, Ecto.Adapter.Structure,1111 │ ~1112 │1113 └─ lib/mix/tasks/ecto.dump.ex:51:30: Mix.Tasks.Ecto.Dump.run/111141115 warning: expected a map or struct when accessing .__adapter__ in expression:11161117 repo.__adapter__11181119 where "repo" was given the type:11201121 # type: dynamic(atom())1122 # from: lib/mix/tasks/ecto.create.ex:37:71123 Mix.Ecto.ensure_repo(repo, args)11241125 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()11261127 type warning found at:1128 │1129 38 │ ensure_implements(repo.__adapter__, Ecto.Adapter.Storage,1130 │ ~1131 │1132 └─ lib/mix/tasks/ecto.create.ex:38:30: Mix.Tasks.Ecto.Create.run/111331134 warning: incompatible types given to get_source/1:11351136 get_source(repo)11371138 given types:11391140 -dynamic(atom())-11411142 but expected one of:11431144 %{..., config: empty_list() or non_empty_list(term(), term())}11451146 where "repo" was given the type:11471148 # type: dynamic(atom())1149 # from: lib/ecto/migration/schema_migration.ex:24:131150 repo.all(1151 Map.put(1152 (1153 query =1154 (1155 query = {get_source(repo), Ecto.Migration.SchemaMigration}1156 Ecto.Query.Builder.From.apply(query, 1)1157 )1158 1159 Ecto.Query.Builder.Select.apply(query, %Ecto.Query.SelectExpr{1160 ...,1161 expr: {{:., [], [{:&, [], [0]}, :version]}, [], []},1162 file: "/work/proj/deps/ecto/lib/ecto/migration/schema_migration.ex",1163 line: 22,1164 take: %{}1165 })1166 ),1167 :prefix,1168 prefix1169 ), timeout: :infinity, log: false)11701171 type warning found at:1172 │1173 22 │ from(p in {get_source(repo), __MODULE__}, select: p.version)1174 │ ~1175 │1176 └─ lib/ecto/migration/schema_migration.ex:22:16: Ecto.Migration.SchemaMigration.migrated_versions/211771178 warning: incompatible types given to get_source/1:11791180 get_source(repo)11811182 given types:11831184 -dynamic(atom())-11851186 but expected one of:11871188 %{..., config: empty_list() or non_empty_list(term(), term())}11891190 where "repo" was given the type:11911192 # type: dynamic(atom())1193 # from: lib/ecto/migration/schema_migration.ex:30:131194 repo.insert!(1195 Ecto.put_meta(%Ecto.Migration.SchemaMigration{..., version: version},1196 prefix: prefix,1197 source: get_source(repo)1198 ), timeout: :infinity, log: false)11991200 type warning found at:1201 │1202 29 │ |> Ecto.put_meta(prefix: prefix, source: get_source(repo))1203 │ ~1204 │1205 └─ lib/ecto/migration/schema_migration.ex:29:46: Ecto.Migration.SchemaMigration.up/312061207 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1208 │1209 856 │ not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->1210 │ ~1211 │1212 └─ lib/ecto/association.ex:856:78: Ecto.Association.ManyToMany.after_compile_validation/21213 └─ lib/ecto/association.ex:860:45: Ecto.Association.ManyToMany.after_compile_validation/212141215 warning: incompatible types given to get_source/1:12161217 get_source(repo)12181219 given types:12201221 -dynamic(atom())-12221223 but expected one of:12241225 %{..., config: empty_list() or non_empty_list(term(), term())}12261227 where "repo" was given the type:12281229 # type: dynamic(atom())1230 # from: lib/ecto/migration/schema_migration.ex:36:131231 repo.delete_all(1232 Map.put(1233 (1234 query =1235 (1236 query = {get_source(repo), Ecto.Migration.SchemaMigration}1237 Ecto.Query.Builder.From.apply(query, 1)1238 )1239 1240 Ecto.Query.Builder.Filter.apply(query, :where, %Ecto.Query.BooleanExpr{1241 expr: {:==, [], [{{:., [], [{:&, [], [0]}, :version]}, [], []}, {:^, [], [0]}]},1242 op: :and,1243 params: [{Ecto.Query.Builder.not_nil!(version), {0, :version}}],1244 file: "/work/proj/deps/ecto/lib/ecto/migration/schema_migration.ex",1245 line: 341246 })1247 ),1248 :prefix,1249 prefix1250 ), timeout: :infinity, log: false)12511252 type warning found at:1253 │1254 34 │ from(p in {get_source(repo), __MODULE__}, where: p.version == ^version)1255 │ ~1256 │1257 └─ lib/ecto/migration/schema_migration.ex:34:16: Ecto.Migration.SchemaMigration.down/312581259 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1260 │1261 715 │ not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->1262 │ ~1263 │1264 └─ lib/ecto/association.ex:715:78: Ecto.Association.BelongsTo.after_compile_validation/212651266 warning: the following conditional expression:12671268 is_atom(related)12691270 will always evaluate to:12711272 dynamic(true)12731274 where "related" was given the type:12751276 # type: dynamic(atom())1277 # from: lib/ecto/association.ex:730:151278 related = Ecto.Association.related_from_query(queryable)12791280 type warning found at:1281 │1282 732 │ unless is_atom(related) do1283 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~1284 │1285 └─ lib/ecto/association.ex:732: Ecto.Association.BelongsTo.struct/312861287 warning: this clause of defp type_to_module/1 is never used (or it will always fail/warn when invoked)1288 │1289 1422 │ defp type_to_module(:naive_datetime), do: NaiveDateTime1290 │ ~1291 │1292 └─ lib/ecto/schema.ex:1422:8: Ecto.Schema.type_to_module/112931294 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1295 │1296 430 │ not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->1297 │ ~1298 │1299 └─ lib/ecto/association.ex:430:78: Ecto.Association.Has.after_compile_validation/213001301 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1302 │1303 1885 │ if Code.ensure_compiled?(type) and function_exported?(type, :type, 0) do1304 │ ~1305 │1306 └─ lib/ecto/schema.ex:1885:17: Ecto.Schema.check_type!/313071308 warning: the following clause will never match:13091310 {:error, _} = error ->13111312 because it attempts to match on the result of:13131314 apply(changeset, adapter, :insert, args)13151316 which has type:13171318 dynamic({:invalid or :ok, term()})13191320 type warning found at:1321 │1322 219 │ {:error, _} = error ->1323 │ ~1324 │1325 └─ lib/ecto/repo/schema.ex:219:23: Ecto.Repo.Schema.do_insert/413261327 warning: Mix.Project.compile/1 is deprecated. Use Mix.Task.run("compile", args) instead1328 │1329 62 │ Mix.Project.compile(args)1330 │ ~1331 │1332 └─ lib/mix/ecto.ex:62:19: Mix.Ecto.ensure_repo/213331334 warning: expected a module (an atom) when invoking start_link/1 in expression:13351336 repo.start_link(pool_size: pool_size)13371338 where "pool_size" was given the type:13391340 # type: dynamic()1341 # from: lib/mix/ecto.ex:101:151342 pool_size = Keyword.get(opts, :pool_size, 1)13431344 where "repo" was given the type:13451346 # type: dynamic(%{..., __adapter__: atom()})1347 # from: lib/mix/ecto.ex:99:361348 repo.__adapter__.ensure_all_started(repo, :temporary)13491350 type warning found at:1351 │1352 102 │ case repo.start_link(pool_size: pool_size) do1353 │ ~1354 │1355 └─ lib/mix/ecto.ex:102:15: Mix.Ecto.ensure_started/213561357 warning: the following clause will never match:13581359 {:error, _} = error ->13601361 because it attempts to match on the result of:13621363 apply(changeset, adapter, action, args)13641365 which has type:13661367 dynamic({:invalid or :ok, term()})13681369 type warning found at:1370 │1371 297 │ {:error, _} = error ->1372 │ ~1373 │1374 └─ lib/ecto/repo/schema.ex:297:25: Ecto.Repo.Schema.do_update/413751376 warning: Logger.remove_backend/1 is deprecated. Use LoggerBackends.remove/2 from :logger_backends dependency1377 │1378 146 │ Logger.remove_backend(:console)1379 │ ~1380 │1381 └─ lib/mix/ecto.ex:146:12: Mix.Ecto.restart_apps_if_migrated/213821383 warning: Logger.add_backend/2 is deprecated. Use LoggerBackends.add/2 from :logger_backends dependency1384 │1385 155 │ Logger.add_backend(:console, flush: true)1386 │ ~1387 │1388 └─ lib/mix/ecto.ex:155:12: Mix.Ecto.restart_apps_if_migrated/213891390 warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead1391 │1392 29 │ surround_many("#Ecto.Query<", list, ">", opts, fn str, _ -> str end)1393 │ ~1394 │1395 └─ lib/ecto/query/inspect.ex:29:5: Inspect.Ecto.Query.inspect/213961397 warning: Macro.to_string/2 is deprecated. Use Macro.to_string/1 instead1398 │1399 144 │ Macro.to_string(expr, &expr_to_string(&1, &2, names, part))1400 │ ~1401 │1402 └─ lib/ecto/query/inspect.ex:144:11: Inspect.Ecto.Query.expr/314031404 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1405 │1406 54 │ filter_and_reraise e, System.stacktrace1407 │ ~1408 │1409 └─ lib/ecto/repo/preloader.ex:54:36: Ecto.Repo.Preloader.normalize_and_preload_each/514101411 warning: Map.size/1 is deprecated. Use Kernel.map_size/1 instead1412 │1413 44 │ index = Map.size(params)1414 │ ~1415 │1416 └─ lib/ecto/query/builder.ex:44:18: Ecto.Query.Builder.escape/51417 └─ lib/ecto/query/builder.ex:53:17: Ecto.Query.Builder.escape/514181419 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)1420 │1421 228 │ raise BadStructError, struct: struct, term: data1422 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1423 │1424 └─ lib/ecto/repo/queryable.ex:228: Ecto.Repo.Queryable.process/514251426 warning: Decimal.minus/1 is deprecated. Use Decimal.negate/1 instead1427 │1428 614 │ Decimal.minus(decimal)1429 │ ~1430 │1431 └─ lib/ecto/query/builder.ex:614:13: Ecto.Query.Builder.negate!/114321433 warning: the following clause will never match:14341435 {:error, _} ->14361437 because it attempts to match on the result of:14381439 NaiveDateTime.new(date, time)14401441 which has type:14421443 dynamic({:ok, %NaiveDateTime{}})14441445 type warning found at:1446 │1447 803 │ {:error, _} -> :error1448 │ ~~~~~~~~~~~~~~~~~~~~~1449 │1450 └─ lib/ecto/type.ex:803: Ecto.Type.cast_naive_datetime/114511452 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1453 │1454 159 │ supervise(children, strategy: :one_for_one)1455 │ ~1456 │1457 └─ lib/ecto/repo/supervisor.ex:159:9: Ecto.Repo.Supervisor.init/114581459 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1460 │1461 214 │ filter_and_reraise e, System.stacktrace1462 │ ~1463 │1464 └─ lib/ecto/query/planner.ex:214:36: Ecto.Query.Planner.prepare/41465 └─ lib/ecto/query/planner.ex:709:36: Ecto.Query.Planner.normalize/414661467 warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead1468 │1469 15 │ surround_many("dynamic(", [Macro.to_string(binding), inspected], ")", opts, fn str, _ -> str end)1470 │ ~1471 │1472 └─ lib/ecto/query/inspect.ex:15:5: Inspect.Ecto.Query.DynamicExpr.inspect/214731474 warning: expected a map or struct when accessing .__struct__ in expression:14751476 schema.__struct__14771478 where "schema" was given the types:14791480 # type: dynamic(atom() and not nil)1481 # from: lib/ecto/query/planner.ex:1186:411482 schema14831484 # type: atom()1485 # from: lib/ecto/query/planner.ex:1186:611486 is_atom(schema)14871488 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()14891490 type warning found at:1491 │1492 1190 │ Map.has_key?(schema.__struct__, field) ->1493 │ ~1494 │1495 └─ lib/ecto/query/planner.ex:1190:27: Ecto.Query.Planner.type!/614961497 warning: incompatible types given to Ecto.Migration.SchemaMigration.migrated_versions/2:14981499 Ecto.Migration.SchemaMigration.migrated_versions(repo, opts[:prefix])15001501 given types:15021503 (1504 -dynamic(%{..., __adapter__: term(), config: empty_list() or non_empty_list(term(), term())})-,1505 dynamic()1506 )15071508 but expected one of:15091510 atom(), term()15111512 where "opts" was given the type:15131514 # type: dynamic(1515 %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or1516 non_struct_map()1517 )1518 # from: lib/ecto/migrator.ex:44:651519 opts[:prefix]15201521 where "repo" was given the type:15221523 # type: dynamic(%{..., __adapter__: term(), config: empty_list() or non_empty_list(term(), term())})1524 # from: lib/ecto/migrator.ex:44:231525 Ecto.Migration.SchemaMigration.ensure_schema_migrations_table!(repo, opts[:prefix])15261527 type warning found at:1528 │1529 45 │ SchemaMigration.migrated_versions(repo, opts[:prefix])1530 │ ~1531 │1532 └─ lib/ecto/migrator.ex:45:23: Ecto.Migrator.migrated_versions/215331534 warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead1535 │1536 12 │ worker(Ecto.Migration.Runner, [], restart: :temporary)1537 │ ~1538 │1539 └─ lib/ecto/migration/supervisor.ex:12:7: Ecto.Migration.Supervisor.init/115401541 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1542 │1543 15 │ supervise(children, strategy: :simple_one_for_one)1544 │ ~1545 │1546 └─ lib/ecto/migration/supervisor.ex:15:5: Ecto.Migration.Supervisor.init/115471548 warning: expected a module (an atom) when invoking transaction/2 in expression:15491550 repo.transaction(fun, log: false, timeout: :infinity)15511552 where "fun" was given the type:15531554 # type: dynamic()1555 # from: lib/ecto/migrator.ex:114:471556 fun15571558 where "repo" was given the types:15591560 # type: dynamic(%{..., __adapter__: %{..., supports_ddl_transaction?: term()}})1561 # from: lib/ecto/migrator.ex:118:241562 repo.__adapter__.supports_ddl_transaction?15631564 # type: dynamic(%{..., __adapter__: %{..., supports_ddl_transaction?: not false and not nil}})1565 # from: lib/ecto/migrator.ex:118:241566 repo.__adapter__.supports_ddl_transaction?15671568 type warning found at:1569 │1570 119 │ repo.transaction(fun, [log: false, timeout: :infinity])1571 │ ~1572 │1573 └─ lib/ecto/migrator.ex:119:14: Ecto.Migrator.run_maybe_in_transaction/315741575 warning: Code.load_file/1 is deprecated. Use Code.require_file/2 or Code.compile_file/2 instead1576 │1577 291 │ modules = Code.load_file(file)1578 │ ~1579 │1580 └─ lib/ecto/migrator.ex:291:20: Ecto.Migrator.extract_module/215811582 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1583 │1584 10 │ worker(Ecto.Registry, []),1585 │ ~1586 │1587 └─ lib/ecto/application.ex:10:7: Ecto.Application.start/215881589 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1590 │1591 321 │ reraise error, System.stacktrace1592 │ ~1593 │1594 └─ lib/ecto/migrator.ex:321:31: Ecto.Migrator.verbose_schema_migration/315951596 warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1597 │1598 11 │ supervisor(Ecto.Migration.Supervisor, [])1599 │ ~1600 │1601 └─ lib/ecto/application.ex:11:7: Ecto.Application.start/216021603Generated ecto app1604==> phoenix_ecto1605Compiling 6 files (.ex)1606 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1607 │1608 10 │ supervise([1609 │ ~1610 │1611 └─ lib/phoenix_ecto/sql/sandbox_supervisor.ex:10:5: Phoenix.Ecto.SQL.SandboxSupervisor.init/116121613 warning: function actions/1 required by protocol Plug.Exception is not implemented (in module Plug.Exception.Ecto.SubQueryError)1614 │1615 20 │ defimpl Plug.Exception, for: Ecto.SubQueryError do1616 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1617 │1618 └─ lib/phoenix_ecto/plug.ex:20: Plug.Exception.Ecto.SubQueryError (module)16191620 warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead1621 │1622 11 │ worker(Phoenix.Ecto.SQL.SandboxSession, [], restart: :temporary)1623 │ ~1624 │1625 └─ lib/phoenix_ecto/sql/sandbox_supervisor.ex:11:7: Phoenix.Ecto.SQL.SandboxSupervisor.init/116261627 warning: function actions/1 required by protocol Plug.Exception is not implemented (in module Plug.Exception.Ecto.InvalidChangesetError)1628 │1629 13 │ defimpl Plug.Exception, for: exception do1630 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1631 │1632 └─ lib/phoenix_ecto/plug.ex:13: Plug.Exception.Ecto.InvalidChangesetError (module)16331634 warning: function actions/1 required by protocol Plug.Exception is not implemented (in module Plug.Exception.Ecto.StaleEntryError)1635 │1636 13 │ defimpl Plug.Exception, for: exception do1637 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1638 │1639 └─ lib/phoenix_ecto/plug.ex:13: Plug.Exception.Ecto.StaleEntryError (module)16401641 warning: function actions/1 required by protocol Plug.Exception is not implemented (in module Plug.Exception.Ecto.NoResultsError)1642 │1643 13 │ defimpl Plug.Exception, for: exception do1644 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1645 │1646 └─ lib/phoenix_ecto/plug.ex:13: Plug.Exception.Ecto.NoResultsError (module)16471648 warning: function actions/1 required by protocol Plug.Exception is not implemented (in module Plug.Exception.Ecto.Query.CastError)1649 │1650 13 │ defimpl Plug.Exception, for: exception do1651 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1652 │1653 └─ lib/phoenix_ecto/plug.ex:13: Plug.Exception.Ecto.Query.CastError (module)16541655 warning: function actions/1 required by protocol Plug.Exception is not implemented (in module Plug.Exception.Ecto.CastError)1656 │1657 13 │ defimpl Plug.Exception, for: exception do1658 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1659 │1660 └─ lib/phoenix_ecto/plug.ex:13: Plug.Exception.Ecto.CastError (module)16611662 warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1663 │1664 13 │ supervisor(Phoenix.Ecto.SQL.SandboxSupervisor, [])1665 │ ~1666 │1667 └─ lib/phoenix_ecto.ex:13:7: Phoenix.Ecto.start/216681669Generated phoenix_ecto app1670==> ex_machina1671Compiling 6 files (.ex)1672 warning: Ecto.Type.embedded_dump/3 is undefined or private1673 │1674 257 │ Ecto.Type.embedded_dump(type, value, :json)1675 │ ~1676 │1677 └─ lib/ex_machina/ecto.ex:257:15: ExMachina.Ecto.try_embedded_dump/216781679Generated ex_machina app1680==> flashtag1681Compiling 16 files (.ex)1682 warning: Module.eval_quoted/2 is deprecated. Use Code.eval_quoted/3 instead1683 │1684 9 │ schema "users" do1685 │ ~~~~~~~~~~~~~~~~~1686 │1687 └─ lib/flashtag/accounts/user.ex:9: Flashtag.Accounts.User (module)16881689 warning: Module.eval_quoted/2 is deprecated. Use Code.eval_quoted/3 instead1690 │1691 10 │ schema "categories" do1692 │ ~~~~~~~~~~~~~~~~~~~~~~1693 │1694 └─ lib/flashtag/blog/category.ex:10: Flashtag.Blog.Category (module)16951696 warning: Module.eval_quoted/2 is deprecated. Use Code.eval_quoted/3 instead1697 │1698 10 │ schema "posts" do1699 │ ~~~~~~~~~~~~~~~~~1700 │1701 └─ lib/flashtag/blog/post.ex:10: Flashtag.Blog.Post (module)17021703 warning: Module.eval_quoted/2 is deprecated. Use Code.eval_quoted/3 instead1704 │1705 10 │ schema "series" do1706 │ ~~~~~~~~~~~~~~~~~~1707 │1708 └─ lib/flashtag/blog/series.ex:10: Flashtag.Blog.Series (module)17091710 warning: Module.eval_quoted/2 is deprecated. Use Code.eval_quoted/3 instead1711 │1712 10 │ schema "tags" do1713 │ ~~~~~~~~~~~~~~~~1714 │1715 └─ lib/flashtag/blog/tag.ex:10: Flashtag.Blog.Tag (module)171617171718== Compilation error in file lib/flashtag/repo.ex ==1719** (ArgumentError) missing :adapter configuration in config :flashtag, Flashtag.Repo1720 (ecto 2.2.12) lib/ecto/repo/supervisor.ex:70: Ecto.Repo.Supervisor.compile_config/21721 lib/flashtag/repo.ex:4: (module)1722could 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"