Build log
nerves_system_x86_64
holograf 0.0.1 · fail · run holograf-0.0.1-1790946026238
1577 of 1577 lines
1Resolving Hex dependencies...2Resolution completed in 0.265s3Unchanged:4 circular_buffer 1.1.05 cowboy 2.19.06 cowboy_telemetry 0.3.17 cowlib 2.20.0 VULNERABLE!8 EEF-CVE-2026-43966 (MEDIUM)9 aka: CVE-2026-43966, GHSA-w4f7-4cxr-rv3c10 HTTP Response Splitting via Non-VCHAR Bytes in cow_http_struct_hd:escape_string/211 https://osv.dev/vulnerability/EEF-CVE-2026-439661213 EEF-CVE-2026-43969 (LOW)14 aka: CVE-2026-43969, GHSA-g2wm-735q-3f5615 Cookie Request Header Injection via Unvalidated Encoder in cow_cookie:cookie/116 https://osv.dev/vulnerability/EEF-CVE-2026-4396917 db_connection 2.10.218 decimal 3.1.119 ecto 3.14.220 ecto_sql 3.14.021 elixir_make 0.10.022 expo 1.1.123 gettext 0.26.224 holograf 0.0.125 interactive_cmd 0.1.426 jason 1.4.527 mime 2.0.728 nerves 2.0.0-pre.229 nerves_discovery 0.1.530 nerves_logging 0.2.431 nerves_runtime 0.13.1332 nerves_system_bbb 2.30.233 nerves_system_br 1.34.434 nerves_system_mangopi_mq_pro 0.17.235 nerves_system_qemu_aarch64 0.4.236 nerves_system_rpi0 2.1.237 nerves_system_rpi4 2.1.238 nerves_system_rpi5 2.1.239 nerves_system_trellis 0.5.040 nerves_system_x86_64 1.34.241 nerves_toolchain_aarch64_nerves_linux_gnu 15.3.142 nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.143 nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.144 nerves_toolchain_riscv64_nerves_linux_gnu 15.3.145 nerves_toolchain_x86_64_nerves_linux_musl 15.3.146 nerves_uevent 0.1.747 phoenix 1.5.15 VULNERABLE!48 GHSA-p8f7-22gq-m7j9 (HIGH)49 aka: CVE-2022-4297550 Phoenix before 1.6.14 mishandles check_origin wildcarding51 https://osv.dev/vulnerability/GHSA-p8f7-22gq-m7j952 phoenix_ecto 4.7.053 phoenix_html 2.14.3 VULNERABLE!54 GHSA-5g2h-9x5v-5h3x (MEDIUM)55 aka: CVE-2021-46871, GHSA-j3gg-r6gp-95q256 phoenix_html allows Cross-site Scripting in HEEx class attributes57 https://osv.dev/vulnerability/GHSA-5g2h-9x5v-5h3x58 phoenix_live_dashboard 0.4.059 phoenix_live_view 0.15.7 VULNERABLE!60 EEF-CVE-2026-64941 (LOW)61 aka: CVE-2026-64941, GHSA-36m4-rm57-3prf62 Open redirect in Phoenix.LiveView.validate_local_url!/2 via ASCII tab, LF and CR63 https://osv.dev/vulnerability/EEF-CVE-2026-6494164 phoenix_pubsub 2.3.065 plug 1.20.366 plug_cowboy 2.9.067 plug_crypto 1.2.568 postgrex 0.22.469 property_table 0.3.470 ranch 2.3.071 ring_logger 0.11.772 tablet 0.3.373 telemetry 0.4.374 telemetry_metrics 0.6.275 telemetry_poller 0.5.176 toolshed 0.5.077 uboot_env 1.0.278* Getting holograf (Hex package)79* Getting nerves (Hex package)80* Getting ring_logger (Hex package)81* Getting toolshed (Hex package)82* Getting nerves_runtime (Hex package)83* Getting nerves_system_bbb (Hex package)84* Getting nerves_system_mangopi_mq_pro (Hex package)85* Getting nerves_system_qemu_aarch64 (Hex package)86* Getting nerves_system_rpi0 (Hex package)87* Getting nerves_system_rpi4 (Hex package)88* Getting nerves_system_rpi5 (Hex package)89* Getting nerves_system_trellis (Hex package)90* Getting nerves_system_x86_64 (Hex package)91* Getting nerves_system_br (Hex package)92* Getting nerves_toolchain_x86_64_nerves_linux_musl (Hex package)93* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)94* Getting nerves_toolchain_aarch64_nerves_linux_gnu (Hex package)95* Getting nerves_toolchain_armv6_nerves_linux_gnueabihf (Hex package)96* Getting nerves_toolchain_riscv64_nerves_linux_gnu (Hex package)97* Getting nerves_logging (Hex package)98* Getting nerves_uevent (Hex package)99* Getting uboot_env (Hex package)100* Getting elixir_make (Hex package)101* Getting property_table (Hex package)102* Getting circular_buffer (Hex package)103* Getting interactive_cmd (Hex package)104* Getting nerves_discovery (Hex package)105* Getting tablet (Hex package)106* Getting ecto_sql (Hex package)107* Getting gettext (Hex package)108* Getting jason (Hex package)109* Getting phoenix (Hex package)110* Getting phoenix_ecto (Hex package)111* Getting phoenix_html (Hex package)112* Getting phoenix_live_dashboard (Hex package)113* Getting plug_cowboy (Hex package)114* Getting postgrex (Hex package)115* Getting telemetry_metrics (Hex package)116* Getting telemetry_poller (Hex package)117* Getting telemetry (Hex package)118* Getting db_connection (Hex package)119* Getting decimal (Hex package)120* Getting cowboy (Hex package)121* Getting cowboy_telemetry (Hex package)122* Getting plug (Hex package)123* Getting mime (Hex package)124* Getting plug_crypto (Hex package)125* Getting cowlib (Hex package)126* Getting ranch (Hex package)127* Getting phoenix_live_view (Hex package)128* Getting ecto (Hex package)129* Getting phoenix_pubsub (Hex package)130* Getting expo (Hex package)131Found packages with security advisories, see above for details132You have added/upgraded packages you could sponsor, run `mix hex.sponsor` to learn more133==> plug_crypto134Compiling 5 files (.ex)135Generated plug_crypto app136==> nerves_compatibility_test137===> Analyzing applications...138===> Compiling ranch139===> Analyzing applications...140===> Compiling cowlib141===> Analyzing applications...142===> Compiling telemetry143==> telemetry_metrics144Compiling 7 files (.ex)145 warning: unused require Logger146 │147 391 │ require Logger148 │ ~149 │150 └─ lib/telemetry_metrics.ex:391:3151152Generated telemetry_metrics app153==> nerves_compatibility_test154===> Analyzing applications...155===> Compiling telemetry_poller156==> db_connection157Compiling 18 files (.ex)158Generated db_connection app159==> ecto160Compiling 56 files (.ex)161Generated ecto app162==> nerves_compatibility_test163===> Analyzing applications...164===> Compiling cowboy165==> gettext166Compiling 18 files (.ex)167 warning: unused require Gettext.Macros168 │169 594 │ require Gettext.Macros170 │ ~171 │172 └─ lib/gettext.ex:594:3173174 warning: Kernel.ParallelCompiler.async/1 is deprecated. Use `pmap/2` instead175 │176 426 │ Kernel.ParallelCompiler.async(fn ->177 │ ~178 │179 └─ lib/gettext/compiler.ex:426:39: Gettext.Compiler.compile_po_files/3180181 warning: the following clause is redundant:182183 defp ensure_empty_msgstr!(%Expo.Message.Plural{} = message)184185 it has type:186187 dynamic(%Expo.Message.Plural{})188189 previous clauses have already matched on the following types:190191 %Expo.Message.Singular{}192 %Expo.Message.Plural{}193194 │195 391 │ defp ensure_empty_msgstr!(%Message.Plural{} = message) do196 │ ~197 │198 └─ lib/gettext/extractor.ex:391:8: Gettext.Extractor.ensure_empty_msgstr!/1199200Generated gettext app201==> plug202Compiling 1 file (.erl)203Compiling 42 files (.ex)204Generated plug app205==> phoenix_html206Compiling 8 files (.ex)207 warning: using single-quoted strings to represent charlists is deprecated.208 Use ~c"" if you indeed want a charlist or use "" instead.209 You may run "mix format --migrate" to change all single-quoted210 strings to use the ~c sigil and fix this warning.211 │212 12 │ @anno (if :erlang.system_info(:otp_release) >= '19' do213 │ ~214 │215 └─ lib/phoenix_html/engine.ex:12:50216217 warning: the 1st pattern in clause will never match:218219 60220221 because it is expected to receive type:222223 dynamic(empty_list() or non_empty_list(term(), term()))224225 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())226227 type warning found at:228 │229 56 │ def to_iodata(?<), do: "<"230 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~231 │232 └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/1233234 warning: the 1st pattern in clause will never match:235236 62237238 because it is expected to receive type:239240 dynamic(empty_list() or non_empty_list(term(), term()))241242 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())243244 type warning found at:245 │246 57 │ def to_iodata(?>), do: ">"247 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~248 │249 └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/1250251 warning: the 1st pattern in clause will never match:252253 38254255 because it is expected to receive type:256257 dynamic(empty_list() or non_empty_list(term(), term()))258259 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())260261 type warning found at:262 │263 58 │ def to_iodata(?&), do: "&"264 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~265 │266 └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/1267268 warning: the 1st pattern in clause will never match:269270 34271272 because it is expected to receive type:273274 dynamic(empty_list() or non_empty_list(term(), term()))275276 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())277278 type warning found at:279 │280 59 │ def to_iodata(?"), do: """281 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~282 │283 └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/1284285 warning: the 1st pattern in clause will never match:286287 39288289 because it is expected to receive type:290291 dynamic(empty_list() or non_empty_list(term(), term()))292293 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())294295 type warning found at:296 │297 60 │ def to_iodata(?'), do: "'"298 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~299 │300 └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/1301302 warning: the 1st pattern in clause will never match:303304 {:safe, data}305306 because it is expected to receive type:307308 dynamic(empty_list() or non_empty_list(term(), term()))309310 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())311312 type warning found at:313 │314 76 │ def to_iodata({:safe, data}) do315 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~316 │317 └─ lib/phoenix_html/safe.ex:76: Phoenix.HTML.Safe.List.to_iodata/1318319 warning: the following clause is redundant:320321 def to_iodata(other)322323 it has type:324325 dynamic(empty_list() or non_empty_list(term(), term()))326327 previous clauses have already matched on the following types:328329 non_empty_list(term(), term())330 empty_list()331332 │333 80 │ def to_iodata(other) do334 │ ~335 │336 └─ lib/phoenix_html/safe.ex:80:7: Phoenix.HTML.Safe.List.to_iodata/1337338 warning: the 1st pattern in clause will never match:339340 h341342 because it is expected to receive type:343344 dynamic(empty_list() or non_empty_list(term(), term()))345346 where "h" was given the type:347348 # type: integer()349 # from: lib/phoenix_html/safe.ex:62:25350 is_integer(h)351352 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())353354 type warning found at:355 │356 62 │ def to_iodata(h) when is_integer(h) and h <= 255 do357 │ ~358 │359 └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/1360361 warning: the 1st pattern in clause will never match:362363 h364365 because it is expected to receive type:366367 dynamic(empty_list() or non_empty_list(term(), term()))368369 where "h" was given the type:370371 # type: integer()372 # from: lib/phoenix_html/safe.ex:66:25373 is_integer(h)374375 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())376377 type warning found at:378 │379 66 │ def to_iodata(h) when is_integer(h) do380 │ ~381 │382 └─ lib/phoenix_html/safe.ex:66:17: Phoenix.HTML.Safe.List.to_iodata/1383384 warning: the 1st pattern in clause will never match:385386 h387388 because it is expected to receive type:389390 dynamic(empty_list() or non_empty_list(term(), term()))391392 where "h" was given the type:393394 # type: binary()395 # from: lib/phoenix_html/safe.ex:72:25396 is_binary(h)397398 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())399400 type warning found at:401 │402 72 │ def to_iodata(h) when is_binary(h) do403 │ ~404 │405 └─ lib/phoenix_html/safe.ex:72:17: Phoenix.HTML.Safe.List.to_iodata/1406407Generated phoenix_html app408warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"409 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2410 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1411 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5412 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2413 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4414 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2415416==> postgrex417Compiling 70 files (.ex)418Generated postgrex app419==> ecto_sql420Compiling 25 files (.ex)421Generated ecto_sql app422warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"423 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2424 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1425 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5426 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2427 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4428 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2429430==> phoenix_ecto431Compiling 7 files (.ex)432Generated phoenix_ecto app433==> nerves_compatibility_test434===> Analyzing applications...435===> Compiling cowboy_telemetry436==> plug_cowboy437Compiling 5 files (.ex)438Generated plug_cowboy app439warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"440 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2441 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1442 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5443 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2444 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4445 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2446447==> phoenix448Compiling 66 files (.ex)449 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 operator450 │451 194 │ <<attr::size(prefix)-binary, ":unique">> -> attr452 │ ~453 │454 └─ lib/mix/phoenix/schema.ex:194:20: Mix.Phoenix.Schema.drop_unique/1455456 warning: using single-quoted strings to represent charlists is deprecated.457 Use ~c"" if you indeed want a charlist or use "" instead.458 You may run "mix format --migrate" to change all single-quoted459 strings to use the ~c sigil and fix this warning.460 │461 258 │ notBefore: {:utcTime, '#{not_before}000000Z'},462 │ ~463 │464 └─ lib/mix/tasks/phx.gen.cert.ex:258:33465466 warning: using single-quoted strings to represent charlists is deprecated.467 Use ~c"" if you indeed want a charlist or use "" instead.468 You may run "mix format --migrate" to change all single-quoted469 strings to use the ~c sigil and fix this warning.470 │471 259 │ notAfter: {:utcTime, '#{not_after}000000Z'}472 │ ~473 │474 └─ lib/mix/tasks/phx.gen.cert.ex:259:32475476 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead477 │478 55 │ Logger.warn(479 │ ~480 │481 └─ lib/phoenix/code_reloader/server.ex:55:20: Phoenix.CodeReloader.Server.handle_call/3482483 warning: unused require Logger484 │485 9 │ require Logger486 │ ~487 │488 └─ lib/phoenix/config.ex:9:3489490 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.491492 This error happens when you have function calls without parentheses inside keywords. For example:493494 function(arg, one: nested_call a, b, c)495 function(arg, one: if expr, do: :this, else: :that)496497 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:498499 function(arg, one: if(expr, do: :this, else: :that))500 function(arg, one: nested_call(a, b, c))501502 Ambiguity found at:503 │504 1002 │ defp get_disposition_type(other), do: raise ArgumentError, "expected :disposition to be :attachment or :inline, got: #{inspect(other)}"505 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~506 │507 └─ lib/phoenix/controller.ex:1002508509 warning: unused require Logger510 │511 240 │ require Logger512 │ ~513 │514 └─ lib/phoenix/endpoint.ex:240:3515516 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead517 │518 1013 │ Logger.warn "send_download/3 has been invoked during an AJAX request. " <>519 │ ~520 │521 └─ lib/phoenix/controller.ex:1013:14: Phoenix.Controller.warn_if_ajax/1522523 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead524 │525 82 │ Logger.warn "Phoenix.Endpoint.CowboyAdapter is deprecated and it will be removed in next versions. " <>526 │ ~527 │528 └─ lib/phoenix/endpoint/cowboy_adapter.ex:82:12: Phoenix.Endpoint.CowboyAdapter.child_specs/2529530 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead531 │532 71 │ Logger.warn("no configuration found for otp_app #{inspect(otp_app)} and module #{inspect(mod)}")533 │ ~534 │535 └─ lib/phoenix/endpoint/supervisor.ex:71:20: Phoenix.Endpoint.Supervisor.init/1536537 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead538 │539 95 │ Logger.warn(":instrumenters configuration for #{inspect(mod)} is deprecated and has no effect")540 │ ~541 │542 └─ lib/phoenix/endpoint/supervisor.ex:95:14: Phoenix.Endpoint.Supervisor.init/1543544 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead545 │546 116 │ Logger.warn """547 │ ~548 │549 └─ lib/phoenix/endpoint/supervisor.ex:116:14: Phoenix.Endpoint.Supervisor.pubsub_children/2550551 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead552 │553 166 │ Logger.warn "Phoenix.Endpoint.CowboyHandler is deprecated, please use Phoenix.Endpoint.CowboyAdapter instead"554 │ ~555 │556 └─ lib/phoenix/endpoint/supervisor.ex:166:16: Phoenix.Endpoint.Supervisor.user_adapter/2557558 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead559 │560 170 │ Logger.warn "The :handler option in #{inspect endpoint} is deprecated, please use :adapter instead"561 │ ~562 │563 └─ lib/phoenix/endpoint/supervisor.ex:170:16: Phoenix.Endpoint.Supervisor.user_adapter/2564565 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead566 │567 346 │ Logger.warn("url: [host: ...] configuration value #{inspect(host)} for #{inspect(endpoint)} is invalid")568 │ ~569 │570 └─ lib/phoenix/endpoint/supervisor.ex:346:14: Phoenix.Endpoint.Supervisor.build_url/2571572 warning: unused require Phoenix.Endpoint573 │574 6 │ require Phoenix.Endpoint575 │ ~576 │577 └─ lib/phoenix/controller.ex:6:3578579 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 operator580 │581 46 │ <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix582 │ ~583 │584 └─ lib/phoenix/naming.ex:46:29: Phoenix.Naming.unsuffix/2585586 warning: using single-quoted strings to represent charlists is deprecated.587 Use ~c"" if you indeed want a charlist or use "" instead.588 You may run "mix format --migrate" to change all single-quoted589 strings to use the ~c sigil and fix this warning.590 │591 411 │ @anno (if :erlang.system_info(:otp_release) >= '19' do592 │ ~593 │594 └─ lib/phoenix/router.ex:411:50595596 warning: unused require Phoenix.Endpoint597 │598 19 │ require Phoenix.Endpoint599 │ ~600 │601 └─ lib/phoenix/endpoint/render_errors.ex:19:3602603 warning: using single-quoted strings to represent charlists is deprecated.604 Use ~c"" if you indeed want a charlist or use "" instead.605 You may run "mix format --migrate" to change all single-quoted606 strings to use the ~c sigil and fix this warning.607 │608 8 │ @anno (if :erlang.system_info(:otp_release) >= '19' do609 │ ~610 │611 └─ lib/phoenix/router/helpers.ex:8:50612613 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.614615 This error happens when you have function calls without parentheses inside keywords. For example:616617 function(arg, one: nested_call a, b, c)618 function(arg, one: if expr, do: :this, else: :that)619620 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:621622 function(arg, one: if(expr, do: :this, else: :that))623 function(arg, one: nested_call(a, b, c))624625 Ambiguity found at:626 │627 71 │ unless actions -- supported_actions == [], do: raise ArgumentError, """628 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~629 │630 └─ lib/phoenix/router/resource.ex:71631632 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead633 │634 734 │ Logger.warn fn -> "Ignoring unmatched topic \"#{topic}\" in #{inspect(handler)}" end635 │ ~636 │637 └─ lib/phoenix/socket.ex:734:12: Phoenix.Socket.encode_ignore/2638639 warning: unused require Phoenix.Endpoint640 │641 6 │ require Phoenix.Endpoint642 │ ~643 │644 └─ lib/phoenix/channel/server.ex:6:3645646 warning: unused require Phoenix.Endpoint647 │648 188 │ require Phoenix.Endpoint649 │ ~650 │651 └─ lib/phoenix/socket.ex:188:3652653 warning: unused require Logger654 │655 93 │ require Logger656 │ ~657 │658 └─ lib/phoenix/token.ex:93:3659660 warning: using single-quoted strings to represent charlists is deprecated.661 Use ~c"" if you indeed want a charlist or use "" instead.662 You may run "mix format --migrate" to change all single-quoted663 strings to use the ~c sigil and fix this warning.664 │665 178 │ @anno (if :erlang.system_info(:otp_release) >= '19' do666 │ ~667 │668 └─ lib/phoenix/view.ex:178:50669670 warning: a struct for Plug.Conn is expected on struct update:671672 %Plug.Conn{conn | state: :sent}673674 but got type:675676 dynamic()677678 where "conn" was given the type:679680 # type: dynamic()681 # from: lib/phoenix/endpoint/render_errors.ex:57:17682 conn683684 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"685686 type warning found at:687 │688 61 │ %Plug.Conn{conn | state: :sent}689 │ ~690 │691 └─ lib/phoenix/endpoint/render_errors.ex:61:9: Phoenix.Endpoint.RenderErrors.__catch__/5692693 warning: a struct for Plug.Conn is expected on struct update:694695 %Plug.Conn{conn | query_params: %{}, params: %{}}696697 but got type:698699 dynamic(%{..., params: %Plug.Conn.Unfetched{}})700701 where "conn" was given the types:702703 # type: dynamic(%{..., params: term()})704 # from: lib/phoenix/endpoint/render_errors.ex:124:17705 conn.params706707 # type: dynamic(%{..., params: %Plug.Conn.Unfetched{}})708 # from: lib/phoenix/endpoint/render_errors.ex:124:17709 conn.params710711 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"712713 type warning found at:714 │715 125 │ %Plug.Conn.Unfetched{} -> %Plug.Conn{conn | query_params: %{}, params: %{}}716 │ ~717 │718 └─ lib/phoenix/endpoint/render_errors.ex:125:35: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/1719720 warning: a struct for Plug.Conn is expected on struct update:721722 %Plug.Conn{conn | query_params: %{}, params: params}723724 but got type:725726 dynamic(%{..., params: not %Plug.Conn.Unfetched{}})727728 where "conn" was given the types:729730 # type: dynamic(%{..., params: term()})731 # from: lib/phoenix/endpoint/render_errors.ex:124:17732 conn.params733734 # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})735 # from: lib/phoenix/endpoint/render_errors.ex:124:17736 conn.params737738 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"739740 type warning found at:741 │742 126 │ params -> %Plug.Conn{conn | query_params: %{}, params: params}743 │ ~744 │745 └─ lib/phoenix/endpoint/render_errors.ex:126:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/1746747 warning: a struct for Plug.Conn is expected on struct update:748749 %Plug.Conn{conn | params: params}750751 but got type:752753 dynamic(%{..., params: map()})754755 where "conn" was given the type:756757 # type: dynamic(%{..., params: map()})758 # from: lib/phoenix/controller.ex:1040:17759 Map.get(conn.params, required_key)760761 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"762763 type warning found at:764 │765 1047 │ %Plug.Conn{conn | params: params}766 │ ~767 │768 └─ lib/phoenix/controller.ex:1047:5: Phoenix.Controller.scrub_params/2769770 warning: incompatible types given to socket_children/1:771772 socket_children(mod)773774 given types:775776 -dynamic(atom())-777778 but expected one of:779780 %{..., __sockets__: term()}781782 where "mod" was given the types:783784 # type: dynamic(atom() or binary())785 # from: lib/phoenix/endpoint/supervisor.ex:64:41786 defaults(otp_app, mod)787788 # type: dynamic(atom())789 # from: lib/phoenix/endpoint/supervisor.ex:68:16790 mod.init(:supervisor, env_conf)791792 type warning found at:793 │794 105 │ socket_children(mod) ++795 │ ~796 │797 └─ lib/phoenix/endpoint/supervisor.ex:105:7: Phoenix.Endpoint.Supervisor.init/1798799Generated phoenix app800warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"801 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2802 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1803 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5804 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2805 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4806 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2807808==> phoenix_live_view809Compiling 22 files (.ex)810 warning: unused require Logger811 │812 25 │ require Logger813 │ ~814 │815 └─ lib/phoenix_live_view/socket.ex:25:3816817 warning: unused require Logger818 │819 6 │ require Logger820 │ ~821 │822 └─ lib/phoenix_live_view/upload_channel.ex:6:3823824 warning: unused require Phoenix.ChannelTest825 │826 141 │ require Phoenix.ChannelTest827 │ ~828 │829 └─ lib/phoenix_live_view/test/live_view_test.ex:141:3830831 warning: unused require Phoenix.ConnTest832 │833 140 │ require Phoenix.ConnTest834 │ ~835 │836 └─ lib/phoenix_live_view/test/live_view_test.ex:140:3837838 warning: unused require Phoenix.ChannelTest839 │840 4 │ require Phoenix.ChannelTest841 │ ~842 │843 └─ lib/phoenix_live_view/test/upload_client.ex:4:3844845 warning: a struct for Phoenix.LiveView.Socket is expected on struct update:846847 %Phoenix.LiveView.Socket{848 socket849 | private: Map.put(socket.private, :phoenix_live_layout, {mod, template})850 }851852 but got type:853854 dynamic()855856 where "socket" was given the type:857858 # type: dynamic()859 # from: lib/phoenix_live_view/utils.ex:464:21860 socket861862 when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"863864 type warning found at:865 │866 465 │ %Socket{socket | private: Map.put(socket.private, :phoenix_live_layout, {mod, template})}867 │ ~868 │869 └─ lib/phoenix_live_view/utils.ex:465:5: Phoenix.LiveView.Utils.do_mount_opt/3870871 warning: a struct for Phoenix.LiveView.Socket is expected on struct update:872873 %Phoenix.LiveView.Socket{socket | private: Map.put(socket.private, :phoenix_live_layout, false)}874875 but got type:876877 dynamic()878879 where "socket" was given the type:880881 # type: dynamic()882 # from: lib/phoenix_live_view/utils.ex:468:21883 socket884885 when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"886887 type warning found at:888 │889 469 │ %Socket{socket | private: Map.put(socket.private, :phoenix_live_layout, false)}890 │ ~891 │892 └─ lib/phoenix_live_view/utils.ex:469:5: Phoenix.LiveView.Utils.do_mount_opt/3893894 warning: a struct for Phoenix.LiveView.Socket is expected on struct update:895896 %Phoenix.LiveView.Socket{897 socket898 | assigns: Map.merge(temp_assigns, socket.assigns),899 private: Map.put(socket.private, :temporary_assigns, temp_assigns)900 }901902 but got type:903904 dynamic()905906 where "socket" was given the type:907908 # type: dynamic()909 # from: lib/phoenix_live_view/utils.ex:478:21910 socket911912 when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"913914 type warning found at:915 │916 485 │ %Socket{917 │ ~918 │919 └─ lib/phoenix_live_view/utils.ex:485:5: Phoenix.LiveView.Utils.do_mount_opt/3920921 warning: a struct for Phoenix.LiveView.Socket is expected on struct update:922923 %Phoenix.LiveView.Socket{924 socket925 | assigns: %Phoenix.LiveView.Socket.AssignsNotInSocket{__assigns__: assigns}926 }927928 but got type:929930 dynamic(%{..., assigns: term(), changed: term()})931932 where "socket" was given the type:933934 # type: dynamic(%{..., assigns: term(), changed: term()})935 # from: lib/phoenix_live_view/utils.ex:496:61936 %{assigns: assigns, changed: changed} = socket937938 when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"939940 type warning found at:941 │942 497 │ socket = %Socket{socket | assigns: %Socket.AssignsNotInSocket{__assigns__: assigns}}943 │ ~944 │945 └─ lib/phoenix_live_view/utils.ex:497:14: Phoenix.LiveView.Utils.render_assigns/1946947 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:948949 %Phoenix.LiveView.UploadEntry{entry | preflighted?: true}950951 but got type:952953 dynamic()954955 where "entry" was given the type:956957 # type: dynamic()958 # from: lib/phoenix_live_view/upload_config.ex:341:28959 entry <- conf.entries960961 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"962963 type warning found at:964 │965 341 │ | entries: for(entry <- conf.entries, do: %UploadEntry{entry | preflighted?: true})966 │ ~967 │968 └─ lib/phoenix_live_view/upload_config.ex:341:49: Phoenix.LiveView.UploadConfig.mark_preflighted/1969970 warning: Logger.disable/1 is deprecated. Use Logger.put_process_level(pid, :none) instead971 │972 56 │ Logger.disable(self())973 │ ~974 │975 └─ lib/phoenix_live_view/test/client_proxy.ex:56:12: Phoenix.LiveViewTest.ClientProxy.init/1976977 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:978979 %Phoenix.LiveView.UploadEntry{entry | valid?: true, uuid: generate_uuid()}980981 but got type:982983 dynamic()984985 where "entry" was given the type:986987 # type: dynamic()988 # from: lib/phoenix_live_view/upload_config.ex:541:30989 entry990991 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"992993 type warning found at:994 │995 542 │ entry = %UploadEntry{entry | valid?: true, uuid: generate_uuid()}996 │ ~997 │998 └─ lib/phoenix_live_view/upload_config.ex:542:13: Phoenix.LiveView.UploadConfig.put_valid_entry/29991000 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:10011002 %Phoenix.LiveView.UploadEntry{entry | valid?: false}10031004 but got type:10051006 dynamic()10071008 where "entry" was given the type:10091010 # type: dynamic()1011 # from: lib/phoenix_live_view/upload_config.ex:554:321012 entry10131014 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"10151016 type warning found at:1017 │1018 555 │ entry = %UploadEntry{entry | valid?: false}1019 │ ~1020 │1021 └─ lib/phoenix_live_view/upload_config.ex:555:13: Phoenix.LiveView.UploadConfig.put_invalid_entry/310221023 warning: a struct for Phoenix.LiveViewTest.ClientProxy is expected on struct update:10241025 %Phoenix.LiveViewTest.ClientProxy{view | rendered: rendered}10261027 but got type:10281029 dynamic(%{..., rendered: term()})10301031 where "view" was given the type:10321033 # type: dynamic(%{..., rendered: term()})1034 # from: lib/phoenix_live_view/test/client_proxy.ex:600:241035 Phoenix.LiveViewTest.DOM.merge_diff(view.rendered, diff)10361037 when defining the variable "view", you must also pattern match on "%Phoenix.LiveViewTest.ClientProxy{}"10381039 type warning found at:1040 │1041 601 │ new_view = %ClientProxy{view | rendered: rendered}1042 │ ~1043 │1044 └─ lib/phoenix_live_view/test/client_proxy.ex:601:20: Phoenix.LiveViewTest.ClientProxy.merge_rendered/310451046 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:10471048 %Phoenix.LiveView.UploadEntry{entry | cancelled?: true}10491050 but got type:10511052 dynamic()10531054 where "entry" was given the type:10551056 # type: dynamic()1057 # from: lib/phoenix_live_view/upload_config.ex:638:421058 entry10591060 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"10611062 type warning found at:1063 │1064 638 │ update_entry(conf, entry.ref, fn entry -> %UploadEntry{entry | cancelled?: true} end)1065 │ ~1066 │1067 └─ lib/phoenix_live_view/upload_config.ex:638:51: Phoenix.LiveView.UploadConfig.cancel_entry/210681069 warning: Plug.Conn.Query.decode_pair/2 is deprecated. Use decode_init/0, decode_each/2, and decode_done/2 instead1070 │1071 986 │ Plug.Conn.Query.decode_pair({name, DOM.attribute(selected, "value")}, acc)1072 │ ~1073 │1074 └─ lib/phoenix_live_view/test/client_proxy.ex:986:23: Phoenix.LiveViewTest.ClientProxy.form_defaults/31075 └─ lib/phoenix_live_view/test/client_proxy.ex:991:21: Phoenix.LiveViewTest.ClientProxy.form_defaults/31076 └─ lib/phoenix_live_view/test/client_proxy.ex:1001:27: Phoenix.LiveViewTest.ClientProxy.form_defaults/31077 └─ lib/phoenix_live_view/test/client_proxy.ex:1010:25: Phoenix.LiveViewTest.ClientProxy.form_defaults/310781079 warning: the following clause is redundant:10801081 def to_iodata(%_{} = struct)10821083 it has type:10841085 dynamic(%Phoenix.LiveView.Rendered{})10861087 previous clauses have already matched on the following types:10881089 %Phoenix.LiveView.Rendered{}10901091 │1092 126 │ def to_iodata(%_{} = struct) do1093 │ ~1094 │1095 └─ lib/phoenix_live_view/engine.ex:126:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/110961097 warning: the 1st pattern in clause will never match:10981099 nil11001101 because it is expected to receive type:11021103 dynamic(%Phoenix.LiveView.Rendered{})11041105 hint: defimpl for Phoenix.LiveView.Rendered requires its callbacks to match exclusively on %Phoenix.LiveView.Rendered{}11061107 type warning found at:1108 │1109 130 │ def to_iodata(nil) do1110 │ ~~~~~~~~~~~~~~~~~~~~~1111 │1112 └─ lib/phoenix_live_view/engine.ex:130: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/111131114 warning: the following clause is redundant:11151116 def to_iodata(other)11171118 it has type:11191120 dynamic(%Phoenix.LiveView.Rendered{})11211122 previous clauses have already matched on the following types:11231124 %Phoenix.LiveView.Rendered{}11251126 │1127 134 │ def to_iodata(other) do1128 │ ~1129 │1130 └─ lib/phoenix_live_view/engine.ex:134:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/111311132Generated phoenix_live_view app1133warning: Phoenix now requires you to explicitly list which engine to use1134for Phoenix JSON encoding. We recommend everyone to upgrade to1135Jason by setting in your config/config.exs:11361137 config :phoenix, :json_library, Jason11381139And then adding {:jason, "~> 1.0"} as a dependency.11401141If instead you would rather continue using Poison, then add to1142your config/config.exs:11431144 config :phoenix, :json_library, Poison11451146 (phoenix 1.5.15) lib/phoenix.ex:38: Phoenix.start/21147 (kernel 11.0.4) application_master.erl:299: :application_master.start_it_old/411481149warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1150 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21151 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11152 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51153 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21154 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41155 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/211561157==> phoenix_live_dashboard1158Compiling 36 files (.ex)1159 warning: using single-quoted strings to represent charlists is deprecated.1160 Use ~c"" if you indeed want a charlist or use "" instead.1161 You may run "mix format --migrate" to change all single-quoted1162 strings to use the ~c sigil and fix this warning.1163 │1164 41 │ '#Port' ++ rest = :erlang.port_to_list(ref)1165 │ ~1166 │1167 └─ lib/phoenix/live_dashboard/helpers.ex:41:511681169 warning: using single-quoted strings to represent charlists is deprecated.1170 Use ~c"" if you indeed want a charlist or use "" instead.1171 You may run "mix format --migrate" to change all single-quoted1172 strings to use the ~c sigil and fix this warning.1173 │1174 49 │ '#Ref' ++ rest = :erlang.ref_to_list(ref)1175 │ ~1176 │1177 └─ lib/phoenix/live_dashboard/helpers.ex:49:511781179warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1180 lib/phoenix/live_dashboard/pages/home_page.ex:176: Phoenix.LiveDashboard.HomePage.render/111811182warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1183 lib/phoenix/live_dashboard/pages/home_page.ex:184: Phoenix.LiveDashboard.HomePage.render/111841185warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1186 lib/phoenix/live_dashboard/pages/home_page.ex:192: Phoenix.LiveDashboard.HomePage.render/111871188warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1189 lib/phoenix/live_dashboard/pages/os_mon_page.ex:213: Phoenix.LiveDashboard.OSMonPage.render/111901191warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1192 lib/phoenix/live_dashboard/pages/os_mon_page.ex:235: Phoenix.LiveDashboard.OSMonPage.render/111931194 warning: using single-quoted strings to represent charlists is deprecated.1195 Use ~c"" if you indeed want a charlist or use "" instead.1196 You may run "mix format --migrate" to change all single-quoted1197 strings to use the ~c sigil and fix this warning.1198 │1199 397 │ @inet_ports ['tcp_inet', 'udp_inet', 'sctp_inet']1200 │ ~1201 │1202 └─ lib/phoenix/live_dashboard/system_info.ex:397:1612031204 warning: using single-quoted strings to represent charlists is deprecated.1205 Use ~c"" if you indeed want a charlist or use "" instead.1206 You may run "mix format --migrate" to change all single-quoted1207 strings to use the ~c sigil and fix this warning.1208 │1209 397 │ @inet_ports ['tcp_inet', 'udp_inet', 'sctp_inet']1210 │ ~1211 │1212 └─ lib/phoenix/live_dashboard/system_info.ex:397:2812131214 warning: using single-quoted strings to represent charlists is deprecated.1215 Use ~c"" if you indeed want a charlist or use "" instead.1216 You may run "mix format --migrate" to change all single-quoted1217 strings to use the ~c sigil and fix this warning.1218 │1219 397 │ @inet_ports ['tcp_inet', 'udp_inet', 'sctp_inet']1220 │ ~1221 │1222 └─ lib/phoenix/live_dashboard/system_info.ex:397:4012231224 warning: using single-quoted strings to represent charlists is deprecated.1225 Use ~c"" if you indeed want a charlist or use "" instead.1226 You may run "mix format --migrate" to change all single-quoted1227 strings to use the ~c sigil and fix this warning.1228 │1229 543 │ [{'none', 0, 0}] -> []1230 │ ~1231 │1232 └─ lib/phoenix/live_dashboard/system_info.ex:543:1112331234warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1235 lib/phoenix/live_dashboard/page_live.ex:211: Phoenix.LiveDashboard.PageLive.render_page/312361237warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1238 lib/phoenix/live_dashboard/page_live.ex:236: Phoenix.LiveDashboard.PageLive.live_modal/312391240warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1241 lib/phoenix/live_dashboard/components/nav_bar_component.ex:142: Phoenix.LiveDashboard.NavBarComponent.render_content/312421243warning: passing the @socket to live_component is no longer necessary, please remove the socket argument1244 lib/phoenix/live_dashboard/components/card_usage_component.ex:7: Phoenix.LiveDashboard.CardUsageComponent.render/112451246 warning: incompatible types given to Phoenix.LiveView.Helpers.__live_component__/3:12471248 Phoenix.LiveView.Helpers.__live_component__(1249 component.__live__(),1250 Phoenix.LiveDashboard.ModalComponent,1251 nil1252 )12531254 given types:12551256 dynamic(), -Phoenix.LiveDashboard.ModalComponent-, nil12571258 but expected one of:12591260 (1261 %{..., kind: :component, module: term()},1262 empty_list() or map() or non_empty_list(term(), term()),1263 term()1264 )12651266 where "component" (context Phoenix.LiveView.Helpers) was given the types:12671268 # type: dynamic(not %Phoenix.LiveView.Socket{})1269 # from: lib/phoenix/live_dashboard/page_live.ex:2361270 component12711272 # type: dynamic(atom())1273 # from: lib/phoenix/live_dashboard/page_live.ex:2361274 component.__live__()12751276 type warning found at:1277 │1278 236 │ live_component(socket, Phoenix.LiveDashboard.ModalComponent, modal_opts)1279 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1280 │1281 └─ lib/phoenix/live_dashboard/page_live.ex:236: Phoenix.LiveDashboard.PageLive.live_modal/312821283 warning: the following clause will never match:12841285 %{__changed__: changed} when track_changes? ->12861287 because it attempts to match on the result of:12881289 assigns12901291 which has type:12921293 dynamic(%{text: term()})12941295 where "track_changes?" (context Phoenix.LiveView.Engine) was given the type:12961297 # type: dynamic(true)1298 # from: lib/phoenix/live_dashboard/page_live.ex:3121299 track_changes?13001301 type warning found at:1302 │1303 312 │ ~L"""1304 │ ~~~~~1305 │1306 └─ lib/phoenix/live_dashboard/page_live.ex:312: Phoenix.LiveDashboard.PageLive.maybe_link/313071308 warning: the following clause will never match:13091310 %{__changed__: changed} when track_changes? ->13111312 because it attempts to match on the result of:13131314 assigns13151316 which has type:13171318 dynamic(%{more_info_url: term(), text: term()})13191320 where "track_changes?" (context Phoenix.LiveView.Engine) was given the type:13211322 # type: dynamic(true)1323 # from: lib/phoenix/live_dashboard/page_live.ex:3221324 track_changes?13251326 type warning found at:1327 │1328 322 │ ~L"""1329 │ ~~~~~1330 │1331 └─ lib/phoenix/live_dashboard/page_live.ex:322: Phoenix.LiveDashboard.PageLive.maybe_link/313321333 warning: the following clause will never match:13341335 %{__changed__: changed} when track_changes? ->13361337 because it attempts to match on the result of:13381339 assigns13401341 which has type:13421343 dynamic(%{checked_param: binary()})13441345 where "track_changes?" (context Phoenix.LiveView.Engine) was given the type:13461347 # type: dynamic(true)1348 # from: lib/phoenix/live_dashboard/pages/request_logger_page.ex:1781349 track_changes?13501351 type warning found at:1352 │1353 178 │ ~L"""1354 │ ~~~~~1355 │1356 └─ lib/phoenix/live_dashboard/pages/request_logger_page.ex:178: Phoenix.LiveDashboard.RequestLoggerPage.autoscroll_checkbox/113571358 warning: incompatible types given to Phoenix.LiveView.Helpers.__live_component__/3:13591360 Phoenix.LiveView.Helpers.__live_component__(1361 component.__live__(),1362 Phoenix.LiveDashboard.ColorBarComponent,1363 nil1364 )13651366 given types:13671368 dynamic(), -Phoenix.LiveDashboard.ColorBarComponent-, nil13691370 but expected one of:13711372 (1373 %{..., kind: :component, module: term()},1374 empty_list() or map() or non_empty_list(term(), term()),1375 term()1376 )13771378 where "component" (context Phoenix.LiveView.Helpers) was given the types:13791380 # type: dynamic(not %Phoenix.LiveView.Socket{})1381 # from: lib/phoenix/live_dashboard/pages/os_mon_page.ex:1911382 component13831384 # type: dynamic(atom())1385 # from: lib/phoenix/live_dashboard/pages/os_mon_page.ex:1911386 component.__live__()13871388 type warning found at:1389 │1390 191 │ <%= live_component @socket, ColorBarComponent, dom_id: "cpu-#{num_cpu}", data: cpu_usage_sections(usage), title: "CPU #{num_cpu+1}", csp_nonces: @csp_nonces %>1391 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1392 │1393 └─ lib/phoenix/live_dashboard/pages/os_mon_page.ex:191: Phoenix.LiveDashboard.OSMonPage.render/113941395 warning: incompatible types given to Phoenix.LiveView.Helpers.__live_component__/3:13961397 Phoenix.LiveView.Helpers.__live_component__(1398 component.__live__(),1399 Phoenix.LiveDashboard.ChartComponent,1400 nil1401 )14021403 given types:14041405 dynamic(), -Phoenix.LiveDashboard.ChartComponent-, nil14061407 but expected one of:14081409 (1410 %{..., kind: :component, module: term()},1411 empty_list() or map() or non_empty_list(term(), term()),1412 term()1413 )14141415 where "component" (context Phoenix.LiveView.Helpers) was given the types:14161417 # type: dynamic(not %Phoenix.LiveView.Socket{})1418 # from: lib/phoenix/live_dashboard/pages/metrics_page.ex:761419 component14201421 # type: dynamic(atom())1422 # from: lib/phoenix/live_dashboard/pages/metrics_page.ex:761423 component.__live__()14241425 type warning found at:1426 │1427 76 │ <%= live_component @socket, ChartComponent, id: id, metric: metric %>1428 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1429 │1430 └─ lib/phoenix/live_dashboard/pages/metrics_page.ex:76: Phoenix.LiveDashboard.MetricsPage.render_metrics/114311432 warning: incompatible types given to Phoenix.LiveView.Helpers.__live_component__/3:14331434 Phoenix.LiveView.Helpers.__live_component__(1435 component.__live__(),1436 Phoenix.LiveDashboard.ColorBarComponent,1437 nil1438 )14391440 given types:14411442 dynamic(), -Phoenix.LiveDashboard.ColorBarComponent-, nil14431444 but expected one of:14451446 (1447 %{..., kind: :component, module: term()},1448 empty_list() or map() or non_empty_list(term(), term()),1449 term()1450 )14511452 where "component" (context Phoenix.LiveView.Helpers) was given the types:14531454 # type: dynamic(not %Phoenix.LiveView.Socket{})1455 # from: lib/phoenix/live_dashboard/pages/home_page.ex:2061456 component14571458 # type: dynamic(atom())1459 # from: lib/phoenix/live_dashboard/pages/home_page.ex:2061460 component.__live__()14611462 type warning found at:1463 │1464 206 │ <%= live_component @socket, ColorBarComponent, data: memory_usage_sections_percent(@system_usage.memory, @system_usage.memory.total), csp_nonces: @csp_nonces, dom_id: "system_usage_memory_total" %>1465 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1466 │1467 └─ lib/phoenix/live_dashboard/pages/home_page.ex:206: Phoenix.LiveDashboard.HomePage.render/114681469 warning: Logger.add_backend/1 is deprecated. Use LoggerBackends.add/2 from :logger_backends dependency1470 │1471 8 │ Logger.add_backend(Phoenix.LiveDashboard.LoggerPubSubBackend)1472 │ ~1473 │1474 └─ lib/phoenix/live_dashboard/application.ex:8:12: Phoenix.LiveDashboard.Application.start/214751476 warning: the following clause will never match:14771478 %{__changed__: changed} when track_changes? ->14791480 because it attempts to match on the result of:14811482 assigns14831484 which has type:14851486 dynamic(%{block: term()})14871488 where "track_changes?" (context Phoenix.LiveView.Engine) was given the type:14891490 # type: dynamic(true)1491 # from: lib/phoenix/live_dashboard/helpers.ex:2081492 track_changes?14931494 type warning found at:1495 │1496 208 │ ~L"""1497 │ ~~~~~1498 │1499 └─ lib/phoenix/live_dashboard/helpers.ex:208: Phoenix.LiveDashboard.Helpers.hint/115001501Generated phoenix_live_dashboard app1502warning: the :gettext compiler is no longer required in your mix.exs.15031504Please find the following line in your mix.exs and remove the :gettext entry:15051506 compilers: [..., :gettext, ...] ++ Mix.compilers(),15071508 (gettext 0.26.2) lib/mix/tasks/compile.gettext.ex:5: Mix.Tasks.Compile.Gettext.run/11509 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51510 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21511 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41512 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/21513 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/515141515==> holograf1516Compiling 20 files (.ex)1517 warning: variable "variants" is unused (if the variable is not meant to be used, prefix it with an underscore)1518 │1519 81 │ defp generate_function_body(variants) do1520 │ ~~~~~~~~1521 │1522 └─ lib/demo/holograf/transpiler/generator.ex:81:31: Holograf.Transpiler.Generator.generate_function_body/115231524 warning: variable "name" is unused (if the variable is not meant to be used, prefix it with an underscore)1525 │1526 73 │ defp bindings(%Variable{name: name} = var, path) do1527 │ ~~~~1528 │1529 └─ lib/demo/holograf/transpiler/transformer.ex:73:33: Holograf.Transpiler.Transformer.bindings/215301531 warning: variable "path" is unused (if the variable is not meant to be used, prefix it with an underscore)1532 │1533 83 │ defp bindings(_, path) do1534 │ ~~~~1535 │1536 └─ lib/demo/holograf/transpiler/transformer.ex:83:20: Holograf.Transpiler.Transformer.bindings/215371538 warning: clauses with the same name and arity (number of arguments) should be grouped together, "def transform/2" was previously defined (lib/demo/holograf/transpiler/transformer.ex:8)1539 │1540 89 │ def transform({:alias, _, [{:__aliases__, _, module}]}, _aliases) do1541 │ ~1542 │1543 └─ lib/demo/holograf/transpiler/transformer.ex:89:715441545 warning: clauses with the same name and arity (number of arguments) should be grouped together, "def transform/2" was previously defined (lib/demo/holograf/transpiler/transformer.ex:8)1546 │1547 149 │ def transform({name, _, nil}, _aliases) when is_atom(name) do1548 │ ~1549 │1550 └─ lib/demo/holograf/transpiler/transformer.ex:149:715511552warning: defining a Gettext backend by calling15531554 use Gettext, otp_app: ...15551556is deprecated. To define a backend, call:15571558 use Gettext.Backend, otp_app: :my_app15591560Then, instead of importing your backend, call this in your module:15611562 use Gettext, backend: MyApp.Gettext15631564 lib/demo_web/gettext.ex:23: DemoWeb.Gettext (module)156515661567== Compilation error in file lib/demo_web/endpoint.ex ==1568** (ArgumentError) invalid :json_decoder option. The module Poison is not loaded and could not be found1569 (plug 1.20.3) lib/plug/parsers/json.ex:48: Plug.Parsers.JSON.validate_decoder!/11570 (plug 1.20.3) lib/plug/parsers/json.ex:35: Plug.Parsers.JSON.init/11571 (plug 1.20.3) lib/plug/parsers.ex:283: anonymous fn/2 in Plug.Parsers.convert_parsers/21572 (elixir 1.20.3) lib/enum.ex:1725: Enum."-map/2-lists^map/1-1-"/21573 (elixir 1.20.3) lib/enum.ex:1725: Enum."-map/2-lists^map/1-1-"/21574 (plug 1.20.3) lib/plug/parsers.ex:263: Plug.Parsers.init/11575 (plug 1.20.3) lib/plug/builder.ex:358: Plug.Builder.init_module_plug/41576 (plug 1.20.3) lib/plug/builder.ex:339: anonymous fn/5 in Plug.Builder.compile/31577could not compile dependency :holograf, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile holograf --force", update it with "mix deps.update holograf" or clean it with "mix deps.clean holograf"