humo_rbac

Build log

nerves_system_x86_64

humo_rbac 0.1.0 · fail · run humo_rbac-0.1.0-1790948662394
1387 of 1387 lines
1Resolving Hex dependencies...2Resolution completed in 0.857s3Unchanged:4  bamboo 1.7.15  bamboo_smtp 2.1.06  bcrypt_elixir 3.3.27  castore 1.0.218  certifi 2.17.09  circular_buffer 1.1.010  comeonin 5.5.111  cowboy 2.19.012  cowboy_telemetry 0.4.013  cowlib 2.20.0 VULNERABLE!14    EEF-CVE-2026-43966 (MEDIUM)15    aka: CVE-2026-43966, GHSA-w4f7-4cxr-rv3c16    HTTP Response Splitting via Non-VCHAR Bytes in cow_http_struct_hd:escape_string/217    https://osv.dev/vulnerability/EEF-CVE-2026-439661819    EEF-CVE-2026-43969 (LOW)20    aka: CVE-2026-43969, GHSA-g2wm-735q-3f5621    Cookie Request Header Injection via Unvalidated Encoder in cow_cookie:cookie/122    https://osv.dev/vulnerability/EEF-CVE-2026-4396923  db_connection 2.10.224  decimal 3.1.125  ecto 3.14.226  ecto_sql 3.14.027  elixir_make 0.10.028  esbuild 0.10.029  expo 1.1.130  file_system 0.2.1031  gen_smtp 0.15.032  gettext 0.26.233  h2 0.12.334  hackney 4.8.435  humo 0.1.236  humo_account 0.1.037  humo_rbac 0.1.038  idna 7.1.039  interactive_cmd 0.1.440  jason 1.4.541  mime 1.6.042  mimerl 1.5.043  nerves 2.0.0-pre.244  nerves_discovery 0.1.545  nerves_logging 0.2.446  nerves_runtime 0.13.1347  nerves_system_bbb 2.30.248  nerves_system_br 1.34.449  nerves_system_mangopi_mq_pro 0.17.250  nerves_system_qemu_aarch64 0.4.251  nerves_system_rpi0 2.1.252  nerves_system_rpi4 2.1.253  nerves_system_rpi5 2.1.254  nerves_system_trellis 0.5.055  nerves_system_x86_64 1.34.256  nerves_toolchain_aarch64_nerves_linux_gnu 15.3.157  nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.158  nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.159  nerves_toolchain_riscv64_nerves_linux_gnu 15.3.160  nerves_toolchain_x86_64_nerves_linux_musl 15.3.161  nerves_uevent 0.1.762  parse_trans 3.4.263  phoenix 1.6.1764  phoenix_ecto 4.7.065  phoenix_html 3.3.466  phoenix_live_dashboard 0.9.167  phoenix_live_view 1.2.1268  phoenix_pubsub 2.3.069  phoenix_template 1.1.070  phoenix_view 2.0.471  plug 1.20.372  plug_cowboy 2.9.073  plug_crypto 1.2.574  postgrex 0.22.475  property_table 0.3.476  quic 2.1.077  ranch 2.3.078  ring_logger 0.11.779  ssl_verify_fun 1.1.780  tablet 0.3.381  telemetry 1.4.282  telemetry_metrics 0.6.283  telemetry_poller 1.3.084  toolshed 0.5.085  uboot_env 1.0.286  webtransport 0.4.787* Getting humo_rbac (Hex package)88* Getting nerves (Hex package)89* Getting ring_logger (Hex package)90* Getting toolshed (Hex package)91* Getting nerves_runtime (Hex package)92* Getting nerves_system_bbb (Hex package)93* Getting nerves_system_mangopi_mq_pro (Hex package)94* Getting nerves_system_qemu_aarch64 (Hex package)95* Getting nerves_system_rpi0 (Hex package)96* Getting nerves_system_rpi4 (Hex package)97* Getting nerves_system_rpi5 (Hex package)98* Getting nerves_system_trellis (Hex package)99* Getting nerves_system_x86_64 (Hex package)100* Getting nerves_system_br (Hex package)101* Getting nerves_toolchain_x86_64_nerves_linux_musl (Hex package)102* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)103* Getting nerves_toolchain_aarch64_nerves_linux_gnu (Hex package)104* Getting nerves_toolchain_armv6_nerves_linux_gnueabihf (Hex package)105* Getting nerves_toolchain_riscv64_nerves_linux_gnu (Hex package)106* Getting nerves_logging (Hex package)107* Getting nerves_uevent (Hex package)108* Getting uboot_env (Hex package)109* Getting elixir_make (Hex package)110* Getting property_table (Hex package)111* Getting circular_buffer (Hex package)112* Getting interactive_cmd (Hex package)113* Getting nerves_discovery (Hex package)114* Getting tablet (Hex package)115* Getting ecto_sql (Hex package)116* Getting esbuild (Hex package)117* Getting gettext (Hex package)118* Getting humo (Hex package)119* Getting humo_account (Hex package)120* Getting jason (Hex package)121* Getting phoenix (Hex package)122* Getting phoenix_ecto (Hex package)123* Getting phoenix_html (Hex package)124* Getting phoenix_live_dashboard (Hex package)125* Getting plug_cowboy (Hex package)126* Getting postgrex (Hex package)127* Getting telemetry_metrics (Hex package)128* Getting telemetry_poller (Hex package)129* Getting telemetry (Hex package)130* Getting db_connection (Hex package)131* Getting decimal (Hex package)132* Getting cowboy (Hex package)133* Getting cowboy_telemetry (Hex package)134* Getting plug (Hex package)135* Getting mime (Hex package)136* Getting plug_crypto (Hex package)137* Getting cowlib (Hex package)138* Getting ranch (Hex package)139* Getting phoenix_live_view (Hex package)140* Getting phoenix_template (Hex package)141* Getting ecto (Hex package)142* Getting castore (Hex package)143* Getting phoenix_pubsub (Hex package)144* Getting phoenix_view (Hex package)145* Getting bamboo (Hex package)146* Getting bamboo_smtp (Hex package)147* Getting bcrypt_elixir (Hex package)148* Getting comeonin (Hex package)149* Getting gen_smtp (Hex package)150* Getting hackney (Hex package)151* Getting certifi (Hex package)152* Getting h2 (Hex package)153* Getting idna (Hex package)154* Getting mimerl (Hex package)155* Getting parse_trans (Hex package)156* Getting quic (Hex package)157* Getting ssl_verify_fun (Hex package)158* Getting webtransport (Hex package)159* Getting file_system (Hex package)160* Getting expo (Hex package)161Found packages with security advisories, see above for details162You have added/upgraded packages you could sponsor, run `mix hex.sponsor` to learn more163==> file_system164Compiling 7 files (.ex)165    warning: using single-quoted strings to represent charlists is deprecated.166    Use ~c"" if you indeed want a charlist or use "" instead.167    You may run "mix format --migrate" to change all single-quoted168    strings to use the ~c sigil and fix this warning.169    │170 71 │           '-e', 'modify', '-e', 'close_write', '-e', 'moved_to', '-e', 'moved_from',171    │           ~172    │173    └─ lib/file_system/backends/fs_inotify.ex:71:11174175    warning: using single-quoted strings to represent charlists is deprecated.176    Use ~c"" if you indeed want a charlist or use "" instead.177    You may run "mix format --migrate" to change all single-quoted178    strings to use the ~c sigil and fix this warning.179    │180 71 │           '-e', 'modify', '-e', 'close_write', '-e', 'moved_to', '-e', 'moved_from',181    │                 ~182    │183    └─ lib/file_system/backends/fs_inotify.ex:71:17184185    warning: using single-quoted strings to represent charlists is deprecated.186    Use ~c"" if you indeed want a charlist or use "" instead.187    You may run "mix format --migrate" to change all single-quoted188    strings to use the ~c sigil and fix this warning.189    │190 71 │           '-e', 'modify', '-e', 'close_write', '-e', 'moved_to', '-e', 'moved_from',191    │                           ~192    │193    └─ lib/file_system/backends/fs_inotify.ex:71:27194195    warning: using single-quoted strings to represent charlists is deprecated.196    Use ~c"" if you indeed want a charlist or use "" instead.197    You may run "mix format --migrate" to change all single-quoted198    strings to use the ~c sigil and fix this warning.199    │200 71 │           '-e', 'modify', '-e', 'close_write', '-e', 'moved_to', '-e', 'moved_from',201    │                                 ~202    │203    └─ lib/file_system/backends/fs_inotify.ex:71:33204205    warning: using single-quoted strings to represent charlists is deprecated.206    Use ~c"" if you indeed want a charlist or use "" instead.207    You may run "mix format --migrate" to change all single-quoted208    strings to use the ~c sigil and fix this warning.209    │210 71 │           '-e', 'modify', '-e', 'close_write', '-e', 'moved_to', '-e', 'moved_from',211    │                                                ~212    │213    └─ lib/file_system/backends/fs_inotify.ex:71:48214215    warning: using single-quoted strings to represent charlists is deprecated.216    Use ~c"" if you indeed want a charlist or use "" instead.217    You may run "mix format --migrate" to change all single-quoted218    strings to use the ~c sigil and fix this warning.219    │220 71 │           '-e', 'modify', '-e', 'close_write', '-e', 'moved_to', '-e', 'moved_from',221    │                                                      ~222    │223    └─ lib/file_system/backends/fs_inotify.ex:71:54224225    warning: using single-quoted strings to represent charlists is deprecated.226    Use ~c"" if you indeed want a charlist or use "" instead.227    You may run "mix format --migrate" to change all single-quoted228    strings to use the ~c sigil and fix this warning.229    │230 71 │           '-e', 'modify', '-e', 'close_write', '-e', 'moved_to', '-e', 'moved_from',231    │                                                                  ~232    │233    └─ lib/file_system/backends/fs_inotify.ex:71:66234235    warning: using single-quoted strings to represent charlists is deprecated.236    Use ~c"" if you indeed want a charlist or use "" instead.237    You may run "mix format --migrate" to change all single-quoted238    strings to use the ~c sigil and fix this warning.239    │240 71 │           '-e', 'modify', '-e', 'close_write', '-e', 'moved_to', '-e', 'moved_from',241    │                                                                        ~242    │243    └─ lib/file_system/backends/fs_inotify.ex:71:72244245    warning: using single-quoted strings to represent charlists is deprecated.246    Use ~c"" if you indeed want a charlist or use "" instead.247    You may run "mix format --migrate" to change all single-quoted248    strings to use the ~c sigil and fix this warning.249    │250 72 │           '-e', 'create', '-e', 'delete', '-e', 'attrib', '--format', format, '--quiet', '-m', '-r'251    │           ~252    │253    └─ lib/file_system/backends/fs_inotify.ex:72:11254255    warning: using single-quoted strings to represent charlists is deprecated.256    Use ~c"" if you indeed want a charlist or use "" instead.257    You may run "mix format --migrate" to change all single-quoted258    strings to use the ~c sigil and fix this warning.259    │260 72 │           '-e', 'create', '-e', 'delete', '-e', 'attrib', '--format', format, '--quiet', '-m', '-r'261    │                 ~262    │263    └─ lib/file_system/backends/fs_inotify.ex:72:17264265    warning: using single-quoted strings to represent charlists is deprecated.266    Use ~c"" if you indeed want a charlist or use "" instead.267    You may run "mix format --migrate" to change all single-quoted268    strings to use the ~c sigil and fix this warning.269    │270 72 │           '-e', 'create', '-e', 'delete', '-e', 'attrib', '--format', format, '--quiet', '-m', '-r'271    │                           ~272    │273    └─ lib/file_system/backends/fs_inotify.ex:72:27274275    warning: using single-quoted strings to represent charlists is deprecated.276    Use ~c"" if you indeed want a charlist or use "" instead.277    You may run "mix format --migrate" to change all single-quoted278    strings to use the ~c sigil and fix this warning.279    │280 72 │           '-e', 'create', '-e', 'delete', '-e', 'attrib', '--format', format, '--quiet', '-m', '-r'281    │                                 ~282    │283    └─ lib/file_system/backends/fs_inotify.ex:72:33284285    warning: using single-quoted strings to represent charlists is deprecated.286    Use ~c"" if you indeed want a charlist or use "" instead.287    You may run "mix format --migrate" to change all single-quoted288    strings to use the ~c sigil and fix this warning.289    │290 72 │           '-e', 'create', '-e', 'delete', '-e', 'attrib', '--format', format, '--quiet', '-m', '-r'291    │                                           ~292    │293    └─ lib/file_system/backends/fs_inotify.ex:72:43294295    warning: using single-quoted strings to represent charlists is deprecated.296    Use ~c"" if you indeed want a charlist or use "" instead.297    You may run "mix format --migrate" to change all single-quoted298    strings to use the ~c sigil and fix this warning.299    │300 72 │           '-e', 'create', '-e', 'delete', '-e', 'attrib', '--format', format, '--quiet', '-m', '-r'301    │                                                 ~302    │303    └─ lib/file_system/backends/fs_inotify.ex:72:49304305    warning: using single-quoted strings to represent charlists is deprecated.306    Use ~c"" if you indeed want a charlist or use "" instead.307    You may run "mix format --migrate" to change all single-quoted308    strings to use the ~c sigil and fix this warning.309    │310 72 │           '-e', 'create', '-e', 'delete', '-e', 'attrib', '--format', format, '--quiet', '-m', '-r'311    │                                                           ~312    │313    └─ lib/file_system/backends/fs_inotify.ex:72:59314315    warning: using single-quoted strings to represent charlists is deprecated.316    Use ~c"" if you indeed want a charlist or use "" instead.317    You may run "mix format --migrate" to change all single-quoted318    strings to use the ~c sigil and fix this warning.319    │320 72 │           '-e', 'create', '-e', 'delete', '-e', 'attrib', '--format', format, '--quiet', '-m', '-r'321    │                                                                               ~322    │323    └─ lib/file_system/backends/fs_inotify.ex:72:79324325    warning: using single-quoted strings to represent charlists is deprecated.326    Use ~c"" if you indeed want a charlist or use "" instead.327    You may run "mix format --migrate" to change all single-quoted328    strings to use the ~c sigil and fix this warning.329    │330 72 │           '-e', 'create', '-e', 'delete', '-e', 'attrib', '--format', format, '--quiet', '-m', '-r'331    │                                                                                          ~332    │333    └─ lib/file_system/backends/fs_inotify.ex:72:90334335    warning: using single-quoted strings to represent charlists is deprecated.336    Use ~c"" if you indeed want a charlist or use "" instead.337    You may run "mix format --migrate" to change all single-quoted338    strings to use the ~c sigil and fix this warning.339    │340 72 │           '-e', 'create', '-e', 'delete', '-e', 'attrib', '--format', format, '--quiet', '-m', '-r'341    │                                                                                                ~342    │343    └─ lib/file_system/backends/fs_inotify.ex:72:96344345    warning: using single-quoted strings to represent charlists is deprecated.346    Use ~c"" if you indeed want a charlist or use "" instead.347    You may run "mix format --migrate" to change all single-quoted348    strings to use the ~c sigil and fix this warning.349    │350 84 │     parse_options(t, result -- ['-r'])351    │                                 ~352    │353    └─ lib/file_system/backends/fs_inotify.ex:84:33354355     warning: using single-quoted strings to represent charlists is deprecated.356     Use ~c"" if you indeed want a charlist or use "" instead.357     You may run "mix format --migrate" to change all single-quoted358     strings to use the ~c sigil and fix this warning.359     │360 104 │         bash_args = ['-c', '#{executable_path()} "$0" "$@" & PID=$!; read a; kill -KILL $PID']361     │                      ~362     │363     └─ lib/file_system/backends/fs_inotify.ex:104:22364365     warning: using single-quoted strings to represent charlists is deprecated.366     Use ~c"" if you indeed want a charlist or use "" instead.367     You may run "mix format --migrate" to change all single-quoted368     strings to use the ~c sigil and fix this warning.369     │370 104 │         bash_args = ['-c', '#{executable_path()} "$0" "$@" & PID=$!; read a; kill -KILL $PID']371     │                            ~372     │373     └─ lib/file_system/backends/fs_inotify.ex:104:28374375     warning: using single-quoted strings to represent charlists is deprecated.376     Use ~c"" if you indeed want a charlist or use "" instead.377     You may run "mix format --migrate" to change all single-quoted378     strings to use the ~c sigil and fix this warning.379     │380 109 │               bash_args ++ ['--'] ++ port_args381     │                             ~382     │383     └─ lib/file_system/backends/fs_inotify.ex:109:29384385     warning: using single-quoted strings to represent charlists is deprecated.386     Use ~c"" if you indeed want a charlist or use "" instead.387     You may run "mix format --migrate" to change all single-quoted388     strings to use the ~c sigil and fix this warning.389     │390 116 │           {:spawn_executable, '/bin/sh'},391     │                               ~392     │393     └─ lib/file_system/backends/fs_inotify.ex:116:31394395    warning: using single-quoted strings to represent charlists is deprecated.396    Use ~c"" if you indeed want a charlist or use "" instead.397    You may run "mix format --migrate" to change all single-quoted398    strings to use the ~c sigil and fix this warning.399    │400 94 │         args = ['-F' | dirs |> Enum.map(&Path.absname/1) |> Enum.map(&to_charlist/1)]401    │                 ~402    │403    └─ lib/file_system/backends/fs_mac.ex:94:17404405     warning: using single-quoted strings to represent charlists is deprecated.406     Use ~c"" if you indeed want a charlist or use "" instead.407     You may run "mix format --migrate" to change all single-quoted408     strings to use the ~c sigil and fix this warning.409     │410 103 │         ['--latency=#{latency / 1}' | result]411     │          ~412     │413     └─ lib/file_system/backends/fs_mac.ex:103:10414415     warning: using single-quoted strings to represent charlists is deprecated.416     Use ~c"" if you indeed want a charlist or use "" instead.417     You may run "mix format --migrate" to change all single-quoted418     strings to use the ~c sigil and fix this warning.419     │420 111 │     parse_options(t, ['--no-defer' | result])421     │                       ~422     │423     └─ lib/file_system/backends/fs_mac.ex:111:23424425     warning: using single-quoted strings to represent charlists is deprecated.426     Use ~c"" if you indeed want a charlist or use "" instead.427     You may run "mix format --migrate" to change all single-quoted428     strings to use the ~c sigil and fix this warning.429     │430 121 │     parse_options(t, ['--with-root' | result])431     │                       ~432     │433     └─ lib/file_system/backends/fs_mac.ex:121:23434435    warning: using single-quoted strings to represent charlists is deprecated.436    Use ~c"" if you indeed want a charlist or use "" instead.437    You may run "mix format --migrate" to change all single-quoted438    strings to use the ~c sigil and fix this warning.439    │440 83 │           '--format', format, '--quiet', '-m', '-r'441    │           ~442    │443    └─ lib/file_system/backends/fs_windows.ex:83:11444445    warning: using single-quoted strings to represent charlists is deprecated.446    Use ~c"" if you indeed want a charlist or use "" instead.447    You may run "mix format --migrate" to change all single-quoted448    strings to use the ~c sigil and fix this warning.449    │450 83 │           '--format', format, '--quiet', '-m', '-r'451    │                               ~452    │453    └─ lib/file_system/backends/fs_windows.ex:83:31454455    warning: using single-quoted strings to represent charlists is deprecated.456    Use ~c"" if you indeed want a charlist or use "" instead.457    You may run "mix format --migrate" to change all single-quoted458    strings to use the ~c sigil and fix this warning.459    │460 83 │           '--format', format, '--quiet', '-m', '-r'461    │                                          ~462    │463    └─ lib/file_system/backends/fs_windows.ex:83:42464465    warning: using single-quoted strings to represent charlists is deprecated.466    Use ~c"" if you indeed want a charlist or use "" instead.467    You may run "mix format --migrate" to change all single-quoted468    strings to use the ~c sigil and fix this warning.469    │470 83 │           '--format', format, '--quiet', '-m', '-r'471    │                                                ~472    │473    └─ lib/file_system/backends/fs_windows.ex:83:48474475    warning: using single-quoted strings to represent charlists is deprecated.476    Use ~c"" if you indeed want a charlist or use "" instead.477    You may run "mix format --migrate" to change all single-quoted478    strings to use the ~c sigil and fix this warning.479    │480 95 │     parse_options(t, result -- ['-r'])481    │                                 ~482    │483    └─ lib/file_system/backends/fs_windows.ex:95:33484485    warning: expected a map or struct when accessing .bootstrap in expression:486487        module.bootstrap488489    where "module" was given the type:490491        # type: dynamic(atom())492        # from: lib/file_system/backend.ex:22:17493        validate_os(backend, module)494495    hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()496497    type warning found at:498    │499 23 │          :ok <- module.bootstrap500    │                        ~501    │502    └─ lib/file_system/backend.ex:23:24: FileSystem.Backend.backend/1503504Generated file_system app505==> mime506Compiling 2 files (.ex)507Generated mime app508==> nerves_compatibility_test509===> Analyzing applications...510===> Compiling gen_smtp511     ┌─ src/gen_smtp_server_session.erl:512     │513 265 │  		case catch Module:code_change(OldVsn, State#state.callbackstate, Extra) of514     │  		     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.515Compile directive 'nowarn_deprecated_catch' can be used to suppress516warnings in selected modules.517518     ┌─ src/gen_smtp_server_session.erl:519     │520 389 │  							crypto:start(), % ensure crypto is started, we're gonna need it521     │  							╰── Warning: crypto:start/0 is deprecated; use application:start(crypto) instead522523524     ┌─ src/gen_smtp_server.erl:525     │526 225 │  	lists:foreach(fun(#listener{socket=S}) -> catch smtp_socket:close(S) end, State#state.listeners),527     │  	                                          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.528Compile directive 'nowarn_deprecated_catch' can be used to suppress529warnings in selected modules.530531532     ┌─ src/gen_smtp_client.erl:533     │534 620 │  			case catch smtp_socket:to_ssl_client(Socket, proplists:get_value(tls_options, Options, []), 5000) of535     │  			     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.536Compile directive 'nowarn_deprecated_catch' can be used to suppress537warnings in selected modules.538539540    ┌─ src/gen_smtp_application.erl:541    │542 12 │  start_ok(_App, {error, {already_started, _App}}) -> ok;543    │           ╰── Warning: variable '_App' is bound multiple times in this pattern.544If you mean to ignore this value, use '_' or545a different underscore-prefixed name546547    ┌─ src/gen_smtp_application.erl:548    │549 12 │  start_ok(_App, {error, {already_started, _App}}) -> ok;550    │                                           ╰── Warning: variable '_App' is bound multiple times in this pattern.551If you mean to ignore this value, use '_' or552a different underscore-prefixed name553554555    ┌─ src/smtp_util.erl:556    │557 73 │  	Bin = crypto:hmac(md5, Key, Data),558    │  	      ╰── Warning: crypto:hmac/3 is removed; use crypto:mac/4 instead559560561==> plug_crypto562Compiling 5 files (.ex)563Generated plug_crypto app564==> nerves_compatibility_test565===> Analyzing applications...566===> Compiling cowlib567==> esbuild568Compiling 4 files (.ex)569Generated esbuild app570==> telemetry_metrics571Compiling 7 files (.ex)572     warning: unused require Logger573     │574 391 │   require Logger575     │   ~576     │577     └─ lib/telemetry_metrics.ex:391:3578579Generated telemetry_metrics app580==> nerves_compatibility_test581===> Analyzing applications...582===> Compiling telemetry_poller583===> Analyzing applications...584===> Compiling cowboy585==> gettext586Compiling 18 files (.ex)587     warning: unused require Gettext.Macros588     │589 594 │   require Gettext.Macros590     │   ~591     │592     └─ lib/gettext.ex:594:3593594     warning: Kernel.ParallelCompiler.async/1 is deprecated. Use `pmap/2` instead595     │596 426 │               Kernel.ParallelCompiler.async(fn ->597     │                                       ~598     │599     └─ lib/gettext/compiler.ex:426:39: Gettext.Compiler.compile_po_files/3600601     warning: the following clause is redundant:602603         defp ensure_empty_msgstr!(%Expo.Message.Plural{} = message)604605     it has type:606607         dynamic(%Expo.Message.Plural{})608609     previous clauses have already matched on the following types:610611         %Expo.Message.Singular{}612         %Expo.Message.Plural{}613614     │615 391 │   defp ensure_empty_msgstr!(%Message.Plural{} = message) do616     │        ~617     │618     └─ lib/gettext/extractor.ex:391:8: Gettext.Extractor.ensure_empty_msgstr!/1619620Generated gettext app621==> plug622Compiling 1 file (.erl)623Compiling 42 files (.ex)624Generated plug app625==> phoenix_html626Compiling 9 files (.ex)627    warning: comparison between distinct types found:628629        id == nil630631    given types:632633        dynamic(not false and not nil and not binary()) == nil634635    where "id" was given the types:636637        # type: dynamic(not false and not nil)638        # from: lib/phoenix_html/form_data.ex:92:8639        id = Keyword.get(opts, :id) || name640641        # type: dynamic(not false and not nil and not binary())642        # from: lib/phoenix_html/form_data.ex:94:12643        is_binary(id)644645    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 false646647    type warning found at:648    │649 94 │     unless is_binary(id) or is_nil(id) do650    │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~651    │652    └─ lib/phoenix_html/form_data.ex:94: Phoenix.HTML.FormData.Atom.to_form/2653654    warning: the 1st pattern in clause will never match:655656        60657658    because it is expected to receive type:659660        dynamic(empty_list() or non_empty_list(term(), term()))661662    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())663664    type warning found at:665    │666 56 │   def to_iodata(?<), do: "&lt;"667    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~668    │669    └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/1670671    warning: the 1st pattern in clause will never match:672673        62674675    because it is expected to receive type:676677        dynamic(empty_list() or non_empty_list(term(), term()))678679    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())680681    type warning found at:682    │683 57 │   def to_iodata(?>), do: "&gt;"684    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~685    │686    └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/1687688    warning: the 1st pattern in clause will never match:689690        38691692    because it is expected to receive type:693694        dynamic(empty_list() or non_empty_list(term(), term()))695696    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())697698    type warning found at:699    │700 58 │   def to_iodata(?&), do: "&amp;"701    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~702    │703    └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/1704705    warning: the 1st pattern in clause will never match:706707        34708709    because it is expected to receive type:710711        dynamic(empty_list() or non_empty_list(term(), term()))712713    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())714715    type warning found at:716    │717 59 │   def to_iodata(?"), do: "&quot;"718    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~719    │720    └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/1721722    warning: the 1st pattern in clause will never match:723724        39725726    because it is expected to receive type:727728        dynamic(empty_list() or non_empty_list(term(), term()))729730    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())731732    type warning found at:733    │734 60 │   def to_iodata(?'), do: "&#39;"735    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~736    │737    └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/1738739    warning: the 1st pattern in clause will never match:740741        {:safe, data}742743    because it is expected to receive type:744745        dynamic(empty_list() or non_empty_list(term(), term()))746747    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())748749    type warning found at:750    │751 76 │   def to_iodata({:safe, data}) do752    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~753    │754    └─ lib/phoenix_html/safe.ex:76: Phoenix.HTML.Safe.List.to_iodata/1755756    warning: the following clause is redundant:757758        def to_iodata(other)759760    it has type:761762        dynamic(empty_list() or non_empty_list(term(), term()))763764    previous clauses have already matched on the following types:765766        non_empty_list(term(), term())767        empty_list()768769    │770 80 │   def to_iodata(other) do771    │       ~772    │773    └─ lib/phoenix_html/safe.ex:80:7: Phoenix.HTML.Safe.List.to_iodata/1774775    warning: the 1st pattern in clause will never match:776777        h778779    because it is expected to receive type:780781        dynamic(empty_list() or non_empty_list(term(), term()))782783    where "h" was given the type:784785        # type: integer()786        # from: lib/phoenix_html/safe.ex:62:25787        is_integer(h)788789    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())790791    type warning found at:792    │793 62 │   def to_iodata(h) when is_integer(h) and h <= 255 do794    │                 ~795    │796    └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/1797798    warning: the 1st pattern in clause will never match:799800        h801802    because it is expected to receive type:803804        dynamic(empty_list() or non_empty_list(term(), term()))805806    where "h" was given the type:807808        # type: integer()809        # from: lib/phoenix_html/safe.ex:66:25810        is_integer(h)811812    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())813814    type warning found at:815    │816 66 │   def to_iodata(h) when is_integer(h) do817    │                 ~818    │819    └─ lib/phoenix_html/safe.ex:66:17: Phoenix.HTML.Safe.List.to_iodata/1820821    warning: the 1st pattern in clause will never match:822823        h824825    because it is expected to receive type:826827        dynamic(empty_list() or non_empty_list(term(), term()))828829    where "h" was given the type:830831        # type: binary()832        # from: lib/phoenix_html/safe.ex:72:25833        is_binary(h)834835    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())836837    type warning found at:838    │839 72 │   def to_iodata(h) when is_binary(h) do840    │                 ~841    │842    └─ lib/phoenix_html/safe.ex:72:17: Phoenix.HTML.Safe.List.to_iodata/1843844Generated phoenix_html app845==> phoenix_template846Compiling 4 files (.ex)847Generated phoenix_template app848==> phoenix_view849Compiling 1 file (.ex)850     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 operator851     │852 655 │       <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix853     │                             ~854     │855     └─ lib/phoenix_view.ex:655:29: Phoenix.View.unsuffix/2856857Generated phoenix_view app858warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"859  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2860  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1861  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5862  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2863  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4864  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2865866==> phoenix_ecto867Compiling 7 files (.ex)868Generated phoenix_ecto app869==> nerves_compatibility_test870===> Analyzing applications...871===> Compiling cowboy_telemetry872==> plug_cowboy873Compiling 5 files (.ex)874Generated plug_cowboy app875warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"876  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2877  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1878  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5879  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2880  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4881  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2882883==> phoenix884Compiling 69 files (.ex)885     warning: using single-quoted strings to represent charlists is deprecated.886     Use ~c"" if you indeed want a charlist or use "" instead.887     You may run "mix format --migrate" to change all single-quoted888     strings to use the ~c sigil and fix this warning.889     │890 258 │           notBefore: {:utcTime, '#{not_before}000000Z'},891     │                                 ~892     │893     └─ lib/mix/tasks/phx.gen.cert.ex:258:33894895     warning: using single-quoted strings to represent charlists is deprecated.896     Use ~c"" if you indeed want a charlist or use "" instead.897     You may run "mix format --migrate" to change all single-quoted898     strings to use the ~c sigil and fix this warning.899     │900 259 │           notAfter: {:utcTime, '#{not_after}000000Z'}901     │                                ~902     │903     └─ lib/mix/tasks/phx.gen.cert.ex:259:32904905    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead906    │907 50 │             Logger.warn(908    │                    ~909    │910    └─ lib/phoenix/code_reloader/server.ex:50:20: Phoenix.CodeReloader.Server.handle_call/3911912    warning: unused require Logger913    │914  9 │   require Logger915    │   ~916    │917    └─ lib/phoenix/config.ex:9:3918919     warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.920921     This error happens when you have function calls without parentheses inside keywords. For example:922923         function(arg, one: nested_call a, b, c)924         function(arg, one: if expr, do: :this, else: :that)925926     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:927928         function(arg, one: if(expr, do: :this, else: :that))929         function(arg, one: nested_call(a, b, c))930931     Ambiguity found at:932     │933 998 │   defp get_disposition_type(other), do: raise ArgumentError, "expected :disposition to be :attachment or :inline, got: #{inspect(other)}"934     │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~935     │936     └─ lib/phoenix/controller.ex:998937938     warning: unused require Logger939     │940 259 │   require Logger941     │   ~942     │943     └─ lib/phoenix/endpoint.ex:259:3944945      warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead946      │947 1009 │       Logger.warn "send_download/3 has been invoked during an AJAX request. " <>948      │              ~949      │950      └─ lib/phoenix/controller.ex:1009:14: Phoenix.Controller.warn_if_ajax/1951952    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead953    │954 34 │             Logger.warn("no configuration found for otp_app #{inspect(otp_app)} and module #{inspect(mod)}")955    │                    ~956    │957    └─ lib/phoenix/endpoint/supervisor.ex:34:20: Phoenix.Endpoint.Supervisor.init/1958959    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead960    │961 57 │       Logger.warn(":instrumenters configuration for #{inspect(mod)} is deprecated and has no effect")962    │              ~963    │964    └─ lib/phoenix/endpoint/supervisor.ex:57:14: Phoenix.Endpoint.Supervisor.init/1965966    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead967    │968 78 │       Logger.warn """969    │              ~970    │971    └─ lib/phoenix/endpoint/supervisor.ex:78:14: Phoenix.Endpoint.Supervisor.pubsub_children/2972973     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead974     │975 264 │       Logger.warn("url: [host: ...] configuration value #{inspect(host)} for #{inspect(endpoint)} is invalid")976     │              ~977     │978     └─ lib/phoenix/endpoint/supervisor.ex:264:14: Phoenix.Endpoint.Supervisor.build_url/2979980    warning: unused require Phoenix.Endpoint981    │982  6 │   require Phoenix.Endpoint983    │   ~984    │985    └─ lib/phoenix/controller.ex:6:3986987    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 operator988    │989 46 │       <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix990    │                             ~991    │992    └─ lib/phoenix/naming.ex:46:29: Phoenix.Naming.unsuffix/2993994    warning: unused require Phoenix.Endpoint995    │996 19 │   require Phoenix.Endpoint997    │   ~998    │999    └─ lib/phoenix/endpoint/render_errors.ex:19:310001001    warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.10021003    This error happens when you have function calls without parentheses inside keywords. For example:10041005        function(arg, one: nested_call a, b, c)1006        function(arg, one: if expr, do: :this, else: :that)10071008    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:10091010        function(arg, one: if(expr, do: :this, else: :that))1011        function(arg, one: nested_call(a, b, c))10121013    Ambiguity found at:1014    │1015 71 │     unless actions -- supported_actions == [], do: raise ArgumentError, """1016    │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1017    │1018    └─ lib/phoenix/router/resource.ex:7110191020     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1021     │1022 653 │         Logger.warn fn -> "Ignoring unmatched topic \"#{topic}\" in #{inspect(socket.handler)}" end1023     │                ~1024     │1025     └─ lib/phoenix/socket.ex:653:16: Phoenix.Socket.handle_in/410261027    warning: unused require Phoenix.Endpoint1028    │1029  6 │   require Phoenix.Endpoint1030    │   ~1031    │1032    └─ lib/phoenix/channel/server.ex:6:310331034     warning: unused require Phoenix.Endpoint1035     │1036 192 │   require Phoenix.Endpoint1037     │   ~1038     │1039     └─ lib/phoenix/socket.ex:192:310401041    warning: unused require Logger1042    │1043 93 │   require Logger1044    │   ~1045    │1046    └─ lib/phoenix/token.ex:93:310471048     warning: comparison between distinct types found:10491050         merge_all != []10511052     given types:10531054         dynamic(non_empty_list({atom(), term()})) != empty_list()10551056     where "merge_all" was given the type:10571058         # type: dynamic(non_empty_list({atom(), term()}))1059         # from: lib/phoenix/router/route.ex:111:151060         merge_all = merge_params ++ merge_private ++ merge_assigns10611062     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 false10631064     type warning found at:1065     │1066 113 │     if merge_all != [] do1067     │                  ~1068     │1069     └─ lib/phoenix/router/route.ex:113:18: Phoenix.Router.Route.build_prepare/110701071    warning: a struct for Plug.Conn is expected on struct update:10721073        %Plug.Conn{conn | state: :sent}10741075    but got type:10761077        dynamic()10781079    where "conn" was given the type:10801081        # type: dynamic()1082        # from: lib/phoenix/endpoint/render_errors.ex:57:171083        conn10841085    when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"10861087    type warning found at:1088    │1089 61 │         %Plug.Conn{conn | state: :sent}1090    │         ~1091    │1092    └─ lib/phoenix/endpoint/render_errors.ex:61:9: Phoenix.Endpoint.RenderErrors.__catch__/510931094     warning: a struct for Plug.Conn is expected on struct update:10951096         %Plug.Conn{conn | query_params: %{}, params: %{}}10971098     but got type:10991100         dynamic(%{..., params: %Plug.Conn.Unfetched{}})11011102     where "conn" was given the types:11031104         # type: dynamic(%{..., params: term()})1105         # from: lib/phoenix/endpoint/render_errors.ex:124:171106         conn.params11071108         # type: dynamic(%{..., params: %Plug.Conn.Unfetched{}})1109         # from: lib/phoenix/endpoint/render_errors.ex:124:171110         conn.params11111112     when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"11131114     type warning found at:1115     │1116 125 │         %Plug.Conn.Unfetched{} -> %Plug.Conn{conn | query_params: %{}, params: %{}}1117     │                                   ~1118     │1119     └─ lib/phoenix/endpoint/render_errors.ex:125:35: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/111201121     warning: a struct for Plug.Conn is expected on struct update:11221123         %Plug.Conn{conn | query_params: %{}, params: params}11241125     but got type:11261127         dynamic(%{..., params: not %Plug.Conn.Unfetched{}})11281129     where "conn" was given the types:11301131         # type: dynamic(%{..., params: term()})1132         # from: lib/phoenix/endpoint/render_errors.ex:124:171133         conn.params11341135         # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})1136         # from: lib/phoenix/endpoint/render_errors.ex:124:171137         conn.params11381139     when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"11401141     type warning found at:1142     │1143 126 │         params -> %Plug.Conn{conn | query_params: %{}, params: params}1144     │                   ~1145     │1146     └─ lib/phoenix/endpoint/render_errors.ex:126:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/111471148    warning: incompatible types given to socket_children/1:11491150        socket_children(mod)11511152    given types:11531154        -dynamic(atom())-11551156    but expected one of:11571158        %{..., __sockets__: term()}11591160    where "mod" was given the types:11611162        # type: dynamic(atom() or binary())1163        # from: lib/phoenix/endpoint/supervisor.ex:27:411164        defaults(otp_app, mod)11651166        # type: dynamic(atom())1167        # from: lib/phoenix/endpoint/supervisor.ex:31:161168        mod.init(:supervisor, env_conf)11691170    type warning found at:1171    │1172 67 │       socket_children(mod) ++1173    │       ~1174    │1175    └─ lib/phoenix/endpoint/supervisor.ex:67:7: Phoenix.Endpoint.Supervisor.init/111761177      warning: a struct for Plug.Conn is expected on struct update:11781179          %Plug.Conn{conn | params: params}11801181      but got type:11821183          dynamic(%{..., params: map()})11841185      where "conn" was given the type:11861187          # type: dynamic(%{..., params: map()})1188          # from: lib/phoenix/controller.ex:1036:171189          Map.get(conn.params, required_key)11901191      when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"11921193      type warning found at:1194      │1195 1043 │     %Plug.Conn{conn | params: params}1196      │     ~1197      │1198      └─ lib/phoenix/controller.ex:1043:5: Phoenix.Controller.scrub_params/211991200     warning: expected a module (an atom) when invoking compress_file/2 in expression:12011202         compressor.compress_file(file.digested_filename, file.digested_content)12031204     where "compressor" was given the type:12051206         # type: dynamic(%{..., file_extensions: non_empty_list(term(), term())})1207         # from: lib/phoenix/digester.ex:167:281208         [file_extension | _] = compressor.file_extensions12091210     where "file" was given the type:12111212         # type: dynamic(%{..., relative_path: term()})1213         # from: lib/phoenix/digester.ex:161:171214         Path.join(output_path, file.relative_path)12151216     type warning found at:1217     │1218 170 │              compressor.compress_file(file.digested_filename, file.digested_content) do1219     │                         ~1220     │1221     └─ lib/phoenix/digester.ex:170:25: Phoenix.Digester.write_to_disk/212221223Generated phoenix app1224==> phoenix_live_view1225Compiling 55 files (.ex)1226Generated phoenix_live_view app1227==> phoenix_live_dashboard1228Compiling 36 files (.ex)1229     warning: Postgrex.Interval.to_string/1 is undefined (module Postgrex.Interval is not available or is yet to be defined)1230     │1231 326 │     do: struct.to_string(value)1232     │                ~1233     │1234     └─ lib/phoenix/live_dashboard/pages/ecto_stats_page.ex:326:16: Phoenix.LiveDashboard.EctoStatsPage.format/212351236Generated phoenix_live_dashboard app1237warning: Phoenix now requires you to explicitly list which engine to use1238for Phoenix JSON encoding. We recommend everyone to upgrade to1239Jason by setting in your config/config.exs:12401241    config :phoenix, :json_library, Jason12421243And then adding {:jason, "~> 1.0"} as a dependency.12441245If instead you would rather continue using Poison, then add to1246your config/config.exs:12471248    config :phoenix, :json_library, Poison12491250  (phoenix 1.6.17) lib/phoenix.ex:56: Phoenix.start/21251  (kernel 11.0.4) application_master.erl:299: :application_master.start_it_old/412521253warning: the :gettext compiler is no longer required in your mix.exs.12541255Please find the following line in your mix.exs and remove the :gettext entry:12561257    compilers: [..., :gettext, ...] ++ Mix.compilers(),12581259  (gettext 0.26.2) lib/mix/tasks/compile.gettext.ex:5: Mix.Tasks.Compile.Gettext.run/11260  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51261  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21262  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41263  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/21264  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/512651266==> humo1267Compiling 42 files (.ex)1268    warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.12691270    This error happens when you have function calls without parentheses inside keywords. For example:12711272        function(arg, one: nested_call a, b, c)1273        function(arg, one: if expr, do: :this, else: :that)12741275    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:12761277        function(arg, one: if(expr, do: :this, else: :that))1278        function(arg, one: nested_call(a, b, c))12791280    Ambiguity found at:1281    │1282 47 │         raise ArgumentError,1283    │         ~~~~~~~~~~~~~~~~~~~~1284    │1285    └─ lib/humo/warehouse.ex:4712861287    warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.12881289    This error happens when you have function calls without parentheses inside keywords. For example:12901291        function(arg, one: nested_call a, b, c)1292        function(arg, one: if expr, do: :this, else: :that)12931294    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:12951296        function(arg, one: if(expr, do: :this, else: :that))1297        function(arg, one: nested_call(a, b, c))12981299    Ambiguity found at:1300    │1301 56 │         raise ArgumentError,1302    │         ~~~~~~~~~~~~~~~~~~~~1303    │1304    └─ lib/humo/warehouse.ex:5613051306    warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.13071308    This error happens when you have function calls without parentheses inside keywords. For example:13091310        function(arg, one: nested_call a, b, c)1311        function(arg, one: if expr, do: :this, else: :that)13121313    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:13141315        function(arg, one: if(expr, do: :this, else: :that))1316        function(arg, one: nested_call(a, b, c))13171318    Ambiguity found at:1319    │1320 63 │         raise ArgumentError,1321    │         ~~~~~~~~~~~~~~~~~~~~1322    │1323    └─ lib/humo/warehouse.ex:6313241325    warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.13261327    This error happens when you have function calls without parentheses inside keywords. For example:13281329        function(arg, one: nested_call a, b, c)1330        function(arg, one: if expr, do: :this, else: :that)13311332    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:13331334        function(arg, one: if(expr, do: :this, else: :that))1335        function(arg, one: nested_call(a, b, c))13361337    Ambiguity found at:1338    │1339 72 │         raise ArgumentError,1340    │         ~~~~~~~~~~~~~~~~~~~~1341    │1342    └─ lib/humo/warehouse.ex:7213431344    warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.13451346    This error happens when you have function calls without parentheses inside keywords. For example:13471348        function(arg, one: nested_call a, b, c)1349        function(arg, one: if expr, do: :this, else: :that)13501351    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:13521353        function(arg, one: if(expr, do: :this, else: :that))1354        function(arg, one: nested_call(a, b, c))13551356    Ambiguity found at:1357    │1358 80 │           raise ArgumentError,1359    │           ~~~~~~~~~~~~~~~~~~~~1360    │1361    └─ lib/humo/warehouse.ex:8013621363    warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.13641365    This error happens when you have function calls without parentheses inside keywords. For example:13661367        function(arg, one: nested_call a, b, c)1368        function(arg, one: if expr, do: :this, else: :that)13691370    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:13711372        function(arg, one: if(expr, do: :this, else: :that))1373        function(arg, one: nested_call(a, b, c))13741375    Ambiguity found at:1376    │1377 79 │         unless is_binary(action), do:1378    │         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1379    │1380    └─ lib/humo/warehouse.ex:79138113821383== Compilation error in file lib/humo/repo.ex ==1384** (ArgumentError) could not fetch application environment Humo.Repo for application :humo because the application was not loaded nor configured1385    (elixir 1.20.3) lib/application.ex:642: Application.compile_env!/31386    lib/humo/repo.ex:4: (module)1387could not compile dependency :humo, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile humo --force", update it with "mix deps.update humo" or clean it with "mix deps.clean humo"