tracy_web

Build log

nerves_system_x86_64

tracy_web 0.0.1-rc.1 · fail · run tracy_web-0.0.1-rc.1-1791143770106
1558 of 1558 lines
1Resolving Hex dependencies...2Resolution completed in 0.187s3Unchanged:4  circular_buffer 1.1.05  cowboy 1.1.2 VULNERABLE!6    GHSA-w4f7-4cxr-rv3c (MEDIUM)7    aka: CVE-2026-43966, EEF-CVE-2026-439668    cowboy and gun affected by an HTTP Request/Response Splitting vulnerability9    https://osv.dev/vulnerability/GHSA-w4f7-4cxr-rv3c10  cowlib 1.0.2 VULNERABLE!11    EEF-CVE-2026-7790 (HIGH)12    aka: CVE-2026-7790, GHSA-32p9-57cr-4x6513    Unbounded chunk-size hex digits in cowlib cause quadratic CPU and memory DoS14    https://osv.dev/vulnerability/EEF-CVE-2026-77901516    EEF-CVE-2026-43970 (HIGH)17    aka: CVE-2026-43970, GHSA-84f2-rp86-235p18    Decompression Bomb in cow_spdy:inflate/2 Allows Memory Exhaustion via Crafted SPDY Frame19    https://osv.dev/vulnerability/EEF-CVE-2026-4397020  elixir_make 0.10.021  expo 1.1.122  gettext 0.26.223  interactive_cmd 0.1.424  mime 1.6.025  nerves 2.0.0-pre.226  nerves_discovery 0.1.527  nerves_logging 0.2.428  nerves_runtime 0.13.1329  nerves_system_bbb 2.30.230  nerves_system_br 1.34.431  nerves_system_mangopi_mq_pro 0.17.232  nerves_system_qemu_aarch64 0.4.233  nerves_system_rpi0 2.1.234  nerves_system_rpi4 2.1.235  nerves_system_rpi5 2.1.236  nerves_system_trellis 0.5.037  nerves_system_x86_64 1.34.238  nerves_toolchain_aarch64_nerves_linux_gnu 15.3.139  nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.140  nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.141  nerves_toolchain_riscv64_nerves_linux_gnu 15.3.142  nerves_toolchain_x86_64_nerves_linux_musl 15.3.143  nerves_uevent 0.1.744  phoenix 1.3.5 VULNERABLE!45    GHSA-p8f7-22gq-m7j9 (HIGH)46    aka: CVE-2022-4297547    Phoenix before 1.6.14 mishandles check_origin wildcarding48    https://osv.dev/vulnerability/GHSA-p8f7-22gq-m7j94950    EEF-CVE-2026-56812 (MEDIUM)51    aka: CVE-2026-56812, GHSA-63mc-hw7g-86rr52    Phoenix JavaScript presence client crashes on presence keys colliding with Object.prototype members in Presence.syncState/syncDiff53    https://osv.dev/vulnerability/EEF-CVE-2026-568125455    EEF-CVE-2026-56811 (HIGH)56    aka: CVE-2026-56811, GHSA-6983-jfq8-485w57    Phoenix transports do not limit channel joins per connection, enabling process-exhaustion denial of service58    https://osv.dev/vulnerability/EEF-CVE-2026-5681159  phoenix_html 2.10.5 VULNERABLE!60    GHSA-5g2h-9x5v-5h3x (MEDIUM)61    aka: CVE-2021-46871, GHSA-j3gg-r6gp-95q262    phoenix_html allows Cross-site Scripting in HEEx class attributes63    https://osv.dev/vulnerability/GHSA-5g2h-9x5v-5h3x64  phoenix_pubsub 1.1.265  plug 1.3.6 VULNERABLE!66    EEF-CVE-2026-56813 (LOW)67    aka: CVE-2026-56813, GHSA-wpmj-jh88-rpgm68    Cookie attribute injection in Plug.Conn.Cookies.encode/269    https://osv.dev/vulnerability/EEF-CVE-2026-5681370  poison 3.1.071  property_table 0.3.472  ranch 1.3.273  ring_logger 0.11.774  tablet 0.3.375  toolshed 0.5.076  tracy 0.1.077  tracy_web 0.0.1-rc.178  uboot_env 1.0.279* Getting tracy_web (Hex package)80* Getting nerves (Hex package)81* Getting ring_logger (Hex package)82* Getting toolshed (Hex package)83* Getting nerves_runtime (Hex package)84* Getting nerves_system_bbb (Hex package)85* Getting nerves_system_mangopi_mq_pro (Hex package)86* Getting nerves_system_qemu_aarch64 (Hex package)87* Getting nerves_system_rpi0 (Hex package)88* Getting nerves_system_rpi4 (Hex package)89* Getting nerves_system_rpi5 (Hex package)90* Getting nerves_system_trellis (Hex package)91* Getting nerves_system_x86_64 (Hex package)92* Getting nerves_system_br (Hex package)93* Getting nerves_toolchain_x86_64_nerves_linux_musl (Hex package)94* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)95* Getting nerves_toolchain_aarch64_nerves_linux_gnu (Hex package)96* Getting nerves_toolchain_armv6_nerves_linux_gnueabihf (Hex package)97* Getting nerves_toolchain_riscv64_nerves_linux_gnu (Hex package)98* Getting nerves_logging (Hex package)99* Getting nerves_uevent (Hex package)100* Getting uboot_env (Hex package)101* Getting elixir_make (Hex package)102* Getting property_table (Hex package)103* Getting circular_buffer (Hex package)104* Getting interactive_cmd (Hex package)105* Getting nerves_discovery (Hex package)106* Getting tablet (Hex package)107* Getting cowboy (Hex package)108* Getting gettext (Hex package)109* Getting phoenix (Hex package)110* Getting phoenix_html (Hex package)111* Getting phoenix_pubsub (Hex package)112* Getting tracy (Hex package)113* Getting plug (Hex package)114* Getting mime (Hex package)115* Getting poison (Hex package)116* Getting expo (Hex package)117* Getting cowlib (Hex package)118* Getting ranch (Hex package)119Found packages with security advisories, see above for details120    warning: String.strip/1 is deprecated. Use String.trim/1 instead121    │122  4 │   @version File.read!("VERSION") |> String.strip123    │                                            ~124    │125    └─ /work/proj/deps_x86_64/poison/mix.exs:4:44: Poison.Mixfile (module)126127warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"128  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2129  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1130  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5131  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2132  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4133  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2134135==> plug136Compiling 44 files (.ex)137warning: Kernel.to_char_list/1 is deprecated, use Kernel.to_charlist/1 instead138  lib/plug/adapters/cowboy.ex:220: Plug.Adapters.Cowboy.put_ssl_file/3139140warning: Kernel.to_char_list/1 is deprecated, use Kernel.to_charlist/1 instead141  lib/plug/adapters/cowboy.ex:238: Plug.Adapters.Cowboy.to_char_list/2142143     warning: using single-quoted strings to represent charlists is deprecated.144     Use ~c"" if you indeed want a charlist or use "" instead.145     You may run "mix format --migrate" to change all single-quoted146     strings to use the ~c sigil and fix this warning.147     │148 230 │     generated? = :erlang.system_info(:otp_release) >= '19'149     │                                                       ~150     │151     └─ lib/plug/builder.ex:230:55152153     warning: "not expr1 in expr2" is deprecated, use "expr1 not in expr2" instead154     │155 421 │       when not state in @unsent do156     │                      ~157     │158     └─ lib/plug/conn.ex:421:22159160     warning: "not expr1 in expr2" is deprecated, use "expr1 not in expr2" instead161     │162 445 │       when not state in @unsent do163     │                      ~164     │165     └─ lib/plug/conn.ex:445:22166167     warning: "not expr1 in expr2" is deprecated, use "expr1 not in expr2" instead168     │169 497 │       when not state in @unsent do170     │                      ~171     │172     └─ lib/plug/conn.ex:497:22173174     warning: "not expr1 in expr2" is deprecated, use "expr1 not in expr2" instead175     │176 883 │   def put_session(%Conn{state: state}, _key, _value) when not state in @unsent,177     │                                                                     ~178     │179     └─ lib/plug/conn.ex:883:69180181     warning: "not expr1 in expr2" is deprecated, use "expr1 not in expr2" instead182     │183 907 │   def delete_session(%Conn{state: state}, _key) when not state in @unsent,184     │                                                                ~185     │186     └─ lib/plug/conn.ex:907:64187188     warning: "not expr1 in expr2" is deprecated, use "expr1 not in expr2" instead189     │190 939 │   def configure_session(%Conn{state: state}, _opts) when not state in @unsent,191     │                                                                    ~192     │193     └─ lib/plug/conn.ex:939:68194195     warning: "not expr1 in expr2" is deprecated, use "expr1 not in expr2" instead196     │197 961 │       when not state in @unsent do198     │                      ~199     │200     └─ lib/plug/conn.ex:961:22201202    warning: Application.get_env/3 is discouraged in the module body, use Application.compile_env/3 instead203    │204  6 │   custom_statuses = Application.get_env(:plug, :statuses, %{})205    │                                 ~206    │207    └─ lib/plug/conn/status.ex:6:33: Plug.Conn.Status (module)208209    warning: ^^^ is deprecated. It is typically used as xor but it has the wrong precedence, use Bitwise.bxor/2 instead210    │211 65 │     mask(left, right, <<acc::binary, x ^^^ y>>)212    │                                        ~213    │214    └─ lib/plug/crypto.ex:65:40215216    warning: ^^^ is deprecated. It is typically used as xor but it has the wrong precedence, use Bitwise.bxor/2 instead217    │218 87 │     masked_compare(left, right, mask, acc ||| (x ^^^ (y ^^^ z)))219    │                                                  ~220    │221    └─ lib/plug/crypto.ex:87:50222223    warning: ^^^ is deprecated. It is typically used as xor but it has the wrong precedence, use Bitwise.bxor/2 instead224    │225 87 │     masked_compare(left, right, mask, acc ||| (x ^^^ (y ^^^ z)))226    │                                                         ~227    │228    └─ lib/plug/crypto.ex:87:57229230     warning: ^^^ is deprecated. It is typically used as xor but it has the wrong precedence, use Bitwise.bxor/2 instead231     │232 108 │     secure_compare(left, right, acc ||| (x ^^^ y))233     │                                            ~234     │235     └─ lib/plug/crypto.ex:108:44236237    warning: use Bitwise is deprecated. import Bitwise instead238    │239  6 │   use Bitwise240    │   ~~~~~~~~~~~241    │242    └─ lib/plug/crypto.ex:6: Plug.Crypto (module)243244    warning: use Bitwise is deprecated. import Bitwise instead245    │246 13 │   use Bitwise247    │   ~~~~~~~~~~~248    │249    └─ lib/plug/crypto/key_generator.ex:13: Plug.Crypto.KeyGenerator (module)250251    warning: the variable "max_length" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator252    │253 59 │     <<bin::binary-size(max_length), _::binary>> = key254    │                        ~255    │256    └─ lib/plug/crypto/key_generator.ex:59:24: Plug.Crypto.KeyGenerator.generate/7257258    warning: unused require Bitwise259    │260 64 │   require Bitwise261    │   ~262    │263    └─ lib/plug/csrf_protection.ex:64:3264265    warning: Application.get_env/2 is discouraged in the module body, use Application.compile_env/3 instead266    │267  4 │   if Application.get_env(:plug, :mimes) do268    │                  ~269    │270    └─ lib/plug/mime.ex:4:18: Plug.MIME (module)271272    warning: unused require Logger273    │274 32 │   require Logger275    │   ~276    │277    └─ lib/plug/request_id.ex:32:3278279     warning: calling super for GenServer callback handle_info/2 is deprecated280     │281 164 │     super(msg, state)282     │     ~283     │284     └─ lib/plug/upload.ex:164:5: Plug.Upload.handle_info/2285286    warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead287    │288 39 │         reraise e, System.stacktrace289    │                           ~290    │291    └─ lib/plug/parsers/multipart.ex:39:27: Plug.Parsers.MULTIPART.parse/5292    └─ lib/plug/parsers/multipart.ex:41:73: Plug.Parsers.MULTIPART.parse/5293294    warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead295    │296 12 │       worker(Plug.Upload, [])297    │       ~298    │299    └─ lib/plug/supervisor.ex:12:7: Plug.Supervisor.init/1300301    warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead302    │303 16 │     supervise(children, strategy: :one_for_one)304    │     ~305    │306    └─ lib/plug/supervisor.ex:16:5: Plug.Supervisor.init/1307308     warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)309     │310 210 │       if Code.ensure_compiled?(module) and function_exported?(module, :init, 1) do311     │               ~312     │313     └─ lib/plug/parsers.ex:210:15: Plug.Parsers.convert_parsers/2314315    warning: MIME.valid?/1 is deprecated. Use MIME.extensions(type) != [] instead316    │317 28 │     MIME.valid?(type)318    │          ~319    │320    └─ lib/plug/mime.ex:28:10: Plug.MIME.valid?/1321322     warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead323     │324 139 │     __catch__(conn, kind, reason, System.stacktrace, opts)325     │                                          ~326     │327     └─ lib/plug/debugger.ex:139:42: Plug.Debugger.__catch__/4328329     warning: String.rstrip/1 is deprecated. Use String.trim_trailing/1 instead330     │331 635 │ <pre class="code code-block"><%= for {index, line, highlight} <- snippet do %><span class="line <%= if highlight, do: "-highlight" %>"><span class="ln"><%= h index %></span><span class="code"><%= h String.rstrip(line) %></span></span>332     │                                                                                                                                                                                                              ~333     │334     └─ lib/plug/templates/debugger.html.eex:635:206: Plug.Debugger.template_html/1335336    warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead337    │338 82 │     __catch__(conn, kind, reason, reason, System.stacktrace, handle_errors)339    │                                                  ~340    │341    └─ lib/plug/error_handler.ex:82:50: Plug.ErrorHandler.__catch__/4342343    warning: :crypto.block_encrypt/4 is undefined or private, use crypto:crypto_one_time/5, crypto:crypto_one_time_aead/6,7 or crypto:crypto_init + crypto:crypto_update + crypto:crypto_final instead344    │345 57 │     {cipher_text, cipher_tag} = :crypto.block_encrypt(:aes_gcm, key, iv, {aad, plain_text})346    │                                         ~347    │348    └─ lib/plug/crypto/message_encryptor.ex:57:41: Plug.Crypto.MessageEncryptor.aes128_gcm_encrypt/3349    └─ lib/plug/crypto/message_encryptor.ex:104:41: Plug.Crypto.MessageEncryptor.aes_gcm_key_wrap/3350    └─ lib/plug/crypto/message_encryptor.ex:314:13: Plug.Crypto.MessageEncryptor.encrypt_legacy/4351    └─ lib/plug/crypto/message_encryptor.ex:332:27: Plug.Crypto.MessageEncryptor.aes256_cbc_hmac_sha1_encrypt/3352353    warning: :crypto.hmac/3 is undefined or private, use crypto:mac/4 instead354    │355 41 │     signature  = :crypto.hmac(:sha, key, plain_text)356    │                          ~357    │358    └─ lib/plug/crypto/message_verifier.ex:41:26: Plug.Crypto.MessageVerifier.hmac_sha1_sign/2359    └─ lib/plug/crypto/message_verifier.ex:49:29: Plug.Crypto.MessageVerifier.hmac_sha1_verify/2360    └─ lib/plug/crypto/message_verifier.ex:71:26: Plug.Crypto.MessageVerifier.hmac_sha2_sign/3361    └─ lib/plug/crypto/message_verifier.ex:80:29: Plug.Crypto.MessageVerifier.hmac_sha2_verify/2362363    warning: :crypto.block_decrypt/4 is undefined or private, use crypto:crypto_one_time/5, crypto:crypto_one_time_aead/6,7 or crypto:crypto_init + crypto:crypto_update + crypto:crypto_final instead364    │365 79 │             :crypto.block_decrypt(:aes_gcm, key, iv, {aad, cipher_text, cipher_tag})366    │                     ~367    │368    └─ lib/plug/crypto/message_encryptor.ex:79:21: Plug.Crypto.MessageEncryptor.aes128_gcm_decrypt/3369    └─ lib/plug/crypto/message_encryptor.ex:120:17: Plug.Crypto.MessageEncryptor.aes_gcm_key_unwrap/3370    └─ lib/plug/crypto/message_encryptor.ex:122:17: Plug.Crypto.MessageEncryptor.aes_gcm_key_unwrap/3371    └─ lib/plug/crypto/message_encryptor.ex:124:17: Plug.Crypto.MessageEncryptor.aes_gcm_key_unwrap/3372    └─ lib/plug/crypto/message_encryptor.ex:321:13: Plug.Crypto.MessageEncryptor.decrypt_legacy/4373    └─ lib/plug/crypto/message_encryptor.ex:349:17: Plug.Crypto.MessageEncryptor.aes256_cbc_hmac_sha1_decrypt/3374375     warning: :crypto.hmac/3 is undefined or private, use crypto:mac/4 instead376     │377 275 │     cipher_tag = Base.url_encode64(:crypto.hmac(:sha, sign_secret, cipher_text))378     │                                            ~379     │380     └─ lib/plug/crypto/message_encryptor.ex:275:44: Plug.Crypto.MessageEncryptor.encode_legacy_token/3381     └─ lib/plug/crypto/message_encryptor.ex:291:44: Plug.Crypto.MessageEncryptor.decode_legacy_token/2382383    warning: :crypto.hmac/3 is undefined or private, use crypto:mac/4 instead384    │385 78 │     &:crypto.hmac(digest, secret, &1)386    │              ~387    │388    └─ lib/plug/crypto/key_generator.ex:78:14: Plug.Crypto.KeyGenerator.mac_fun/2389390    warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead391    │392 21 │     stack   = System.stacktrace393    │                      ~394    │395    └─ lib/plug/conn/wrapper_error.ex:21:22: Plug.Conn.WrapperError.reraise/3396    └─ lib/plug/conn/wrapper_error.ex:26:40: Plug.Conn.WrapperError.reraise/3397398    warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead399    │400 21 │         stack = System.stacktrace()401    │                        ~402    │403    └─ lib/plug/adapters/cowboy/handler.ex:21:24: Plug.Adapters.Cowboy.Handler.upgrade/4404    └─ lib/plug/adapters/cowboy/handler.ex:26:24: Plug.Adapters.Cowboy.Handler.upgrade/4405    └─ lib/plug/adapters/cowboy/handler.ex:30:24: Plug.Adapters.Cowboy.Handler.upgrade/4406407    warning: a struct for Plug.Conn is expected on struct update:408409        %Plug.Conn{410          conn411          | adapter: {Plug.Adapters.Test.Conn, state},412            host: uri.host || conn.host || "www.example.com",413            method: method,414            owner: owner,415            path_info: split_path(uri.path),416            port: uri.port || 80,417            peer: {{127, 0, 0, 1}, 111_317},418            remote_ip: {127, 0, 0, 1},419            req_headers: req_headers,420            request_path: uri.path,421            query_string: query,422            params: params || %Plug.Conn.Unfetched{aspect: :params},423            scheme: String.to_atom(String.downcase(uri.scheme || "http"))424        }425426    but got type:427428        dynamic(%{..., req_headers: term()})429430    where "conn" was given the type:431432        # type: dynamic(%{..., req_headers: term()})433        # from: lib/plug/adapters/test/conn.ex:15:35434        body_or_params(body_or_params, query, conn.req_headers)435436    when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"437438    type warning found at:439    │440 19 │     %Plug.Conn{conn |441    │     ~442    │443    └─ lib/plug/adapters/test/conn.ex:19:5: Plug.Adapters.Test.Conn.conn/4444445     warning: Atom.to_char_list/1 is deprecated. Use Atom.to_charlist/1 instead446     │447 186 │     case Atom.to_char_list(plug) do448     │               ~449     │450     └─ lib/plug/builder.ex:186:15: Plug.Builder.init_plug/1451452    warning: Enum.partition/2 is deprecated. Use Enum.split_with/2 instead453    │454 43 │       Enum.partition(cowboy_options, &is_tuple(&1) and tuple_size(&1) == 2)455    │            ~456    │457    └─ lib/plug/adapters/cowboy.ex:43:12: Plug.Adapters.Cowboy.args/4458459Generated plug app460warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"461  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2462  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1463  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5464  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2465  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4466  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2467468==> phoenix469Compiling 75 files (.ex)470     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 operator471     │472 170 │       <<attr::size(prefix)-binary, ":unique">> -> attr473     │                    ~474     │475     └─ lib/mix/phoenix/schema.ex:170:20: Mix.Phoenix.Schema.drop_unique/1476477     warning: using single-quoted strings to represent charlists is deprecated.478     Use ~c"" if you indeed want a charlist or use "" instead.479     You may run "mix format --migrate" to change all single-quoted480     strings to use the ~c sigil and fix this warning.481     │482 310 │     :error_logger.warning_msg('~p ~p received unexpected message in handle_info/2: ~p~n',483     │                               ~484     │485     └─ lib/phoenix/channel/server.ex:310:31486487    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead488    │489 39 │             Logger.warn "Phoenix is unable to create symlinks. Phoenix' code reloader will run " <>490    │                    ~491    │492    └─ lib/phoenix/code_reloader/server.ex:39:20: Phoenix.CodeReloader.Server.handle_call/3493494    warning: unused require Logger495    │496 20 │   require Logger497    │   ~498    │499    └─ lib/phoenix/endpoint/handler.ex:20:3500501    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead502    │503 39 │       Logger.warn """504    │              ~505    │506    └─ lib/phoenix/endpoint/supervisor.ex:39:14: Phoenix.Endpoint.Supervisor.init/1507508    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 operator509    │510 46 │       <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix511    │                             ~512    │513    └─ lib/phoenix/naming.ex:46:29: Phoenix.Naming.unsuffix/2514515     warning: using single-quoted strings to represent charlists is deprecated.516     Use ~c"" if you indeed want a charlist or use "" instead.517     You may run "mix format --migrate" to change all single-quoted518     strings to use the ~c sigil and fix this warning.519     │520 315 │   @anno (if :erlang.system_info(:otp_release) >= '19' do521     │                                                  ~522     │523     └─ lib/phoenix/router.ex:315:50524525     warning: using single-quoted strings to represent charlists is deprecated.526     Use ~c"" if you indeed want a charlist or use "" instead.527     You may run "mix format --migrate" to change all single-quoted528     strings to use the ~c sigil and fix this warning.529     │530 195 │   @anno (if :erlang.system_info(:otp_release) >= '19' do531     │                                                  ~532     │533     └─ lib/phoenix/router/helpers.ex:195:50534535    warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.536537    This error happens when you have function calls without parentheses inside keywords. For example:538539        function(arg, one: nested_call a, b, c)540        function(arg, one: if expr, do: :this, else: :that)541542    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:543544        function(arg, one: if(expr, do: :this, else: :that))545        function(arg, one: nested_call(a, b, c))546547    Ambiguity found at:548    │549 71 │     unless actions -- supported_actions == [], do: raise ArgumentError, """550    │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~551    │552    └─ lib/phoenix/router/resource.ex:71553554    warning: duplicate key :route found in struct555    │556 24 │   defstruct [:path, :actions, :param, :route, :controller, :route, :member, :collection, :singleton]557    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~558    │559    └─ lib/phoenix/router/resource.ex:24: Phoenix.Router.Resource (module)560561     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)"562     │563 110 │   @callback start_link(Keyword.t) :: {:ok, pid()} | {:error, reason :: term()} :: :ignore564     │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~565     │566     └─ lib/phoenix/presence.ex:110: Phoenix.Presence (module)567568     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead569     │570 885 │       Logger.warn "send_download/3 has been invoked during an AJAX request. " <>571     │              ~572     │573     └─ lib/phoenix/controller.ex:885:14: Phoenix.Controller.warn_if_ajax/1574575     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead576     │577 304 │     Logger.warn fn -> "Ignoring unmatched topic \"#{msg.topic}\" in #{inspect(socket.handler)}" end578     │            ~579     │580     └─ lib/phoenix/socket/transport.ex:304:12: Phoenix.Socket.Transport.reply_ignore/2581582     warning: using single-quoted strings to represent charlists is deprecated.583     Use ~c"" if you indeed want a charlist or use "" instead.584     You may run "mix format --migrate" to change all single-quoted585     strings to use the ~c sigil and fix this warning.586     │587 174 │   @anno (if :erlang.system_info(:otp_release) >= '19' do588     │                                                  ~589     │590     └─ lib/phoenix/template.ex:174:50591592     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead593     │594 227 │     Logger.warn ":max_age was not set on Phoenix.Token.verify/4. " <>595     │            ~596     │597     └─ lib/phoenix/token.ex:227:12: Phoenix.Token.expired?/2598599    warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead600    │601 12 │       worker(Phoenix.Transports.LongPoll.Server, [], restart: :temporary)602    │       ~603    │604    └─ lib/phoenix/transports/long_poll_server.ex:12:7: Phoenix.Transports.LongPoll.Supervisor.init/1605606     warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead607     │608 647 │       exception -> {:error, {exception, System.stacktrace()}}609     │                                                ~610     │611     └─ lib/phoenix/test/conn_test.ex:647:48: Phoenix.ConnTest.wrap_request/1612613    warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead614    │615 14 │     supervise(children, strategy: :simple_one_for_one)616    │     ~617    │618    └─ lib/phoenix/transports/long_poll_server.ex:14:5: Phoenix.Transports.LongPoll.Supervisor.init/1619620     warning: expected a module (an atom) when invoking config/1 in expression:621622         endpoint.config(:endpoint_id)623624     where "endpoint" was given the type:625626         # type: dynamic(%{..., __pubsub_server__: atom()})627         # from: lib/phoenix/transports/long_poll.ex:199:10628         verify_token(endpoint, token, opts)629630     type warning found at:631     │632 201 │         server_ref = server_ref(endpoint.config(:endpoint_id), id, pid, priv_topic)633     │                                          ~634     │635     └─ lib/phoenix/transports/long_poll.ex:201:42: Phoenix.Transports.LongPoll.resume_session/3636637     warning: unknown key .__pubsub_server__ in expression:638639         endpoint.__pubsub_server__640641     the given type does not have the given key:642643         dynamic(644           %Phoenix.Socket{645             id: term(),646             assigns: term(),647             channel: term(),648             channel_pid: term(),649             endpoint: atom(),650             handler: term(),651             joined: term(),652             pubsub_server: term(),653             ref: term(),654             join_ref: term(),655             topic: term(),656             transport: term(),657             transport_pid: term(),658             transport_name: term(),659             serializer: term(),660             private: term(),661             vsn: term()662           } or663             %Plug.Conn{664               adapter: term(),665               assigns: term(),666               before_send: term(),667               body_params: term(),668               cookies: term(),669               halted: term(),670               host: term(),671               method: term(),672               owner: term(),673               params: term(),674               path_params: term(),675               path_info: term(),676               port: term(),677               private: term(),678               query_params: term(),679               query_string: term(),680               peer: term(),681               remote_ip: term(),682               req_cookies: term(),683               req_headers: term(),684               request_path: term(),685               resp_body: term(),686               resp_cookies: term(),687               resp_headers: term(),688               scheme: term(),689               script_name: term(),690               secret_key_base: term(),691               state: term(),692               status: term()693             } or atom() or binary()694         )695696     where "endpoint" was given the type:697698         # type: dynamic(%Phoenix.Socket{endpoint: atom()} or %Plug.Conn{} or atom() or binary())699         # from: lib/phoenix/transports/long_poll.ex:254:19700         Phoenix.Token.sign(endpoint, Atom.to_string(endpoint.__pubsub_server__), data, opts[:crypto])701702     type warning found at:703     │704 254 │     Phoenix.Token.sign(endpoint, Atom.to_string(endpoint.__pubsub_server__), data, opts[:crypto])705     │                                                          ~~~~~~~~~~~~~~~~~706     │707     └─ lib/phoenix/transports/long_poll.ex:254:58: Phoenix.Transports.LongPoll.sign_token/3708709    warning: a struct for Plug.Conn is expected on struct update:710711        %Plug.Conn{conn | state: :sent}712713    but got type:714715        dynamic()716717    where "conn" was given the type:718719        # type: dynamic()720        # from: lib/phoenix/endpoint/render_errors.ex:79:21721        conn722723    when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"724725    type warning found at:726    │727 83 │         %Plug.Conn{conn | state: :sent}728    │         ~729    │730    └─ lib/phoenix/endpoint/render_errors.ex:83:9: Phoenix.Endpoint.RenderErrors.maybe_render/5731732    warning: a struct for Plug.Conn is expected on struct update:733734        %Plug.Conn{conn | query_params: %{}, params: %{}}735736    but got type:737738        dynamic(%{..., params: %Plug.Conn.Unfetched{}})739740    where "conn" was given the types:741742        # type: dynamic(%{..., params: term()})743        # from: lib/phoenix/endpoint/render_errors.ex:94:17744        conn.params745746        # type: dynamic(%{..., params: %Plug.Conn.Unfetched{}})747        # from: lib/phoenix/endpoint/render_errors.ex:94:17748        conn.params749750    when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"751752    type warning found at:753    │754 95 │         %Plug.Conn.Unfetched{} -> %Plug.Conn{conn | query_params: %{}, params: %{}}755    │                                   ~756    │757    └─ lib/phoenix/endpoint/render_errors.ex:95:35: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/1758759    warning: a struct for Plug.Conn is expected on struct update:760761        %Plug.Conn{conn | query_params: %{}, params: params}762763    but got type:764765        dynamic(%{..., params: not %Plug.Conn.Unfetched{}})766767    where "conn" was given the types:768769        # type: dynamic(%{..., params: term()})770        # from: lib/phoenix/endpoint/render_errors.ex:94:17771        conn.params772773        # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})774        # from: lib/phoenix/endpoint/render_errors.ex:94:17775        conn.params776777    when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"778779    type warning found at:780    │781 96 │         params -> %Plug.Conn{conn | query_params: %{}, params: params}782    │                   ~783    │784    └─ lib/phoenix/endpoint/render_errors.ex:96:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/1785786     warning: a struct for Phoenix.Socket is expected on struct update:787788         %Phoenix.Socket{socket | id: id}789790     but got type:791792         dynamic()793794     where "socket" was given the type:795796         # type: dynamic()797         # from: lib/phoenix/socket/transport.ex798         {:ok, socket}799800     when defining the variable "socket", you must also pattern match on "%Phoenix.Socket{}"801802     type warning found at:803     │804 195 │           id when is_binary(id) -> {:ok, %Socket{socket | id: id}}805     │                                          ~806     │807     └─ lib/phoenix/socket/transport.ex:195:42: Phoenix.Socket.Transport.do_connect/7808809     warning: a struct for Plug.Conn is expected on struct update:810811         %Plug.Conn{conn | params: params}812813     but got type:814815         dynamic(%{..., params: map()})816817     where "conn" was given the type:818819         # type: dynamic(%{..., params: map()})820         # from: lib/phoenix/controller.ex:912:17821         Map.get(conn.params, required_key)822823     when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"824825     type warning found at:826     │827 919 │     %Plug.Conn{conn | params: params}828     │     ~829     │830     └─ lib/phoenix/controller.ex:919:5: Phoenix.Controller.scrub_params/2831832    warning: expected a map or struct when accessing .url in expression:833834        endpoint.url835836    where "endpoint" was given the types:837838        # type: dynamic(atom())839        # from: lib/phoenix/router/helpers.ex:24:20840        endpoint841842        # type: atom()843        # from: lib/phoenix/router/helpers.ex:24:35844        is_atom(endpoint)845846    hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()847848    type warning found at:849    │850 25 │     endpoint.url851    │              ~852    │853    └─ lib/phoenix/router/helpers.ex:25:14: Phoenix.Router.Helpers.url/2854855     warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead856     │857 198 │       supervisor(Task.Supervisor, [[name: task_supervisor]]),858     │       ~859     │860     └─ lib/phoenix/presence.ex:198:7: Phoenix.Presence.start_link/4861862     warning: a struct for Plug.Conn is expected on struct update:863864         %Plug.Conn{conn | path_info: path, script_name: script}865866     but got type:867868         dynamic()869870     where "conn" was given the type:871872         # type: dynamic()873         # from: lib/phoenix/router/route.ex:147:10874         conn = target.call(%Plug.Conn{...}, opts)875876     when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"877878     type warning found at:879     │880 148 │     %Plug.Conn{conn | path_info: path, script_name: script}881     │     ~882     │883     └─ lib/phoenix/router/route.ex:148:5: Phoenix.Router.Route.forward/4884885     warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead886     │887 199 │       worker(Phoenix.Tracker, [module, opts, opts])888     │       ~889     │890     └─ lib/phoenix/presence.ex:199:7: Phoenix.Presence.start_link/4891892    warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead893    │894 71 │     supervise(children, strategy: :one_for_one)895    │     ~896    │897    └─ lib/phoenix/endpoint/supervisor.ex:71:5: Phoenix.Endpoint.Supervisor.init/1898899     warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead900     │901 284 │             Phoenix.PlugError.reraise(piped_conn, :error, reason, System.stacktrace())902     │                                                                          ~903     │904     └─ lib/phoenix/router.ex:284:74: Phoenix.Router.__call__/1905906    warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead907    │908 76 │     [worker(Phoenix.Config, args)]909    │      ~910    │911    └─ lib/phoenix/endpoint/supervisor.ex:76:6: Phoenix.Endpoint.Supervisor.config_children/3912913    warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead914    │915 84 │       [supervisor(adapter, [mod.__pubsub_server__(), pub_conf])]916    │        ~917    │918    └─ lib/phoenix/endpoint/supervisor.ex:84:8: Phoenix.Endpoint.Supervisor.pubsub_children/2919    └─ lib/phoenix/endpoint/supervisor.ex:96:8: Phoenix.Endpoint.Supervisor.server_children/3920    └─ lib/phoenix/endpoint/supervisor.ex:97:8: Phoenix.Endpoint.Supervisor.server_children/3921922     warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead923     │924 106 │         worker(Phoenix.Endpoint.Watcher, watcher_args(cmd, args),925     │         ~926     │927     └─ lib/phoenix/endpoint/supervisor.ex:106:9: Phoenix.Endpoint.Supervisor.watcher_children/3928929    warning: incompatible types given to Plug.Adapters.Cowboy.child_spec/4:930931        Plug.Adapters.Cowboy.child_spec(scheme, endpoint, [], config)932933    given types:934935        (936          dynamic(:http or :https),937          -dynamic(%{..., __sockets__: term()})-,938          empty_list(),939          dynamic(empty_list() or non_empty_list(term(), term()))940        )941942    but expected one of:943944        :http or :https, atom() or binary(), term(), term()945946    where "config" was given the type:947948        # type: dynamic(empty_list() or non_empty_list(term(), term()))949        # from: lib/phoenix/endpoint/cowboy_handler.ex:78:12950        config = Keyword.put_new(config, :dispatch, _: dispatches)951952    where "endpoint" was given the type:953954        # type: dynamic(%{..., __sockets__: term()})955        # from: lib/phoenix/endpoint/cowboy_handler.ex:66:26956        {path, socket} <- endpoint.__sockets__957958    where "scheme" was given the types:959960        # type: dynamic()961        # from: lib/phoenix/endpoint/cowboy_handler.ex:60:18962        scheme963964        # type: dynamic(:http or :https)965        # from: lib/phoenix/endpoint/cowboy_handler.ex:81:28966        Plug.Adapters.Cowboy.child_spec(scheme, endpoint, [], config)967968    type warning found at:969    │970 81 │       Plug.Adapters.Cowboy.child_spec(scheme, endpoint, [], config)971    │                            ~972    │973    └─ lib/phoenix/endpoint/cowboy_handler.ex:81:28: Phoenix.Endpoint.CowboyHandler.child_spec/3974975     warning: expected a module (an atom) when invoking path/1 in expression:976977         endpoint.path("/")978979     where "endpoint" was given the type:980981         # type: dynamic(%{..., host: term()})982         # from: lib/phoenix/endpoint/supervisor.ex:312:14983         endpoint.host984985     type warning found at:986     │987 313 │     endpoint.path("/")988     │              ~989     │990     └─ lib/phoenix/endpoint/supervisor.ex:313:14: Phoenix.Endpoint.Supervisor.warmup/1991992    warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead993    │994 23 │         {:upgrade, :protocol, __MODULE__, req, {:error, mfa, kind, reason, System.stacktrace}}995    │                                                                                   ~996    │997    └─ lib/phoenix/endpoint/cowboy_websocket.ex:23:83: Phoenix.Endpoint.CowboyWebSocket.init/3998999    warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1000    │1001 35 │     supervise(children, strategy: :one_for_one)1002    │     ~1003    │1004    └─ lib/phoenix/endpoint/handler.ex:35:5: Phoenix.Endpoint.Handler.init/110051006    warning: Enum.partition/2 is deprecated. Use Enum.split_with/2 instead1007    │1008 39 │     {config_keywords, config_other} = Enum.partition(config, &keyword_item?/1)1009    │                                            ~1010    │1011    └─ lib/phoenix/endpoint/handler.ex:39:44: Phoenix.Endpoint.Handler.default/310121013     warning: comparison between distinct types found:10141015         !Path.extname(file_path) == ".gz"10161017     given types:10181019         dynamic(boolean()) == binary()10201021     where "file_path" was given the type:10221023         # type: dynamic(binary() or empty_list() or non_empty_list(term(), term()))1024         # from: lib/phoenix/digester.ex:147:451025         Path.basename(file_path)10261027     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 false10281029     type warning found at:1030     │1031 148 │       !Path.extname(file_path) == ".gz"1032     │                                ~1033     │1034     └─ lib/phoenix/digester.ex:148:32: Phoenix.Digester.uncompressed_digested_file?/110351036    warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1037    │1038 51 │       worker(Phoenix.CodeReloader.Server, [])1039    │       ~1040    │1041    └─ lib/phoenix.ex:51:7: Phoenix.start/210421043    warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1044    │1045 61 │             IO.puts Exception.format(kind, reason, System.stacktrace)1046    │                                                           ~1047    │1048    └─ lib/phoenix/code_reloader/server.ex:61:59: Phoenix.CodeReloader.Server.handle_call/310491050    warning: expected a map or struct when accessing .__phoenix_recompile__? in expression:10511052        mod.__phoenix_recompile__?10531054    where "mod" was given the type:10551056        # type: dynamic(atom())1057        # from: lib/mix/tasks/compile.phoenix.ex:34:121058        Code.ensure_loaded?(mod)10591060    hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()10611062    type warning found at:1063    │1064 36 │         mod.__phoenix_recompile__?1065    │             ~1066    │1067    └─ lib/mix/tasks/compile.phoenix.ex:36:13: Mix.Tasks.Compile.Phoenix.modules_for_recompilation/110681069     warning: Enum.partition/2 is deprecated. Use Enum.split_with/2 instead1070     │1071 155 │     Enum.partition attrs, fn1072     │          ~1073     │1074     └─ lib/mix/tasks/phoenix.gen.model.ex:155:10: Mix.Tasks.Phoenix.Gen.Model.partition_attrs_and_assocs/110751076     warning: Enum.partition/2 is deprecated. Use Enum.split_with/2 instead1077     │1078 234 │       Enum.partition(attrs, fn1079     │            ~1080     │1081     └─ lib/mix/phoenix/schema.ex:234:12: Mix.Phoenix.Schema.partition_attrs_and_assocs/210821083Generated phoenix app1084==> phoenix_html1085Compiling 8 files (.ex)1086    warning: using single-quoted strings to represent charlists is deprecated.1087    Use ~c"" if you indeed want a charlist or use "" instead.1088    You may run "mix format --migrate" to change all single-quoted1089    strings to use the ~c sigil and fix this warning.1090    │1091  7 │   @anno (if :erlang.system_info(:otp_release) >= '19' do1092    │                                                  ~1093    │1094    └─ lib/phoenix_html/engine.ex:7:5010951096    warning: use EEx.Engine is deprecated. Use explicit delegation to EEx.Engine instead1097    │1098 13 │   use EEx.Engine1099    │   ~~~~~~~~~~~~~~1100    │1101    └─ lib/phoenix_html/engine.ex:13: Phoenix.HTML.Engine (module)11021103    warning: this clause for handle_text/2 cannot match because a previous clause at line 13 always matches1104    │1105 28 │   def handle_text("", text) do # Required for Elixir < v1.5.11106    │       ~1107    │1108    └─ lib/phoenix_html/engine.ex:28:711091110    warning: this clause for handle_text/2 cannot match because a previous clause at line 13 always matches1111    │1112 32 │   def handle_text({:safe, buffer}, text) do1113    │       ~1114    │1115    └─ lib/phoenix_html/engine.ex:32:711161117     warning: single quotes around keywords are deprecated. Use double quotes instead1118     │1119 264 │                'csrf-param': @csrf_param, 'method-param': @method_param1120     │                ~1121     │1122     └─ lib/phoenix_html/tag.ex:264:1611231124     warning: single quotes around keywords are deprecated. Use double quotes instead1125     │1126 264 │                'csrf-param': @csrf_param, 'method-param': @method_param1127     │                                           ~1128     │1129     └─ lib/phoenix_html/tag.ex:264:4311301131     warning: the right-hand side of || will never be executed:11321133         selected(form, field, opts) || ...11341135     because the left-hand side always evaluates to:11361137         dynamic({term(), term()})11381139     where "field" was given the type:11401141         # type: dynamic()1142         # from: lib/phoenix_html/form.ex:830:201143         field11441145     where "form" was given the type:11461147         # type: dynamic()1148         # from: lib/phoenix_html/form.ex:830:141149         form11501151     where "opts" was given the types:11521153         # type: dynamic()1154         # from: lib/phoenix_html/form.ex:830:361155         opts11561157         # type: dynamic(empty_list() or non_empty_list(term(), term()))1158         # from: lib/phoenix_html/form.ex:831:241159         selected(form, field, opts)11601161     type warning found at:1162     │1163 831 │     {selected, opts} = selected(form, field, opts) || []1164     │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1165     │1166     └─ lib/phoenix_html/form.ex:831: Phoenix.HTML.Form.select/411671168    warning: the 1st pattern in clause will never match:11691170        6011711172    because it is expected to receive type:11731174        dynamic(empty_list() or non_empty_list(term(), term()))11751176    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())11771178    type warning found at:1179    │1180 56 │   def to_iodata(?<), do: "&lt;"1181    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1182    │1183    └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/111841185    warning: the 1st pattern in clause will never match:11861187        6211881189    because it is expected to receive type:11901191        dynamic(empty_list() or non_empty_list(term(), term()))11921193    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())11941195    type warning found at:1196    │1197 57 │   def to_iodata(?>), do: "&gt;"1198    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1199    │1200    └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/112011202    warning: the 1st pattern in clause will never match:12031204        3812051206    because it is expected to receive type:12071208        dynamic(empty_list() or non_empty_list(term(), term()))12091210    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())12111212    type warning found at:1213    │1214 58 │   def to_iodata(?&), do: "&amp;"1215    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1216    │1217    └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/112181219    warning: the 1st pattern in clause will never match:12201221        3412221223    because it is expected to receive type:12241225        dynamic(empty_list() or non_empty_list(term(), term()))12261227    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())12281229    type warning found at:1230    │1231 59 │   def to_iodata(?"), do: "&quot;"1232    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1233    │1234    └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/112351236    warning: function handle_text/3 required by behaviour EEx.Engine is not implemented (in module Phoenix.HTML.Engine)1237    │1238  1 │ defmodule Phoenix.HTML.Engine do1239    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1240    │1241    └─ lib/phoenix_html/engine.ex:1: Phoenix.HTML.Engine (module)12421243    warning: the 1st pattern in clause will never match:12441245        3912461247    because it is expected to receive type:12481249        dynamic(empty_list() or non_empty_list(term(), term()))12501251    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())12521253    type warning found at:1254    │1255 60 │   def to_iodata(?'), do: "&#39;"1256    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1257    │1258    └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/112591260    warning: the following clause is redundant:12611262        def handle_text("", text)12631264    it has type:12651266        binary(), dynamic()12671268    previous clauses have already matched on the following types:12691270        term(), term()12711272    │1273 28 │   def handle_text("", text) do # Required for Elixir < v1.5.11274    │       ~1275    │1276    └─ lib/phoenix_html/engine.ex:28:7: Phoenix.HTML.Engine.handle_text/212771278    warning: the following clause is redundant:12791280        def handle_text({:safe, buffer}, text)12811282    it has type:12831284        dynamic({:safe, term()}), dynamic()12851286    previous clauses have already matched on the following types:12871288        term(), term()12891290    │1291 32 │   def handle_text({:safe, buffer}, text) do1292    │       ~1293    │1294    └─ lib/phoenix_html/engine.ex:32:7: Phoenix.HTML.Engine.handle_text/212951296    warning: the 1st pattern in clause will never match:12971298        {:safe, data}12991300    because it is expected to receive type:13011302        dynamic(empty_list() or non_empty_list(term(), term()))13031304    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())13051306    type warning found at:1307    │1308 75 │   def to_iodata({:safe, data}) do1309    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1310    │1311    └─ lib/phoenix_html/safe.ex:75: Phoenix.HTML.Safe.List.to_iodata/113121313    warning: the following clause is redundant:13141315        def to_iodata(other)13161317    it has type:13181319        dynamic(empty_list() or non_empty_list(term(), term()))13201321    previous clauses have already matched on the following types:13221323        non_empty_list(term(), term())1324        empty_list()13251326    │1327 79 │   def to_iodata(other) do1328    │       ~1329    │1330    └─ lib/phoenix_html/safe.ex:79:7: Phoenix.HTML.Safe.List.to_iodata/113311332    warning: the 1st pattern in clause will never match:13331334        h13351336    because it is expected to receive type:13371338        dynamic(empty_list() or non_empty_list(term(), term()))13391340    where "h" was given the type:13411342        # type: integer()1343        # from: lib/phoenix_html/safe.ex:62:251344        is_integer(h)13451346    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())13471348    type warning found at:1349    │1350 62 │   def to_iodata(h) when is_integer(h) and h <= 255 do1351    │                 ~1352    │1353    └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/113541355    warning: the 1st pattern in clause will never match:13561357        h13581359    because it is expected to receive type:13601361        dynamic(empty_list() or non_empty_list(term(), term()))13621363    where "h" was given the type:13641365        # type: integer()1366        # from: lib/phoenix_html/safe.ex:65:251367        is_integer(h)13681369    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())13701371    type warning found at:1372    │1373 65 │   def to_iodata(h) when is_integer(h) do1374    │                 ~1375    │1376    └─ lib/phoenix_html/safe.ex:65:17: Phoenix.HTML.Safe.List.to_iodata/113771378    warning: the 1st pattern in clause will never match:13791380        h13811382    because it is expected to receive type:13831384        dynamic(empty_list() or non_empty_list(term(), term()))13851386    where "h" was given the type:13871388        # type: binary()1389        # from: lib/phoenix_html/safe.ex:71:251390        is_binary(h)13911392    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())13931394    type warning found at:1395    │1396 71 │   def to_iodata(h) when is_binary(h) do1397    │                 ~1398    │1399    └─ lib/phoenix_html/safe.ex:71:17: Phoenix.HTML.Safe.List.to_iodata/114001401Generated phoenix_html app1402==> tracy1403Compiling 8 files (.ex)1404    warning: invalid type annotation. The left side of :: must be a variable, got: fun()1405    │1406 23 │   @spec check_start_trace(definition_id:: binary(), session_id :: binary() | nil, metadata :: fun() :: map() | nil) :: :started | :not_started | {:error, term()}1407    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1408    │1409    └─ lib/tracy.ex:23: Tracy (module)14101411    warning: invalid type annotation. Type annotations cannot be nested: metadata :: fun() :: map() | nil1412    │1413 23 │   @spec check_start_trace(definition_id:: binary(), session_id :: binary() | nil, metadata :: fun() :: map() | nil) :: :started | :not_started | {:error, term()}1414    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1415    │1416    └─ lib/tracy.ex:23: Tracy (module)14171418    warning: invalid type annotation. The left side of :: must be a variable, got: fun()1419    │1420 23 │   @spec check_start_trace(definition_id:: binary(), session_id :: binary() | nil, metadata :: fun() :: map() | nil) :: :started | :not_started | {:error, term()}1421    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1422    │1423    └─ lib/tracy.ex:23: Tracy (module)14241425    warning: unused require Logger1426    │1427  3 │   require Logger1428    │   ~1429    │1430    └─ lib/tracy/plug.ex:3:314311432    warning: unused require Logger1433    │1434  3 │   require Logger1435    │   ~1436    │1437    └─ lib/tracy/util.ex:3:314381439    warning: a struct for Tracy.Tracer.State is expected on struct update:14401441        %Tracy.Tracer.State{state | count: state.count + 1}14421443    but got type:14441445        dynamic(%{..., pid: term()})14461447    where "state" was given the type:14481449        # type: dynamic(%{..., pid: term()})1450        # from: lib/tracy/tracer.ex:47:551451        state = %{pid: pid}14521453    when defining the variable "state", you must also pattern match on "%Tracy.Tracer.State{}"14541455    type warning found at:1456    │1457 48 │     state = %State{state | count: state.count + 1}1458    │             ~1459    │1460    └─ lib/tracy/tracer.ex:48:13: Tracy.Tracer.handle_info/214611462    warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead1463    │1464 10 │       worker(Tracy.Tracer, [], restart: :transient)1465    │       ~1466    │1467    └─ lib/tracy/trace_supervisor.ex:10:7: Tracy.TraceSupervisor.init/114681469    warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1470    │1471 12 │     supervise(children, strategy: :simple_one_for_one)1472    │     ~1473    │1474    └─ lib/tracy/trace_supervisor.ex:12:5: Tracy.TraceSupervisor.init/114751476    warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1477    │1478  8 │       supervisor(Tracy.TraceSupervisor, [])1479    │       ~1480    │1481    └─ lib/tracy/application.ex:8:7: Tracy.Application.start/214821483    warning: the following clause will never match:14841485        nil ->14861487    because it attempts to match on the result of:14881489        Plug.Conn.get_req_header(conn, "x-tracy-definition")14901491    which has type:14921493        dynamic(list(term()))14941495    type warning found at:1496    │1497 13 │       nil ->1498    │       ~~~~~~1499    │1500    └─ lib/tracy/plug.ex:13: Tracy.Plug.call/215011502Generated tracy app1503warning: the :gettext compiler is no longer required in your mix.exs.15041505Please find the following line in your mix.exs and remove the :gettext entry:15061507    compilers: [..., :gettext, ...] ++ Mix.compilers(),15081509  (gettext 0.26.2) lib/mix/tasks/compile.gettext.ex:5: Mix.Tasks.Compile.Gettext.run/11510  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51511  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21512  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41513  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/21514  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/515151516==> tracy_web1517Compiling 23 files (.ex)1518    warning: unused require Logger1519    │1520  3 │   require Logger1521    │   ~1522    │1523    └─ lib/tracy_web/upstream.ex:3:315241525warning: defining a Gettext backend by calling15261527    use Gettext, otp_app: ...15281529is deprecated. To define a backend, call:15301531    use Gettext.Backend, otp_app: :my_app15321533Then, instead of importing your backend, call this in your module:15341535    use Gettext, backend: MyApp.Gettext15361537  lib/tracy_web/web/gettext.ex:23: TracyWeb.Web.Gettext (module)15381539warning: no configuration found for otp_app :tracy_web and module TracyWeb.Web.Endpoint1540warning: Phoenix.HTML.Engine.handle_text/2 is deprecated, implement handle_text/3 instead1541  (eex 1.20.3) lib/eex/compiler.ex:315: EEx.Compiler.compile/31542  (phoenix 1.3.5) lib/phoenix/template.ex:378: Phoenix.Template.compile/21543  (elixir 1.20.3) lib/enum.ex:1725: Enum."-map/2-lists^map/1-1-"/21544  (phoenix 1.3.5) lib/phoenix/template.ex:185: Phoenix.Template."MACRO-__before_compile__"/21545  (elixir 1.20.3) src/elixir_dispatch.erl:263: :elixir_dispatch.expand_macro_fun/71546  (elixir 1.20.3) src/elixir_dispatch.erl:155: :elixir_dispatch.dispatch_require/7154715481549== Compilation error in file lib/tracy_web/web/views/page_view.ex ==1550** (RuntimeError) unexpected EEx.Engine state: {:safe, ""}. This typically means a bug or an outdated EEx.Engine or tool1551    (eex 1.20.3) lib/eex/engine.ex:226: EEx.Engine.check_state!/11552    (eex 1.20.3) lib/eex/engine.ex:189: EEx.Engine.handle_text/31553    (eex 1.20.3) lib/eex/compiler.ex:338: EEx.Compiler.generate_buffer/41554    (phoenix 1.3.5) lib/phoenix/template.ex:378: Phoenix.Template.compile/21555    (elixir 1.20.3) lib/enum.ex:1725: Enum."-map/2-lists^map/1-1-"/21556    (phoenix 1.3.5) expanding macro: Phoenix.Template.__before_compile__/11557    lib/tracy_web/web/views/page_view.ex:1: TracyWeb.Web.PageView (module)1558could not compile dependency :tracy_web, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile tracy_web --force", update it with "mix deps.update tracy_web" or clean it with "mix deps.clean tracy_web"