humo_account

Build log

host

humo_account 0.1.0 · fail · run humo_account-0.1.0-1790948632956
1312 of 1312 lines
1Resolving Hex dependencies...2Resolution completed in 0.612s3Unchanged: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  idna 7.1.038  interactive_cmd 0.1.439  jason 1.4.540  mime 1.6.041  mimerl 1.5.042  nerves 2.0.0-pre.243  nerves_discovery 0.1.544  nerves_logging 0.2.445  nerves_runtime 0.13.1346  nerves_system_bbb 2.30.247  nerves_system_br 1.34.448  nerves_system_mangopi_mq_pro 0.17.249  nerves_system_qemu_aarch64 0.4.250  nerves_system_rpi0 2.1.251  nerves_system_rpi4 2.1.252  nerves_system_rpi5 2.1.253  nerves_system_trellis 0.5.054  nerves_system_x86_64 1.34.255  nerves_toolchain_aarch64_nerves_linux_gnu 15.3.156  nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.157  nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.158  nerves_toolchain_riscv64_nerves_linux_gnu 15.3.159  nerves_toolchain_x86_64_nerves_linux_musl 15.3.160  nerves_uevent 0.1.761  parse_trans 3.4.262  phoenix 1.6.1763  phoenix_ecto 4.7.064  phoenix_html 3.3.465  phoenix_live_dashboard 0.9.166  phoenix_live_view 1.2.1267  phoenix_pubsub 2.3.068  phoenix_template 1.1.069  phoenix_view 2.0.470  plug 1.20.371  plug_cowboy 2.9.072  plug_crypto 1.2.573  postgrex 0.22.474  property_table 0.3.475  quic 2.1.076  ranch 2.3.077  ring_logger 0.11.778  ssl_verify_fun 1.1.779  tablet 0.3.380  telemetry 1.4.281  telemetry_metrics 0.6.282  telemetry_poller 1.3.083  toolshed 0.5.084  uboot_env 1.0.285  webtransport 0.4.786Found packages with security advisories, see above for details87All dependencies have been fetched88==> file_system89Compiling 7 files (.ex)90    warning: using single-quoted strings to represent charlists is deprecated.91    Use ~c"" if you indeed want a charlist or use "" instead.92    You may run "mix format --migrate" to change all single-quoted93    strings to use the ~c sigil and fix this warning.94    │95 71 │           '-e', 'modify', '-e', 'close_write', '-e', 'moved_to', '-e', 'moved_from',96    │           ~97    │98    └─ lib/file_system/backends/fs_inotify.ex:71:1199100    warning: using single-quoted strings to represent charlists is deprecated.101    Use ~c"" if you indeed want a charlist or use "" instead.102    You may run "mix format --migrate" to change all single-quoted103    strings to use the ~c sigil and fix this warning.104    │105 71 │           '-e', 'modify', '-e', 'close_write', '-e', 'moved_to', '-e', 'moved_from',106    │                 ~107    │108    └─ lib/file_system/backends/fs_inotify.ex:71:17109110    warning: using single-quoted strings to represent charlists is deprecated.111    Use ~c"" if you indeed want a charlist or use "" instead.112    You may run "mix format --migrate" to change all single-quoted113    strings to use the ~c sigil and fix this warning.114    │115 71 │           '-e', 'modify', '-e', 'close_write', '-e', 'moved_to', '-e', 'moved_from',116    │                           ~117    │118    └─ lib/file_system/backends/fs_inotify.ex:71:27119120    warning: using single-quoted strings to represent charlists is deprecated.121    Use ~c"" if you indeed want a charlist or use "" instead.122    You may run "mix format --migrate" to change all single-quoted123    strings to use the ~c sigil and fix this warning.124    │125 71 │           '-e', 'modify', '-e', 'close_write', '-e', 'moved_to', '-e', 'moved_from',126    │                                 ~127    │128    └─ lib/file_system/backends/fs_inotify.ex:71:33129130    warning: using single-quoted strings to represent charlists is deprecated.131    Use ~c"" if you indeed want a charlist or use "" instead.132    You may run "mix format --migrate" to change all single-quoted133    strings to use the ~c sigil and fix this warning.134    │135 71 │           '-e', 'modify', '-e', 'close_write', '-e', 'moved_to', '-e', 'moved_from',136    │                                                ~137    │138    └─ lib/file_system/backends/fs_inotify.ex:71:48139140    warning: using single-quoted strings to represent charlists is deprecated.141    Use ~c"" if you indeed want a charlist or use "" instead.142    You may run "mix format --migrate" to change all single-quoted143    strings to use the ~c sigil and fix this warning.144    │145 71 │           '-e', 'modify', '-e', 'close_write', '-e', 'moved_to', '-e', 'moved_from',146    │                                                      ~147    │148    └─ lib/file_system/backends/fs_inotify.ex:71:54149150    warning: using single-quoted strings to represent charlists is deprecated.151    Use ~c"" if you indeed want a charlist or use "" instead.152    You may run "mix format --migrate" to change all single-quoted153    strings to use the ~c sigil and fix this warning.154    │155 71 │           '-e', 'modify', '-e', 'close_write', '-e', 'moved_to', '-e', 'moved_from',156    │                                                                  ~157    │158    └─ lib/file_system/backends/fs_inotify.ex:71:66159160    warning: using single-quoted strings to represent charlists is deprecated.161    Use ~c"" if you indeed want a charlist or use "" instead.162    You may run "mix format --migrate" to change all single-quoted163    strings to use the ~c sigil and fix this warning.164    │165 71 │           '-e', 'modify', '-e', 'close_write', '-e', 'moved_to', '-e', 'moved_from',166    │                                                                        ~167    │168    └─ lib/file_system/backends/fs_inotify.ex:71:72169170    warning: using single-quoted strings to represent charlists is deprecated.171    Use ~c"" if you indeed want a charlist or use "" instead.172    You may run "mix format --migrate" to change all single-quoted173    strings to use the ~c sigil and fix this warning.174    │175 72 │           '-e', 'create', '-e', 'delete', '-e', 'attrib', '--format', format, '--quiet', '-m', '-r'176    │           ~177    │178    └─ lib/file_system/backends/fs_inotify.ex:72:11179180    warning: using single-quoted strings to represent charlists is deprecated.181    Use ~c"" if you indeed want a charlist or use "" instead.182    You may run "mix format --migrate" to change all single-quoted183    strings to use the ~c sigil and fix this warning.184    │185 72 │           '-e', 'create', '-e', 'delete', '-e', 'attrib', '--format', format, '--quiet', '-m', '-r'186    │                 ~187    │188    └─ lib/file_system/backends/fs_inotify.ex:72:17189190    warning: using single-quoted strings to represent charlists is deprecated.191    Use ~c"" if you indeed want a charlist or use "" instead.192    You may run "mix format --migrate" to change all single-quoted193    strings to use the ~c sigil and fix this warning.194    │195 72 │           '-e', 'create', '-e', 'delete', '-e', 'attrib', '--format', format, '--quiet', '-m', '-r'196    │                           ~197    │198    └─ lib/file_system/backends/fs_inotify.ex:72:27199200    warning: using single-quoted strings to represent charlists is deprecated.201    Use ~c"" if you indeed want a charlist or use "" instead.202    You may run "mix format --migrate" to change all single-quoted203    strings to use the ~c sigil and fix this warning.204    │205 72 │           '-e', 'create', '-e', 'delete', '-e', 'attrib', '--format', format, '--quiet', '-m', '-r'206    │                                 ~207    │208    └─ lib/file_system/backends/fs_inotify.ex:72:33209210    warning: using single-quoted strings to represent charlists is deprecated.211    Use ~c"" if you indeed want a charlist or use "" instead.212    You may run "mix format --migrate" to change all single-quoted213    strings to use the ~c sigil and fix this warning.214    │215 72 │           '-e', 'create', '-e', 'delete', '-e', 'attrib', '--format', format, '--quiet', '-m', '-r'216    │                                           ~217    │218    └─ lib/file_system/backends/fs_inotify.ex:72:43219220    warning: using single-quoted strings to represent charlists is deprecated.221    Use ~c"" if you indeed want a charlist or use "" instead.222    You may run "mix format --migrate" to change all single-quoted223    strings to use the ~c sigil and fix this warning.224    │225 72 │           '-e', 'create', '-e', 'delete', '-e', 'attrib', '--format', format, '--quiet', '-m', '-r'226    │                                                 ~227    │228    └─ lib/file_system/backends/fs_inotify.ex:72:49229230    warning: using single-quoted strings to represent charlists is deprecated.231    Use ~c"" if you indeed want a charlist or use "" instead.232    You may run "mix format --migrate" to change all single-quoted233    strings to use the ~c sigil and fix this warning.234    │235 72 │           '-e', 'create', '-e', 'delete', '-e', 'attrib', '--format', format, '--quiet', '-m', '-r'236    │                                                           ~237    │238    └─ lib/file_system/backends/fs_inotify.ex:72:59239240    warning: using single-quoted strings to represent charlists is deprecated.241    Use ~c"" if you indeed want a charlist or use "" instead.242    You may run "mix format --migrate" to change all single-quoted243    strings to use the ~c sigil and fix this warning.244    │245 72 │           '-e', 'create', '-e', 'delete', '-e', 'attrib', '--format', format, '--quiet', '-m', '-r'246    │                                                                               ~247    │248    └─ lib/file_system/backends/fs_inotify.ex:72:79249250    warning: using single-quoted strings to represent charlists is deprecated.251    Use ~c"" if you indeed want a charlist or use "" instead.252    You may run "mix format --migrate" to change all single-quoted253    strings to use the ~c sigil and fix this warning.254    │255 72 │           '-e', 'create', '-e', 'delete', '-e', 'attrib', '--format', format, '--quiet', '-m', '-r'256    │                                                                                          ~257    │258    └─ lib/file_system/backends/fs_inotify.ex:72:90259260    warning: using single-quoted strings to represent charlists is deprecated.261    Use ~c"" if you indeed want a charlist or use "" instead.262    You may run "mix format --migrate" to change all single-quoted263    strings to use the ~c sigil and fix this warning.264    │265 72 │           '-e', 'create', '-e', 'delete', '-e', 'attrib', '--format', format, '--quiet', '-m', '-r'266    │                                                                                                ~267    │268    └─ lib/file_system/backends/fs_inotify.ex:72:96269270    warning: using single-quoted strings to represent charlists is deprecated.271    Use ~c"" if you indeed want a charlist or use "" instead.272    You may run "mix format --migrate" to change all single-quoted273    strings to use the ~c sigil and fix this warning.274    │275 84 │     parse_options(t, result -- ['-r'])276    │                                 ~277    │278    └─ lib/file_system/backends/fs_inotify.ex:84:33279280     warning: using single-quoted strings to represent charlists is deprecated.281     Use ~c"" if you indeed want a charlist or use "" instead.282     You may run "mix format --migrate" to change all single-quoted283     strings to use the ~c sigil and fix this warning.284     │285 104 │         bash_args = ['-c', '#{executable_path()} "$0" "$@" & PID=$!; read a; kill -KILL $PID']286     │                      ~287     │288     └─ lib/file_system/backends/fs_inotify.ex:104:22289290     warning: using single-quoted strings to represent charlists is deprecated.291     Use ~c"" if you indeed want a charlist or use "" instead.292     You may run "mix format --migrate" to change all single-quoted293     strings to use the ~c sigil and fix this warning.294     │295 104 │         bash_args = ['-c', '#{executable_path()} "$0" "$@" & PID=$!; read a; kill -KILL $PID']296     │                            ~297     │298     └─ lib/file_system/backends/fs_inotify.ex:104:28299300     warning: using single-quoted strings to represent charlists is deprecated.301     Use ~c"" if you indeed want a charlist or use "" instead.302     You may run "mix format --migrate" to change all single-quoted303     strings to use the ~c sigil and fix this warning.304     │305 109 │               bash_args ++ ['--'] ++ port_args306     │                             ~307     │308     └─ lib/file_system/backends/fs_inotify.ex:109:29309310     warning: using single-quoted strings to represent charlists is deprecated.311     Use ~c"" if you indeed want a charlist or use "" instead.312     You may run "mix format --migrate" to change all single-quoted313     strings to use the ~c sigil and fix this warning.314     │315 116 │           {:spawn_executable, '/bin/sh'},316     │                               ~317     │318     └─ lib/file_system/backends/fs_inotify.ex:116:31319320    warning: using single-quoted strings to represent charlists is deprecated.321    Use ~c"" if you indeed want a charlist or use "" instead.322    You may run "mix format --migrate" to change all single-quoted323    strings to use the ~c sigil and fix this warning.324    │325 94 │         args = ['-F' | dirs |> Enum.map(&Path.absname/1) |> Enum.map(&to_charlist/1)]326    │                 ~327    │328    └─ lib/file_system/backends/fs_mac.ex:94:17329330     warning: using single-quoted strings to represent charlists is deprecated.331     Use ~c"" if you indeed want a charlist or use "" instead.332     You may run "mix format --migrate" to change all single-quoted333     strings to use the ~c sigil and fix this warning.334     │335 103 │         ['--latency=#{latency / 1}' | result]336     │          ~337     │338     └─ lib/file_system/backends/fs_mac.ex:103:10339340     warning: using single-quoted strings to represent charlists is deprecated.341     Use ~c"" if you indeed want a charlist or use "" instead.342     You may run "mix format --migrate" to change all single-quoted343     strings to use the ~c sigil and fix this warning.344     │345 111 │     parse_options(t, ['--no-defer' | result])346     │                       ~347     │348     └─ lib/file_system/backends/fs_mac.ex:111:23349350     warning: using single-quoted strings to represent charlists is deprecated.351     Use ~c"" if you indeed want a charlist or use "" instead.352     You may run "mix format --migrate" to change all single-quoted353     strings to use the ~c sigil and fix this warning.354     │355 121 │     parse_options(t, ['--with-root' | result])356     │                       ~357     │358     └─ lib/file_system/backends/fs_mac.ex:121:23359360    warning: using single-quoted strings to represent charlists is deprecated.361    Use ~c"" if you indeed want a charlist or use "" instead.362    You may run "mix format --migrate" to change all single-quoted363    strings to use the ~c sigil and fix this warning.364    │365 83 │           '--format', format, '--quiet', '-m', '-r'366    │           ~367    │368    └─ lib/file_system/backends/fs_windows.ex:83:11369370    warning: using single-quoted strings to represent charlists is deprecated.371    Use ~c"" if you indeed want a charlist or use "" instead.372    You may run "mix format --migrate" to change all single-quoted373    strings to use the ~c sigil and fix this warning.374    │375 83 │           '--format', format, '--quiet', '-m', '-r'376    │                               ~377    │378    └─ lib/file_system/backends/fs_windows.ex:83:31379380    warning: using single-quoted strings to represent charlists is deprecated.381    Use ~c"" if you indeed want a charlist or use "" instead.382    You may run "mix format --migrate" to change all single-quoted383    strings to use the ~c sigil and fix this warning.384    │385 83 │           '--format', format, '--quiet', '-m', '-r'386    │                                          ~387    │388    └─ lib/file_system/backends/fs_windows.ex:83:42389390    warning: using single-quoted strings to represent charlists is deprecated.391    Use ~c"" if you indeed want a charlist or use "" instead.392    You may run "mix format --migrate" to change all single-quoted393    strings to use the ~c sigil and fix this warning.394    │395 83 │           '--format', format, '--quiet', '-m', '-r'396    │                                                ~397    │398    └─ lib/file_system/backends/fs_windows.ex:83:48399400    warning: using single-quoted strings to represent charlists is deprecated.401    Use ~c"" if you indeed want a charlist or use "" instead.402    You may run "mix format --migrate" to change all single-quoted403    strings to use the ~c sigil and fix this warning.404    │405 95 │     parse_options(t, result -- ['-r'])406    │                                 ~407    │408    └─ lib/file_system/backends/fs_windows.ex:95:33409410    warning: expected a map or struct when accessing .bootstrap in expression:411412        module.bootstrap413414    where "module" was given the type:415416        # type: dynamic(atom())417        # from: lib/file_system/backend.ex:22:17418        validate_os(backend, module)419420    hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()421422    type warning found at:423    │424 23 │          :ok <- module.bootstrap425    │                        ~426    │427    └─ lib/file_system/backend.ex:23:24: FileSystem.Backend.backend/1428429Generated file_system app430==> mime431Compiling 2 files (.ex)432Generated mime app433==> nerves_compatibility_test434===> Analyzing applications...435===> Compiling gen_smtp436     ┌─ src/gen_smtp_server_session.erl:437     │438 265 │  		case catch Module:code_change(OldVsn, State#state.callbackstate, Extra) of439     │  		     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.440Compile directive 'nowarn_deprecated_catch' can be used to suppress441warnings in selected modules.442443     ┌─ src/gen_smtp_server_session.erl:444     │445 389 │  							crypto:start(), % ensure crypto is started, we're gonna need it446     │  							╰── Warning: crypto:start/0 is deprecated; use application:start(crypto) instead447448449    ┌─ src/smtp_util.erl:450    │451 73 │  	Bin = crypto:hmac(md5, Key, Data),452    │  	      ╰── Warning: crypto:hmac/3 is removed; use crypto:mac/4 instead453454455     ┌─ src/gen_smtp_client.erl:456     │457 620 │  			case catch smtp_socket:to_ssl_client(Socket, proplists:get_value(tls_options, Options, []), 5000) of458     │  			     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.459Compile directive 'nowarn_deprecated_catch' can be used to suppress460warnings in selected modules.461462463     ┌─ src/gen_smtp_server.erl:464     │465 225 │  	lists:foreach(fun(#listener{socket=S}) -> catch smtp_socket:close(S) end, State#state.listeners),466     │  	                                          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.467Compile directive 'nowarn_deprecated_catch' can be used to suppress468warnings in selected modules.469470471    ┌─ src/gen_smtp_application.erl:472    │473 12 │  start_ok(_App, {error, {already_started, _App}}) -> ok;474    │           ╰── Warning: variable '_App' is bound multiple times in this pattern.475If you mean to ignore this value, use '_' or476a different underscore-prefixed name477478    ┌─ src/gen_smtp_application.erl:479    │480 12 │  start_ok(_App, {error, {already_started, _App}}) -> ok;481    │                                           ╰── Warning: variable '_App' is bound multiple times in this pattern.482If you mean to ignore this value, use '_' or483a different underscore-prefixed name484485486==> plug_crypto487Compiling 5 files (.ex)488Generated plug_crypto app489==> nerves_compatibility_test490===> Analyzing applications...491===> Compiling cowlib492==> esbuild493Compiling 4 files (.ex)494Generated esbuild app495==> telemetry_metrics496Compiling 7 files (.ex)497     warning: unused require Logger498     │499 391 │   require Logger500     │   ~501     │502     └─ lib/telemetry_metrics.ex:391:3503504Generated telemetry_metrics app505==> nerves_compatibility_test506===> Analyzing applications...507===> Compiling telemetry_poller508===> Analyzing applications...509===> Compiling cowboy510==> gettext511Compiling 18 files (.ex)512     warning: unused require Gettext.Macros513     │514 594 │   require Gettext.Macros515     │   ~516     │517     └─ lib/gettext.ex:594:3518519     warning: the following clause is redundant:520521         defp ensure_empty_msgstr!(%Expo.Message.Plural{} = message)522523     it has type:524525         dynamic(%Expo.Message.Plural{})526527     previous clauses have already matched on the following types:528529         %Expo.Message.Singular{}530         %Expo.Message.Plural{}531532     │533 391 │   defp ensure_empty_msgstr!(%Message.Plural{} = message) do534     │        ~535     │536     └─ lib/gettext/extractor.ex:391:8: Gettext.Extractor.ensure_empty_msgstr!/1537538     warning: Kernel.ParallelCompiler.async/1 is deprecated. Use `pmap/2` instead539     │540 426 │               Kernel.ParallelCompiler.async(fn ->541     │                                       ~542     │543     └─ lib/gettext/compiler.ex:426:39: Gettext.Compiler.compile_po_files/3544545Generated gettext app546==> plug547Compiling 1 file (.erl)548Compiling 42 files (.ex)549Generated plug app550==> phoenix_html551Compiling 9 files (.ex)552    warning: comparison between distinct types found:553554        id == nil555556    given types:557558        dynamic(not false and not nil and not binary()) == nil559560    where "id" was given the types:561562        # type: dynamic(not false and not nil)563        # from: lib/phoenix_html/form_data.ex:92:8564        id = Keyword.get(opts, :id) || name565566        # type: dynamic(not false and not nil and not binary())567        # from: lib/phoenix_html/form_data.ex:94:12568        is_binary(id)569570    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 false571572    type warning found at:573    │574 94 │     unless is_binary(id) or is_nil(id) do575    │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~576    │577    └─ lib/phoenix_html/form_data.ex:94: Phoenix.HTML.FormData.Atom.to_form/2578579    warning: the 1st pattern in clause will never match:580581        60582583    because it is expected to receive type:584585        dynamic(empty_list() or non_empty_list(term(), term()))586587    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())588589    type warning found at:590    │591 56 │   def to_iodata(?<), do: "&lt;"592    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~593    │594    └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/1595596    warning: the 1st pattern in clause will never match:597598        62599600    because it is expected to receive type:601602        dynamic(empty_list() or non_empty_list(term(), term()))603604    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())605606    type warning found at:607    │608 57 │   def to_iodata(?>), do: "&gt;"609    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~610    │611    └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/1612613    warning: the 1st pattern in clause will never match:614615        38616617    because it is expected to receive type:618619        dynamic(empty_list() or non_empty_list(term(), term()))620621    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())622623    type warning found at:624    │625 58 │   def to_iodata(?&), do: "&amp;"626    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~627    │628    └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/1629630    warning: the 1st pattern in clause will never match:631632        34633634    because it is expected to receive type:635636        dynamic(empty_list() or non_empty_list(term(), term()))637638    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())639640    type warning found at:641    │642 59 │   def to_iodata(?"), do: "&quot;"643    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~644    │645    └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/1646647    warning: the 1st pattern in clause will never match:648649        39650651    because it is expected to receive type:652653        dynamic(empty_list() or non_empty_list(term(), term()))654655    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())656657    type warning found at:658    │659 60 │   def to_iodata(?'), do: "&#39;"660    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~661    │662    └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/1663664    warning: the 1st pattern in clause will never match:665666        {:safe, data}667668    because it is expected to receive type:669670        dynamic(empty_list() or non_empty_list(term(), term()))671672    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())673674    type warning found at:675    │676 76 │   def to_iodata({:safe, data}) do677    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~678    │679    └─ lib/phoenix_html/safe.ex:76: Phoenix.HTML.Safe.List.to_iodata/1680681    warning: the following clause is redundant:682683        def to_iodata(other)684685    it has type:686687        dynamic(empty_list() or non_empty_list(term(), term()))688689    previous clauses have already matched on the following types:690691        non_empty_list(term(), term())692        empty_list()693694    │695 80 │   def to_iodata(other) do696    │       ~697    │698    └─ lib/phoenix_html/safe.ex:80:7: Phoenix.HTML.Safe.List.to_iodata/1699700    warning: the 1st pattern in clause will never match:701702        h703704    because it is expected to receive type:705706        dynamic(empty_list() or non_empty_list(term(), term()))707708    where "h" was given the type:709710        # type: integer()711        # from: lib/phoenix_html/safe.ex:62:25712        is_integer(h)713714    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())715716    type warning found at:717    │718 62 │   def to_iodata(h) when is_integer(h) and h <= 255 do719    │                 ~720    │721    └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/1722723    warning: the 1st pattern in clause will never match:724725        h726727    because it is expected to receive type:728729        dynamic(empty_list() or non_empty_list(term(), term()))730731    where "h" was given the type:732733        # type: integer()734        # from: lib/phoenix_html/safe.ex:66:25735        is_integer(h)736737    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())738739    type warning found at:740    │741 66 │   def to_iodata(h) when is_integer(h) do742    │                 ~743    │744    └─ lib/phoenix_html/safe.ex:66:17: Phoenix.HTML.Safe.List.to_iodata/1745746    warning: the 1st pattern in clause will never match:747748        h749750    because it is expected to receive type:751752        dynamic(empty_list() or non_empty_list(term(), term()))753754    where "h" was given the type:755756        # type: binary()757        # from: lib/phoenix_html/safe.ex:72:25758        is_binary(h)759760    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())761762    type warning found at:763    │764 72 │   def to_iodata(h) when is_binary(h) do765    │                 ~766    │767    └─ lib/phoenix_html/safe.ex:72:17: Phoenix.HTML.Safe.List.to_iodata/1768769Generated phoenix_html app770==> phoenix_template771Compiling 4 files (.ex)772Generated phoenix_template app773==> phoenix_view774Compiling 1 file (.ex)775     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 operator776     │777 655 │       <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix778     │                             ~779     │780     └─ lib/phoenix_view.ex:655:29: Phoenix.View.unsuffix/2781782Generated phoenix_view app783warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"784  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2785  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1786  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5787  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2788  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4789  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2790791==> phoenix_ecto792Compiling 7 files (.ex)793Generated phoenix_ecto app794==> nerves_compatibility_test795===> Analyzing applications...796===> Compiling cowboy_telemetry797==> plug_cowboy798Compiling 5 files (.ex)799Generated plug_cowboy app800warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"801  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2802  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1803  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5804  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2805  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4806  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2807808==> phoenix809Compiling 69 files (.ex)810     warning: using single-quoted strings to represent charlists is deprecated.811     Use ~c"" if you indeed want a charlist or use "" instead.812     You may run "mix format --migrate" to change all single-quoted813     strings to use the ~c sigil and fix this warning.814     │815 258 │           notBefore: {:utcTime, '#{not_before}000000Z'},816     │                                 ~817     │818     └─ lib/mix/tasks/phx.gen.cert.ex:258:33819820     warning: using single-quoted strings to represent charlists is deprecated.821     Use ~c"" if you indeed want a charlist or use "" instead.822     You may run "mix format --migrate" to change all single-quoted823     strings to use the ~c sigil and fix this warning.824     │825 259 │           notAfter: {:utcTime, '#{not_after}000000Z'}826     │                                ~827     │828     └─ lib/mix/tasks/phx.gen.cert.ex:259:32829830    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead831    │832 50 │             Logger.warn(833    │                    ~834    │835    └─ lib/phoenix/code_reloader/server.ex:50:20: Phoenix.CodeReloader.Server.handle_call/3836837    warning: unused require Logger838    │839  9 │   require Logger840    │   ~841    │842    └─ lib/phoenix/config.ex:9:3843844     warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.845846     This error happens when you have function calls without parentheses inside keywords. For example:847848         function(arg, one: nested_call a, b, c)849         function(arg, one: if expr, do: :this, else: :that)850851     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:852853         function(arg, one: if(expr, do: :this, else: :that))854         function(arg, one: nested_call(a, b, c))855856     Ambiguity found at:857     │858 998 │   defp get_disposition_type(other), do: raise ArgumentError, "expected :disposition to be :attachment or :inline, got: #{inspect(other)}"859     │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~860     │861     └─ lib/phoenix/controller.ex:998862863     warning: unused require Logger864     │865 259 │   require Logger866     │   ~867     │868     └─ lib/phoenix/endpoint.ex:259:3869870      warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead871      │872 1009 │       Logger.warn "send_download/3 has been invoked during an AJAX request. " <>873      │              ~874      │875      └─ lib/phoenix/controller.ex:1009:14: Phoenix.Controller.warn_if_ajax/1876877    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead878    │879 34 │             Logger.warn("no configuration found for otp_app #{inspect(otp_app)} and module #{inspect(mod)}")880    │                    ~881    │882    └─ lib/phoenix/endpoint/supervisor.ex:34:20: Phoenix.Endpoint.Supervisor.init/1883884    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead885    │886 57 │       Logger.warn(":instrumenters configuration for #{inspect(mod)} is deprecated and has no effect")887    │              ~888    │889    └─ lib/phoenix/endpoint/supervisor.ex:57:14: Phoenix.Endpoint.Supervisor.init/1890891    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead892    │893 78 │       Logger.warn """894    │              ~895    │896    └─ lib/phoenix/endpoint/supervisor.ex:78:14: Phoenix.Endpoint.Supervisor.pubsub_children/2897898     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead899     │900 264 │       Logger.warn("url: [host: ...] configuration value #{inspect(host)} for #{inspect(endpoint)} is invalid")901     │              ~902     │903     └─ lib/phoenix/endpoint/supervisor.ex:264:14: Phoenix.Endpoint.Supervisor.build_url/2904905    warning: unused require Phoenix.Endpoint906    │907  6 │   require Phoenix.Endpoint908    │   ~909    │910    └─ lib/phoenix/controller.ex:6:3911912    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 operator913    │914 46 │       <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix915    │                             ~916    │917    └─ lib/phoenix/naming.ex:46:29: Phoenix.Naming.unsuffix/2918919    warning: unused require Phoenix.Endpoint920    │921 19 │   require Phoenix.Endpoint922    │   ~923    │924    └─ lib/phoenix/endpoint/render_errors.ex:19:3925926    warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.927928    This error happens when you have function calls without parentheses inside keywords. For example:929930        function(arg, one: nested_call a, b, c)931        function(arg, one: if expr, do: :this, else: :that)932933    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:934935        function(arg, one: if(expr, do: :this, else: :that))936        function(arg, one: nested_call(a, b, c))937938    Ambiguity found at:939    │940 71 │     unless actions -- supported_actions == [], do: raise ArgumentError, """941    │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~942    │943    └─ lib/phoenix/router/resource.ex:71944945     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead946     │947 653 │         Logger.warn fn -> "Ignoring unmatched topic \"#{topic}\" in #{inspect(socket.handler)}" end948     │                ~949     │950     └─ lib/phoenix/socket.ex:653:16: Phoenix.Socket.handle_in/4951952    warning: unused require Phoenix.Endpoint953    │954  6 │   require Phoenix.Endpoint955    │   ~956    │957    └─ lib/phoenix/channel/server.ex:6:3958959     warning: unused require Phoenix.Endpoint960     │961 192 │   require Phoenix.Endpoint962     │   ~963     │964     └─ lib/phoenix/socket.ex:192:3965966    warning: unused require Logger967    │968 93 │   require Logger969    │   ~970    │971    └─ lib/phoenix/token.ex:93:3972973     warning: comparison between distinct types found:974975         merge_all != []976977     given types:978979         dynamic(non_empty_list({atom(), term()})) != empty_list()980981     where "merge_all" was given the type:982983         # type: dynamic(non_empty_list({atom(), term()}))984         # from: lib/phoenix/router/route.ex:111:15985         merge_all = merge_params ++ merge_private ++ merge_assigns986987     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 false988989     type warning found at:990     │991 113 │     if merge_all != [] do992     │                  ~993     │994     └─ lib/phoenix/router/route.ex:113:18: Phoenix.Router.Route.build_prepare/1995996    warning: a struct for Plug.Conn is expected on struct update:997998        %Plug.Conn{conn | state: :sent}9991000    but got type:10011002        dynamic()10031004    where "conn" was given the type:10051006        # type: dynamic()1007        # from: lib/phoenix/endpoint/render_errors.ex:57:171008        conn10091010    when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"10111012    type warning found at:1013    │1014 61 │         %Plug.Conn{conn | state: :sent}1015    │         ~1016    │1017    └─ lib/phoenix/endpoint/render_errors.ex:61:9: Phoenix.Endpoint.RenderErrors.__catch__/510181019     warning: a struct for Plug.Conn is expected on struct update:10201021         %Plug.Conn{conn | query_params: %{}, params: %{}}10221023     but got type:10241025         dynamic(%{..., params: %Plug.Conn.Unfetched{}})10261027     where "conn" was given the types:10281029         # type: dynamic(%{..., params: term()})1030         # from: lib/phoenix/endpoint/render_errors.ex:124:171031         conn.params10321033         # type: dynamic(%{..., params: %Plug.Conn.Unfetched{}})1034         # from: lib/phoenix/endpoint/render_errors.ex:124:171035         conn.params10361037     when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"10381039     type warning found at:1040     │1041 125 │         %Plug.Conn.Unfetched{} -> %Plug.Conn{conn | query_params: %{}, params: %{}}1042     │                                   ~1043     │1044     └─ lib/phoenix/endpoint/render_errors.ex:125:35: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/110451046     warning: a struct for Plug.Conn is expected on struct update:10471048         %Plug.Conn{conn | query_params: %{}, params: params}10491050     but got type:10511052         dynamic(%{..., params: not %Plug.Conn.Unfetched{}})10531054     where "conn" was given the types:10551056         # type: dynamic(%{..., params: term()})1057         # from: lib/phoenix/endpoint/render_errors.ex:124:171058         conn.params10591060         # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})1061         # from: lib/phoenix/endpoint/render_errors.ex:124:171062         conn.params10631064     when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"10651066     type warning found at:1067     │1068 126 │         params -> %Plug.Conn{conn | query_params: %{}, params: params}1069     │                   ~1070     │1071     └─ lib/phoenix/endpoint/render_errors.ex:126:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/110721073    warning: incompatible types given to socket_children/1:10741075        socket_children(mod)10761077    given types:10781079        -dynamic(atom())-10801081    but expected one of:10821083        %{..., __sockets__: term()}10841085    where "mod" was given the types:10861087        # type: dynamic(atom() or binary())1088        # from: lib/phoenix/endpoint/supervisor.ex:27:411089        defaults(otp_app, mod)10901091        # type: dynamic(atom())1092        # from: lib/phoenix/endpoint/supervisor.ex:31:161093        mod.init(:supervisor, env_conf)10941095    type warning found at:1096    │1097 67 │       socket_children(mod) ++1098    │       ~1099    │1100    └─ lib/phoenix/endpoint/supervisor.ex:67:7: Phoenix.Endpoint.Supervisor.init/111011102      warning: a struct for Plug.Conn is expected on struct update:11031104          %Plug.Conn{conn | params: params}11051106      but got type:11071108          dynamic(%{..., params: map()})11091110      where "conn" was given the type:11111112          # type: dynamic(%{..., params: map()})1113          # from: lib/phoenix/controller.ex:1036:171114          Map.get(conn.params, required_key)11151116      when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"11171118      type warning found at:1119      │1120 1043 │     %Plug.Conn{conn | params: params}1121      │     ~1122      │1123      └─ lib/phoenix/controller.ex:1043:5: Phoenix.Controller.scrub_params/211241125     warning: expected a module (an atom) when invoking compress_file/2 in expression:11261127         compressor.compress_file(file.digested_filename, file.digested_content)11281129     where "compressor" was given the type:11301131         # type: dynamic(%{..., file_extensions: non_empty_list(term(), term())})1132         # from: lib/phoenix/digester.ex:167:281133         [file_extension | _] = compressor.file_extensions11341135     where "file" was given the type:11361137         # type: dynamic(%{..., relative_path: term()})1138         # from: lib/phoenix/digester.ex:161:171139         Path.join(output_path, file.relative_path)11401141     type warning found at:1142     │1143 170 │              compressor.compress_file(file.digested_filename, file.digested_content) do1144     │                         ~1145     │1146     └─ lib/phoenix/digester.ex:170:25: Phoenix.Digester.write_to_disk/211471148Generated phoenix app1149==> phoenix_live_view1150Compiling 55 files (.ex)1151Generated phoenix_live_view app1152==> phoenix_live_dashboard1153Compiling 36 files (.ex)1154     warning: Postgrex.Interval.to_string/1 is undefined (module Postgrex.Interval is not available or is yet to be defined)1155     │1156 326 │     do: struct.to_string(value)1157     │                ~1158     │1159     └─ lib/phoenix/live_dashboard/pages/ecto_stats_page.ex:326:16: Phoenix.LiveDashboard.EctoStatsPage.format/211601161Generated phoenix_live_dashboard app1162warning: Phoenix now requires you to explicitly list which engine to use1163for Phoenix JSON encoding. We recommend everyone to upgrade to1164Jason by setting in your config/config.exs:11651166    config :phoenix, :json_library, Jason11671168And then adding {:jason, "~> 1.0"} as a dependency.11691170If instead you would rather continue using Poison, then add to1171your config/config.exs:11721173    config :phoenix, :json_library, Poison11741175  (phoenix 1.6.17) lib/phoenix.ex:56: Phoenix.start/21176  (kernel 11.0.4) application_master.erl:299: :application_master.start_it_old/411771178warning: the :gettext compiler is no longer required in your mix.exs.11791180Please find the following line in your mix.exs and remove the :gettext entry:11811182    compilers: [..., :gettext, ...] ++ Mix.compilers(),11831184  (gettext 0.26.2) lib/mix/tasks/compile.gettext.ex:5: Mix.Tasks.Compile.Gettext.run/11185  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51186  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21187  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41188  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/21189  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/511901191==> humo1192Compiling 42 files (.ex)1193    warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.11941195    This error happens when you have function calls without parentheses inside keywords. For example:11961197        function(arg, one: nested_call a, b, c)1198        function(arg, one: if expr, do: :this, else: :that)11991200    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:12011202        function(arg, one: if(expr, do: :this, else: :that))1203        function(arg, one: nested_call(a, b, c))12041205    Ambiguity found at:1206    │1207 47 │         raise ArgumentError,1208    │         ~~~~~~~~~~~~~~~~~~~~1209    │1210    └─ lib/humo/warehouse.ex:4712111212    warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.12131214    This error happens when you have function calls without parentheses inside keywords. For example:12151216        function(arg, one: nested_call a, b, c)1217        function(arg, one: if expr, do: :this, else: :that)12181219    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:12201221        function(arg, one: if(expr, do: :this, else: :that))1222        function(arg, one: nested_call(a, b, c))12231224    Ambiguity found at:1225    │1226 56 │         raise ArgumentError,1227    │         ~~~~~~~~~~~~~~~~~~~~1228    │1229    └─ lib/humo/warehouse.ex:5612301231    warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.12321233    This error happens when you have function calls without parentheses inside keywords. For example:12341235        function(arg, one: nested_call a, b, c)1236        function(arg, one: if expr, do: :this, else: :that)12371238    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:12391240        function(arg, one: if(expr, do: :this, else: :that))1241        function(arg, one: nested_call(a, b, c))12421243    Ambiguity found at:1244    │1245 63 │         raise ArgumentError,1246    │         ~~~~~~~~~~~~~~~~~~~~1247    │1248    └─ lib/humo/warehouse.ex:6312491250    warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.12511252    This error happens when you have function calls without parentheses inside keywords. For example:12531254        function(arg, one: nested_call a, b, c)1255        function(arg, one: if expr, do: :this, else: :that)12561257    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:12581259        function(arg, one: if(expr, do: :this, else: :that))1260        function(arg, one: nested_call(a, b, c))12611262    Ambiguity found at:1263    │1264 72 │         raise ArgumentError,1265    │         ~~~~~~~~~~~~~~~~~~~~1266    │1267    └─ lib/humo/warehouse.ex:7212681269    warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.12701271    This error happens when you have function calls without parentheses inside keywords. For example:12721273        function(arg, one: nested_call a, b, c)1274        function(arg, one: if expr, do: :this, else: :that)12751276    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:12771278        function(arg, one: if(expr, do: :this, else: :that))1279        function(arg, one: nested_call(a, b, c))12801281    Ambiguity found at:1282    │1283 80 │           raise ArgumentError,1284    │           ~~~~~~~~~~~~~~~~~~~~1285    │1286    └─ lib/humo/warehouse.ex:8012871288    warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.12891290    This error happens when you have function calls without parentheses inside keywords. For example:12911292        function(arg, one: nested_call a, b, c)1293        function(arg, one: if expr, do: :this, else: :that)12941295    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:12961297        function(arg, one: if(expr, do: :this, else: :that))1298        function(arg, one: nested_call(a, b, c))12991300    Ambiguity found at:1301    │1302 79 │         unless is_binary(action), do:1303    │         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1304    │1305    └─ lib/humo/warehouse.ex:79130613071308== Compilation error in file lib/humo/repo.ex ==1309** (ArgumentError) could not fetch application environment Humo.Repo for application :humo because the application was not loaded nor configured1310    (elixir 1.20.3) lib/application.ex:642: Application.compile_env!/31311    lib/humo/repo.ex:4: (module)1312could 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"