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