Build log
nerves_system_x86_64
humo_account 0.1.0 · fail · run humo_account-0.1.0-1790948632956
1385 of 1385 lines
1Resolving Hex dependencies...2Resolution completed in 0.526s3Unchanged: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.786* Getting humo_account (Hex package)87* Getting nerves (Hex package)88* Getting ring_logger (Hex package)89* Getting toolshed (Hex package)90* Getting nerves_runtime (Hex package)91* Getting nerves_system_bbb (Hex package)92* Getting nerves_system_mangopi_mq_pro (Hex package)93* Getting nerves_system_qemu_aarch64 (Hex package)94* Getting nerves_system_rpi0 (Hex package)95* Getting nerves_system_rpi4 (Hex package)96* Getting nerves_system_rpi5 (Hex package)97* Getting nerves_system_trellis (Hex package)98* Getting nerves_system_x86_64 (Hex package)99* Getting nerves_system_br (Hex package)100* Getting nerves_toolchain_x86_64_nerves_linux_musl (Hex package)101* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)102* Getting nerves_toolchain_aarch64_nerves_linux_gnu (Hex package)103* Getting nerves_toolchain_armv6_nerves_linux_gnueabihf (Hex package)104* Getting nerves_toolchain_riscv64_nerves_linux_gnu (Hex package)105* Getting nerves_logging (Hex package)106* Getting nerves_uevent (Hex package)107* Getting uboot_env (Hex package)108* Getting elixir_make (Hex package)109* Getting property_table (Hex package)110* Getting circular_buffer (Hex package)111* Getting interactive_cmd (Hex package)112* Getting nerves_discovery (Hex package)113* Getting tablet (Hex package)114* Getting bamboo (Hex package)115* Getting bamboo_smtp (Hex package)116* Getting bcrypt_elixir (Hex package)117* Getting ecto_sql (Hex package)118* Getting esbuild (Hex package)119* Getting gettext (Hex package)120* Getting humo (Hex package)121* Getting jason (Hex package)122* Getting phoenix (Hex package)123* Getting phoenix_ecto (Hex package)124* Getting phoenix_html (Hex package)125* Getting phoenix_live_dashboard (Hex package)126* Getting plug_cowboy (Hex package)127* Getting postgrex (Hex package)128* Getting telemetry_metrics (Hex package)129* Getting telemetry_poller (Hex package)130* Getting telemetry (Hex package)131* Getting db_connection (Hex package)132* Getting decimal (Hex package)133* Getting cowboy (Hex package)134* Getting cowboy_telemetry (Hex package)135* Getting plug (Hex package)136* Getting mime (Hex package)137* Getting plug_crypto (Hex package)138* Getting cowlib (Hex package)139* Getting ranch (Hex package)140* Getting phoenix_live_view (Hex package)141* Getting phoenix_template (Hex package)142* Getting ecto (Hex package)143* Getting castore (Hex package)144* Getting phoenix_pubsub (Hex package)145* Getting phoenix_view (Hex package)146* Getting file_system (Hex package)147* Getting expo (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)159Found packages with security advisories, see above for details160You have added/upgraded packages you could sponsor, run `mix hex.sponsor` to learn more161==> file_system162Compiling 7 files (.ex)163 warning: using single-quoted strings to represent charlists is deprecated.164 Use ~c"" if you indeed want a charlist or use "" instead.165 You may run "mix format --migrate" to change all single-quoted166 strings to use the ~c sigil and fix this warning.167 │168 71 │ '-e', 'modify', '-e', 'close_write', '-e', 'moved_to', '-e', 'moved_from',169 │ ~170 │171 └─ lib/file_system/backends/fs_inotify.ex:71:11172173 warning: using single-quoted strings to represent charlists is deprecated.174 Use ~c"" if you indeed want a charlist or use "" instead.175 You may run "mix format --migrate" to change all single-quoted176 strings to use the ~c sigil and fix this warning.177 │178 71 │ '-e', 'modify', '-e', 'close_write', '-e', 'moved_to', '-e', 'moved_from',179 │ ~180 │181 └─ lib/file_system/backends/fs_inotify.ex:71:17182183 warning: using single-quoted strings to represent charlists is deprecated.184 Use ~c"" if you indeed want a charlist or use "" instead.185 You may run "mix format --migrate" to change all single-quoted186 strings to use the ~c sigil and fix this warning.187 │188 71 │ '-e', 'modify', '-e', 'close_write', '-e', 'moved_to', '-e', 'moved_from',189 │ ~190 │191 └─ lib/file_system/backends/fs_inotify.ex:71:27192193 warning: using single-quoted strings to represent charlists is deprecated.194 Use ~c"" if you indeed want a charlist or use "" instead.195 You may run "mix format --migrate" to change all single-quoted196 strings to use the ~c sigil and fix this warning.197 │198 71 │ '-e', 'modify', '-e', 'close_write', '-e', 'moved_to', '-e', 'moved_from',199 │ ~200 │201 └─ lib/file_system/backends/fs_inotify.ex:71:33202203 warning: using single-quoted strings to represent charlists is deprecated.204 Use ~c"" if you indeed want a charlist or use "" instead.205 You may run "mix format --migrate" to change all single-quoted206 strings to use the ~c sigil and fix this warning.207 │208 71 │ '-e', 'modify', '-e', 'close_write', '-e', 'moved_to', '-e', 'moved_from',209 │ ~210 │211 └─ lib/file_system/backends/fs_inotify.ex:71:48212213 warning: using single-quoted strings to represent charlists is deprecated.214 Use ~c"" if you indeed want a charlist or use "" instead.215 You may run "mix format --migrate" to change all single-quoted216 strings to use the ~c sigil and fix this warning.217 │218 71 │ '-e', 'modify', '-e', 'close_write', '-e', 'moved_to', '-e', 'moved_from',219 │ ~220 │221 └─ lib/file_system/backends/fs_inotify.ex:71:54222223 warning: using single-quoted strings to represent charlists is deprecated.224 Use ~c"" if you indeed want a charlist or use "" instead.225 You may run "mix format --migrate" to change all single-quoted226 strings to use the ~c sigil and fix this warning.227 │228 71 │ '-e', 'modify', '-e', 'close_write', '-e', 'moved_to', '-e', 'moved_from',229 │ ~230 │231 └─ lib/file_system/backends/fs_inotify.ex:71:66232233 warning: using single-quoted strings to represent charlists is deprecated.234 Use ~c"" if you indeed want a charlist or use "" instead.235 You may run "mix format --migrate" to change all single-quoted236 strings to use the ~c sigil and fix this warning.237 │238 71 │ '-e', 'modify', '-e', 'close_write', '-e', 'moved_to', '-e', 'moved_from',239 │ ~240 │241 └─ lib/file_system/backends/fs_inotify.ex:71:72242243 warning: using single-quoted strings to represent charlists is deprecated.244 Use ~c"" if you indeed want a charlist or use "" instead.245 You may run "mix format --migrate" to change all single-quoted246 strings to use the ~c sigil and fix this warning.247 │248 72 │ '-e', 'create', '-e', 'delete', '-e', 'attrib', '--format', format, '--quiet', '-m', '-r'249 │ ~250 │251 └─ lib/file_system/backends/fs_inotify.ex:72:11252253 warning: using single-quoted strings to represent charlists is deprecated.254 Use ~c"" if you indeed want a charlist or use "" instead.255 You may run "mix format --migrate" to change all single-quoted256 strings to use the ~c sigil and fix this warning.257 │258 72 │ '-e', 'create', '-e', 'delete', '-e', 'attrib', '--format', format, '--quiet', '-m', '-r'259 │ ~260 │261 └─ lib/file_system/backends/fs_inotify.ex:72:17262263 warning: using single-quoted strings to represent charlists is deprecated.264 Use ~c"" if you indeed want a charlist or use "" instead.265 You may run "mix format --migrate" to change all single-quoted266 strings to use the ~c sigil and fix this warning.267 │268 72 │ '-e', 'create', '-e', 'delete', '-e', 'attrib', '--format', format, '--quiet', '-m', '-r'269 │ ~270 │271 └─ lib/file_system/backends/fs_inotify.ex:72:27272273 warning: using single-quoted strings to represent charlists is deprecated.274 Use ~c"" if you indeed want a charlist or use "" instead.275 You may run "mix format --migrate" to change all single-quoted276 strings to use the ~c sigil and fix this warning.277 │278 72 │ '-e', 'create', '-e', 'delete', '-e', 'attrib', '--format', format, '--quiet', '-m', '-r'279 │ ~280 │281 └─ lib/file_system/backends/fs_inotify.ex:72:33282283 warning: using single-quoted strings to represent charlists is deprecated.284 Use ~c"" if you indeed want a charlist or use "" instead.285 You may run "mix format --migrate" to change all single-quoted286 strings to use the ~c sigil and fix this warning.287 │288 72 │ '-e', 'create', '-e', 'delete', '-e', 'attrib', '--format', format, '--quiet', '-m', '-r'289 │ ~290 │291 └─ lib/file_system/backends/fs_inotify.ex:72:43292293 warning: using single-quoted strings to represent charlists is deprecated.294 Use ~c"" if you indeed want a charlist or use "" instead.295 You may run "mix format --migrate" to change all single-quoted296 strings to use the ~c sigil and fix this warning.297 │298 72 │ '-e', 'create', '-e', 'delete', '-e', 'attrib', '--format', format, '--quiet', '-m', '-r'299 │ ~300 │301 └─ lib/file_system/backends/fs_inotify.ex:72:49302303 warning: using single-quoted strings to represent charlists is deprecated.304 Use ~c"" if you indeed want a charlist or use "" instead.305 You may run "mix format --migrate" to change all single-quoted306 strings to use the ~c sigil and fix this warning.307 │308 72 │ '-e', 'create', '-e', 'delete', '-e', 'attrib', '--format', format, '--quiet', '-m', '-r'309 │ ~310 │311 └─ lib/file_system/backends/fs_inotify.ex:72:59312313 warning: using single-quoted strings to represent charlists is deprecated.314 Use ~c"" if you indeed want a charlist or use "" instead.315 You may run "mix format --migrate" to change all single-quoted316 strings to use the ~c sigil and fix this warning.317 │318 72 │ '-e', 'create', '-e', 'delete', '-e', 'attrib', '--format', format, '--quiet', '-m', '-r'319 │ ~320 │321 └─ lib/file_system/backends/fs_inotify.ex:72:79322323 warning: using single-quoted strings to represent charlists is deprecated.324 Use ~c"" if you indeed want a charlist or use "" instead.325 You may run "mix format --migrate" to change all single-quoted326 strings to use the ~c sigil and fix this warning.327 │328 72 │ '-e', 'create', '-e', 'delete', '-e', 'attrib', '--format', format, '--quiet', '-m', '-r'329 │ ~330 │331 └─ lib/file_system/backends/fs_inotify.ex:72:90332333 warning: using single-quoted strings to represent charlists is deprecated.334 Use ~c"" if you indeed want a charlist or use "" instead.335 You may run "mix format --migrate" to change all single-quoted336 strings to use the ~c sigil and fix this warning.337 │338 72 │ '-e', 'create', '-e', 'delete', '-e', 'attrib', '--format', format, '--quiet', '-m', '-r'339 │ ~340 │341 └─ lib/file_system/backends/fs_inotify.ex:72:96342343 warning: using single-quoted strings to represent charlists is deprecated.344 Use ~c"" if you indeed want a charlist or use "" instead.345 You may run "mix format --migrate" to change all single-quoted346 strings to use the ~c sigil and fix this warning.347 │348 84 │ parse_options(t, result -- ['-r'])349 │ ~350 │351 └─ lib/file_system/backends/fs_inotify.ex:84:33352353 warning: using single-quoted strings to represent charlists is deprecated.354 Use ~c"" if you indeed want a charlist or use "" instead.355 You may run "mix format --migrate" to change all single-quoted356 strings to use the ~c sigil and fix this warning.357 │358 104 │ bash_args = ['-c', '#{executable_path()} "$0" "$@" & PID=$!; read a; kill -KILL $PID']359 │ ~360 │361 └─ lib/file_system/backends/fs_inotify.ex:104:22362363 warning: using single-quoted strings to represent charlists is deprecated.364 Use ~c"" if you indeed want a charlist or use "" instead.365 You may run "mix format --migrate" to change all single-quoted366 strings to use the ~c sigil and fix this warning.367 │368 104 │ bash_args = ['-c', '#{executable_path()} "$0" "$@" & PID=$!; read a; kill -KILL $PID']369 │ ~370 │371 └─ lib/file_system/backends/fs_inotify.ex:104:28372373 warning: using single-quoted strings to represent charlists is deprecated.374 Use ~c"" if you indeed want a charlist or use "" instead.375 You may run "mix format --migrate" to change all single-quoted376 strings to use the ~c sigil and fix this warning.377 │378 109 │ bash_args ++ ['--'] ++ port_args379 │ ~380 │381 └─ lib/file_system/backends/fs_inotify.ex:109:29382383 warning: using single-quoted strings to represent charlists is deprecated.384 Use ~c"" if you indeed want a charlist or use "" instead.385 You may run "mix format --migrate" to change all single-quoted386 strings to use the ~c sigil and fix this warning.387 │388 116 │ {:spawn_executable, '/bin/sh'},389 │ ~390 │391 └─ lib/file_system/backends/fs_inotify.ex:116:31392393 warning: using single-quoted strings to represent charlists is deprecated.394 Use ~c"" if you indeed want a charlist or use "" instead.395 You may run "mix format --migrate" to change all single-quoted396 strings to use the ~c sigil and fix this warning.397 │398 94 │ args = ['-F' | dirs |> Enum.map(&Path.absname/1) |> Enum.map(&to_charlist/1)]399 │ ~400 │401 └─ lib/file_system/backends/fs_mac.ex:94:17402403 warning: using single-quoted strings to represent charlists is deprecated.404 Use ~c"" if you indeed want a charlist or use "" instead.405 You may run "mix format --migrate" to change all single-quoted406 strings to use the ~c sigil and fix this warning.407 │408 103 │ ['--latency=#{latency / 1}' | result]409 │ ~410 │411 └─ lib/file_system/backends/fs_mac.ex:103:10412413 warning: using single-quoted strings to represent charlists is deprecated.414 Use ~c"" if you indeed want a charlist or use "" instead.415 You may run "mix format --migrate" to change all single-quoted416 strings to use the ~c sigil and fix this warning.417 │418 111 │ parse_options(t, ['--no-defer' | result])419 │ ~420 │421 └─ lib/file_system/backends/fs_mac.ex:111:23422423 warning: using single-quoted strings to represent charlists is deprecated.424 Use ~c"" if you indeed want a charlist or use "" instead.425 You may run "mix format --migrate" to change all single-quoted426 strings to use the ~c sigil and fix this warning.427 │428 121 │ parse_options(t, ['--with-root' | result])429 │ ~430 │431 └─ lib/file_system/backends/fs_mac.ex:121:23432433 warning: using single-quoted strings to represent charlists is deprecated.434 Use ~c"" if you indeed want a charlist or use "" instead.435 You may run "mix format --migrate" to change all single-quoted436 strings to use the ~c sigil and fix this warning.437 │438 83 │ '--format', format, '--quiet', '-m', '-r'439 │ ~440 │441 └─ lib/file_system/backends/fs_windows.ex:83:11442443 warning: using single-quoted strings to represent charlists is deprecated.444 Use ~c"" if you indeed want a charlist or use "" instead.445 You may run "mix format --migrate" to change all single-quoted446 strings to use the ~c sigil and fix this warning.447 │448 83 │ '--format', format, '--quiet', '-m', '-r'449 │ ~450 │451 └─ lib/file_system/backends/fs_windows.ex:83:31452453 warning: using single-quoted strings to represent charlists is deprecated.454 Use ~c"" if you indeed want a charlist or use "" instead.455 You may run "mix format --migrate" to change all single-quoted456 strings to use the ~c sigil and fix this warning.457 │458 83 │ '--format', format, '--quiet', '-m', '-r'459 │ ~460 │461 └─ lib/file_system/backends/fs_windows.ex:83:42462463 warning: using single-quoted strings to represent charlists is deprecated.464 Use ~c"" if you indeed want a charlist or use "" instead.465 You may run "mix format --migrate" to change all single-quoted466 strings to use the ~c sigil and fix this warning.467 │468 83 │ '--format', format, '--quiet', '-m', '-r'469 │ ~470 │471 └─ lib/file_system/backends/fs_windows.ex:83:48472473 warning: using single-quoted strings to represent charlists is deprecated.474 Use ~c"" if you indeed want a charlist or use "" instead.475 You may run "mix format --migrate" to change all single-quoted476 strings to use the ~c sigil and fix this warning.477 │478 95 │ parse_options(t, result -- ['-r'])479 │ ~480 │481 └─ lib/file_system/backends/fs_windows.ex:95:33482483 warning: expected a map or struct when accessing .bootstrap in expression:484485 module.bootstrap486487 where "module" was given the type:488489 # type: dynamic(atom())490 # from: lib/file_system/backend.ex:22:17491 validate_os(backend, module)492493 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()494495 type warning found at:496 │497 23 │ :ok <- module.bootstrap498 │ ~499 │500 └─ lib/file_system/backend.ex:23:24: FileSystem.Backend.backend/1501502Generated file_system app503==> mime504Compiling 2 files (.ex)505Generated mime app506==> nerves_compatibility_test507===> Analyzing applications...508===> Compiling gen_smtp509 ┌─ src/gen_smtp_server_session.erl:510 │511 265 │ case catch Module:code_change(OldVsn, State#state.callbackstate, Extra) of512 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.513Compile directive 'nowarn_deprecated_catch' can be used to suppress514warnings in selected modules.515516 ┌─ src/gen_smtp_server_session.erl:517 │518 389 │ crypto:start(), % ensure crypto is started, we're gonna need it519 │ ╰── Warning: crypto:start/0 is deprecated; use application:start(crypto) instead520521522 ┌─ src/gen_smtp_server.erl:523 │524 225 │ lists:foreach(fun(#listener{socket=S}) -> catch smtp_socket:close(S) end, State#state.listeners),525 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.526Compile directive 'nowarn_deprecated_catch' can be used to suppress527warnings in selected modules.528529530 ┌─ src/gen_smtp_client.erl:531 │532 620 │ case catch smtp_socket:to_ssl_client(Socket, proplists:get_value(tls_options, Options, []), 5000) of533 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.534Compile directive 'nowarn_deprecated_catch' can be used to suppress535warnings in selected modules.536537538 ┌─ src/gen_smtp_application.erl:539 │540 12 │ start_ok(_App, {error, {already_started, _App}}) -> ok;541 │ ╰── Warning: variable '_App' is bound multiple times in this pattern.542If you mean to ignore this value, use '_' or543a different underscore-prefixed name544545 ┌─ src/gen_smtp_application.erl:546 │547 12 │ start_ok(_App, {error, {already_started, _App}}) -> ok;548 │ ╰── Warning: variable '_App' is bound multiple times in this pattern.549If you mean to ignore this value, use '_' or550a different underscore-prefixed name551552553 ┌─ src/smtp_util.erl:554 │555 73 │ Bin = crypto:hmac(md5, Key, Data),556 │ ╰── Warning: crypto:hmac/3 is removed; use crypto:mac/4 instead557558559==> plug_crypto560Compiling 5 files (.ex)561Generated plug_crypto app562==> nerves_compatibility_test563===> Analyzing applications...564===> Compiling cowlib565==> esbuild566Compiling 4 files (.ex)567Generated esbuild app568==> telemetry_metrics569Compiling 7 files (.ex)570 warning: unused require Logger571 │572 391 │ require Logger573 │ ~574 │575 └─ lib/telemetry_metrics.ex:391:3576577Generated telemetry_metrics app578==> nerves_compatibility_test579===> Analyzing applications...580===> Compiling telemetry_poller581===> Analyzing applications...582===> Compiling cowboy583==> gettext584Compiling 18 files (.ex)585 warning: unused require Gettext.Macros586 │587 594 │ require Gettext.Macros588 │ ~589 │590 └─ lib/gettext.ex:594:3591592 warning: Kernel.ParallelCompiler.async/1 is deprecated. Use `pmap/2` instead593 │594 426 │ Kernel.ParallelCompiler.async(fn ->595 │ ~596 │597 └─ lib/gettext/compiler.ex:426:39: Gettext.Compiler.compile_po_files/3598599 warning: the following clause is redundant:600601 defp ensure_empty_msgstr!(%Expo.Message.Plural{} = message)602603 it has type:604605 dynamic(%Expo.Message.Plural{})606607 previous clauses have already matched on the following types:608609 %Expo.Message.Singular{}610 %Expo.Message.Plural{}611612 │613 391 │ defp ensure_empty_msgstr!(%Message.Plural{} = message) do614 │ ~615 │616 └─ lib/gettext/extractor.ex:391:8: Gettext.Extractor.ensure_empty_msgstr!/1617618Generated gettext app619==> plug620Compiling 1 file (.erl)621Compiling 42 files (.ex)622Generated plug app623==> phoenix_html624Compiling 9 files (.ex)625 warning: comparison between distinct types found:626627 id == nil628629 given types:630631 dynamic(not false and not nil and not binary()) == nil632633 where "id" was given the types:634635 # type: dynamic(not false and not nil)636 # from: lib/phoenix_html/form_data.ex:92:8637 id = Keyword.get(opts, :id) || name638639 # type: dynamic(not false and not nil and not binary())640 # from: lib/phoenix_html/form_data.ex:94:12641 is_binary(id)642643 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 false644645 type warning found at:646 │647 94 │ unless is_binary(id) or is_nil(id) do648 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~649 │650 └─ lib/phoenix_html/form_data.ex:94: Phoenix.HTML.FormData.Atom.to_form/2651652 warning: the 1st pattern in clause will never match:653654 60655656 because it is expected to receive type:657658 dynamic(empty_list() or non_empty_list(term(), term()))659660 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())661662 type warning found at:663 │664 56 │ def to_iodata(?<), do: "<"665 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~666 │667 └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/1668669 warning: the 1st pattern in clause will never match:670671 62672673 because it is expected to receive type:674675 dynamic(empty_list() or non_empty_list(term(), term()))676677 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())678679 type warning found at:680 │681 57 │ def to_iodata(?>), do: ">"682 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~683 │684 └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/1685686 warning: the 1st pattern in clause will never match:687688 38689690 because it is expected to receive type:691692 dynamic(empty_list() or non_empty_list(term(), term()))693694 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())695696 type warning found at:697 │698 58 │ def to_iodata(?&), do: "&"699 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~700 │701 └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/1702703 warning: the 1st pattern in clause will never match:704705 34706707 because it is expected to receive type:708709 dynamic(empty_list() or non_empty_list(term(), term()))710711 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())712713 type warning found at:714 │715 59 │ def to_iodata(?"), do: """716 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~717 │718 └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/1719720 warning: the 1st pattern in clause will never match:721722 39723724 because it is expected to receive type:725726 dynamic(empty_list() or non_empty_list(term(), term()))727728 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())729730 type warning found at:731 │732 60 │ def to_iodata(?'), do: "'"733 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~734 │735 └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/1736737 warning: the 1st pattern in clause will never match:738739 {:safe, data}740741 because it is expected to receive type:742743 dynamic(empty_list() or non_empty_list(term(), term()))744745 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())746747 type warning found at:748 │749 76 │ def to_iodata({:safe, data}) do750 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~751 │752 └─ lib/phoenix_html/safe.ex:76: Phoenix.HTML.Safe.List.to_iodata/1753754 warning: the following clause is redundant:755756 def to_iodata(other)757758 it has type:759760 dynamic(empty_list() or non_empty_list(term(), term()))761762 previous clauses have already matched on the following types:763764 non_empty_list(term(), term())765 empty_list()766767 │768 80 │ def to_iodata(other) do769 │ ~770 │771 └─ lib/phoenix_html/safe.ex:80:7: Phoenix.HTML.Safe.List.to_iodata/1772773 warning: the 1st pattern in clause will never match:774775 h776777 because it is expected to receive type:778779 dynamic(empty_list() or non_empty_list(term(), term()))780781 where "h" was given the type:782783 # type: integer()784 # from: lib/phoenix_html/safe.ex:62:25785 is_integer(h)786787 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())788789 type warning found at:790 │791 62 │ def to_iodata(h) when is_integer(h) and h <= 255 do792 │ ~793 │794 └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/1795796 warning: the 1st pattern in clause will never match:797798 h799800 because it is expected to receive type:801802 dynamic(empty_list() or non_empty_list(term(), term()))803804 where "h" was given the type:805806 # type: integer()807 # from: lib/phoenix_html/safe.ex:66:25808 is_integer(h)809810 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())811812 type warning found at:813 │814 66 │ def to_iodata(h) when is_integer(h) do815 │ ~816 │817 └─ lib/phoenix_html/safe.ex:66:17: Phoenix.HTML.Safe.List.to_iodata/1818819 warning: the 1st pattern in clause will never match:820821 h822823 because it is expected to receive type:824825 dynamic(empty_list() or non_empty_list(term(), term()))826827 where "h" was given the type:828829 # type: binary()830 # from: lib/phoenix_html/safe.ex:72:25831 is_binary(h)832833 hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())834835 type warning found at:836 │837 72 │ def to_iodata(h) when is_binary(h) do838 │ ~839 │840 └─ lib/phoenix_html/safe.ex:72:17: Phoenix.HTML.Safe.List.to_iodata/1841842Generated phoenix_html app843==> phoenix_template844Compiling 4 files (.ex)845Generated phoenix_template app846==> phoenix_view847Compiling 1 file (.ex)848 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 operator849 │850 655 │ <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix851 │ ~852 │853 └─ lib/phoenix_view.ex:655:29: Phoenix.View.unsuffix/2854855Generated phoenix_view app856warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"857 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2858 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1859 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5860 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2861 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4862 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2863864==> phoenix_ecto865Compiling 7 files (.ex)866Generated phoenix_ecto app867==> nerves_compatibility_test868===> Analyzing applications...869===> Compiling cowboy_telemetry870==> plug_cowboy871Compiling 5 files (.ex)872Generated plug_cowboy app873warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"874 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2875 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1876 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5877 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2878 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4879 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2880881==> phoenix882Compiling 69 files (.ex)883 warning: using single-quoted strings to represent charlists is deprecated.884 Use ~c"" if you indeed want a charlist or use "" instead.885 You may run "mix format --migrate" to change all single-quoted886 strings to use the ~c sigil and fix this warning.887 │888 258 │ notBefore: {:utcTime, '#{not_before}000000Z'},889 │ ~890 │891 └─ lib/mix/tasks/phx.gen.cert.ex:258:33892893 warning: using single-quoted strings to represent charlists is deprecated.894 Use ~c"" if you indeed want a charlist or use "" instead.895 You may run "mix format --migrate" to change all single-quoted896 strings to use the ~c sigil and fix this warning.897 │898 259 │ notAfter: {:utcTime, '#{not_after}000000Z'}899 │ ~900 │901 └─ lib/mix/tasks/phx.gen.cert.ex:259:32902903 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead904 │905 50 │ Logger.warn(906 │ ~907 │908 └─ lib/phoenix/code_reloader/server.ex:50:20: Phoenix.CodeReloader.Server.handle_call/3909910 warning: unused require Logger911 │912 9 │ require Logger913 │ ~914 │915 └─ lib/phoenix/config.ex:9:3916917 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.918919 This error happens when you have function calls without parentheses inside keywords. For example:920921 function(arg, one: nested_call a, b, c)922 function(arg, one: if expr, do: :this, else: :that)923924 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:925926 function(arg, one: if(expr, do: :this, else: :that))927 function(arg, one: nested_call(a, b, c))928929 Ambiguity found at:930 │931 998 │ defp get_disposition_type(other), do: raise ArgumentError, "expected :disposition to be :attachment or :inline, got: #{inspect(other)}"932 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~933 │934 └─ lib/phoenix/controller.ex:998935936 warning: unused require Logger937 │938 259 │ require Logger939 │ ~940 │941 └─ lib/phoenix/endpoint.ex:259:3942943 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead944 │945 1009 │ Logger.warn "send_download/3 has been invoked during an AJAX request. " <>946 │ ~947 │948 └─ lib/phoenix/controller.ex:1009:14: Phoenix.Controller.warn_if_ajax/1949950 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead951 │952 34 │ Logger.warn("no configuration found for otp_app #{inspect(otp_app)} and module #{inspect(mod)}")953 │ ~954 │955 └─ lib/phoenix/endpoint/supervisor.ex:34:20: Phoenix.Endpoint.Supervisor.init/1956957 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead958 │959 57 │ Logger.warn(":instrumenters configuration for #{inspect(mod)} is deprecated and has no effect")960 │ ~961 │962 └─ lib/phoenix/endpoint/supervisor.ex:57:14: Phoenix.Endpoint.Supervisor.init/1963964 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead965 │966 78 │ Logger.warn """967 │ ~968 │969 └─ lib/phoenix/endpoint/supervisor.ex:78:14: Phoenix.Endpoint.Supervisor.pubsub_children/2970971 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead972 │973 264 │ Logger.warn("url: [host: ...] configuration value #{inspect(host)} for #{inspect(endpoint)} is invalid")974 │ ~975 │976 └─ lib/phoenix/endpoint/supervisor.ex:264:14: Phoenix.Endpoint.Supervisor.build_url/2977978 warning: unused require Phoenix.Endpoint979 │980 6 │ require Phoenix.Endpoint981 │ ~982 │983 └─ lib/phoenix/controller.ex:6:3984985 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 operator986 │987 46 │ <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix988 │ ~989 │990 └─ lib/phoenix/naming.ex:46:29: Phoenix.Naming.unsuffix/2991992 warning: unused require Phoenix.Endpoint993 │994 19 │ require Phoenix.Endpoint995 │ ~996 │997 └─ lib/phoenix/endpoint/render_errors.ex:19:3998999 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.10001001 This error happens when you have function calls without parentheses inside keywords. For example:10021003 function(arg, one: nested_call a, b, c)1004 function(arg, one: if expr, do: :this, else: :that)10051006 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:10071008 function(arg, one: if(expr, do: :this, else: :that))1009 function(arg, one: nested_call(a, b, c))10101011 Ambiguity found at:1012 │1013 71 │ unless actions -- supported_actions == [], do: raise ArgumentError, """1014 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1015 │1016 └─ lib/phoenix/router/resource.ex:7110171018 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1019 │1020 653 │ Logger.warn fn -> "Ignoring unmatched topic \"#{topic}\" in #{inspect(socket.handler)}" end1021 │ ~1022 │1023 └─ lib/phoenix/socket.ex:653:16: Phoenix.Socket.handle_in/410241025 warning: unused require Phoenix.Endpoint1026 │1027 6 │ require Phoenix.Endpoint1028 │ ~1029 │1030 └─ lib/phoenix/channel/server.ex:6:310311032 warning: unused require Phoenix.Endpoint1033 │1034 192 │ require Phoenix.Endpoint1035 │ ~1036 │1037 └─ lib/phoenix/socket.ex:192:310381039 warning: unused require Logger1040 │1041 93 │ require Logger1042 │ ~1043 │1044 └─ lib/phoenix/token.ex:93:310451046 warning: comparison between distinct types found:10471048 merge_all != []10491050 given types:10511052 dynamic(non_empty_list({atom(), term()})) != empty_list()10531054 where "merge_all" was given the type:10551056 # type: dynamic(non_empty_list({atom(), term()}))1057 # from: lib/phoenix/router/route.ex:111:151058 merge_all = merge_params ++ merge_private ++ merge_assigns10591060 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 false10611062 type warning found at:1063 │1064 113 │ if merge_all != [] do1065 │ ~1066 │1067 └─ lib/phoenix/router/route.ex:113:18: Phoenix.Router.Route.build_prepare/110681069 warning: a struct for Plug.Conn is expected on struct update:10701071 %Plug.Conn{conn | state: :sent}10721073 but got type:10741075 dynamic()10761077 where "conn" was given the type:10781079 # type: dynamic()1080 # from: lib/phoenix/endpoint/render_errors.ex:57:171081 conn10821083 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"10841085 type warning found at:1086 │1087 61 │ %Plug.Conn{conn | state: :sent}1088 │ ~1089 │1090 └─ lib/phoenix/endpoint/render_errors.ex:61:9: Phoenix.Endpoint.RenderErrors.__catch__/510911092 warning: a struct for Plug.Conn is expected on struct update:10931094 %Plug.Conn{conn | query_params: %{}, params: %{}}10951096 but got type:10971098 dynamic(%{..., params: %Plug.Conn.Unfetched{}})10991100 where "conn" was given the types:11011102 # type: dynamic(%{..., params: term()})1103 # from: lib/phoenix/endpoint/render_errors.ex:124:171104 conn.params11051106 # type: dynamic(%{..., params: %Plug.Conn.Unfetched{}})1107 # from: lib/phoenix/endpoint/render_errors.ex:124:171108 conn.params11091110 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"11111112 type warning found at:1113 │1114 125 │ %Plug.Conn.Unfetched{} -> %Plug.Conn{conn | query_params: %{}, params: %{}}1115 │ ~1116 │1117 └─ lib/phoenix/endpoint/render_errors.ex:125:35: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/111181119 warning: a struct for Plug.Conn is expected on struct update:11201121 %Plug.Conn{conn | query_params: %{}, params: params}11221123 but got type:11241125 dynamic(%{..., params: not %Plug.Conn.Unfetched{}})11261127 where "conn" was given the types:11281129 # type: dynamic(%{..., params: term()})1130 # from: lib/phoenix/endpoint/render_errors.ex:124:171131 conn.params11321133 # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})1134 # from: lib/phoenix/endpoint/render_errors.ex:124:171135 conn.params11361137 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"11381139 type warning found at:1140 │1141 126 │ params -> %Plug.Conn{conn | query_params: %{}, params: params}1142 │ ~1143 │1144 └─ lib/phoenix/endpoint/render_errors.ex:126:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/111451146 warning: a struct for Plug.Conn is expected on struct update:11471148 %Plug.Conn{conn | params: params}11491150 but got type:11511152 dynamic(%{..., params: map()})11531154 where "conn" was given the type:11551156 # type: dynamic(%{..., params: map()})1157 # from: lib/phoenix/controller.ex:1036:171158 Map.get(conn.params, required_key)11591160 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"11611162 type warning found at:1163 │1164 1043 │ %Plug.Conn{conn | params: params}1165 │ ~1166 │1167 └─ lib/phoenix/controller.ex:1043:5: Phoenix.Controller.scrub_params/211681169 warning: incompatible types given to socket_children/1:11701171 socket_children(mod)11721173 given types:11741175 -dynamic(atom())-11761177 but expected one of:11781179 %{..., __sockets__: term()}11801181 where "mod" was given the types:11821183 # type: dynamic(atom() or binary())1184 # from: lib/phoenix/endpoint/supervisor.ex:27:411185 defaults(otp_app, mod)11861187 # type: dynamic(atom())1188 # from: lib/phoenix/endpoint/supervisor.ex:31:161189 mod.init(:supervisor, env_conf)11901191 type warning found at:1192 │1193 67 │ socket_children(mod) ++1194 │ ~1195 │1196 └─ lib/phoenix/endpoint/supervisor.ex:67:7: Phoenix.Endpoint.Supervisor.init/111971198 warning: expected a module (an atom) when invoking compress_file/2 in expression:11991200 compressor.compress_file(file.digested_filename, file.digested_content)12011202 where "compressor" was given the type:12031204 # type: dynamic(%{..., file_extensions: non_empty_list(term(), term())})1205 # from: lib/phoenix/digester.ex:167:281206 [file_extension | _] = compressor.file_extensions12071208 where "file" was given the type:12091210 # type: dynamic(%{..., relative_path: term()})1211 # from: lib/phoenix/digester.ex:161:171212 Path.join(output_path, file.relative_path)12131214 type warning found at:1215 │1216 170 │ compressor.compress_file(file.digested_filename, file.digested_content) do1217 │ ~1218 │1219 └─ lib/phoenix/digester.ex:170:25: Phoenix.Digester.write_to_disk/212201221Generated phoenix app1222==> phoenix_live_view1223Compiling 55 files (.ex)1224Generated phoenix_live_view app1225==> phoenix_live_dashboard1226Compiling 36 files (.ex)1227 warning: Postgrex.Interval.to_string/1 is undefined (module Postgrex.Interval is not available or is yet to be defined)1228 │1229 326 │ do: struct.to_string(value)1230 │ ~1231 │1232 └─ lib/phoenix/live_dashboard/pages/ecto_stats_page.ex:326:16: Phoenix.LiveDashboard.EctoStatsPage.format/212331234Generated phoenix_live_dashboard app1235warning: Phoenix now requires you to explicitly list which engine to use1236for Phoenix JSON encoding. We recommend everyone to upgrade to1237Jason by setting in your config/config.exs:12381239 config :phoenix, :json_library, Jason12401241And then adding {:jason, "~> 1.0"} as a dependency.12421243If instead you would rather continue using Poison, then add to1244your config/config.exs:12451246 config :phoenix, :json_library, Poison12471248 (phoenix 1.6.17) lib/phoenix.ex:56: Phoenix.start/21249 (kernel 11.0.4) application_master.erl:299: :application_master.start_it_old/412501251warning: the :gettext compiler is no longer required in your mix.exs.12521253Please find the following line in your mix.exs and remove the :gettext entry:12541255 compilers: [..., :gettext, ...] ++ Mix.compilers(),12561257 (gettext 0.26.2) lib/mix/tasks/compile.gettext.ex:5: Mix.Tasks.Compile.Gettext.run/11258 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51259 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21260 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41261 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/21262 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/512631264==> humo1265Compiling 42 files (.ex)1266 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.12671268 This error happens when you have function calls without parentheses inside keywords. For example:12691270 function(arg, one: nested_call a, b, c)1271 function(arg, one: if expr, do: :this, else: :that)12721273 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:12741275 function(arg, one: if(expr, do: :this, else: :that))1276 function(arg, one: nested_call(a, b, c))12771278 Ambiguity found at:1279 │1280 47 │ raise ArgumentError,1281 │ ~~~~~~~~~~~~~~~~~~~~1282 │1283 └─ lib/humo/warehouse.ex:4712841285 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.12861287 This error happens when you have function calls without parentheses inside keywords. For example:12881289 function(arg, one: nested_call a, b, c)1290 function(arg, one: if expr, do: :this, else: :that)12911292 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:12931294 function(arg, one: if(expr, do: :this, else: :that))1295 function(arg, one: nested_call(a, b, c))12961297 Ambiguity found at:1298 │1299 56 │ raise ArgumentError,1300 │ ~~~~~~~~~~~~~~~~~~~~1301 │1302 └─ lib/humo/warehouse.ex:5613031304 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.13051306 This error happens when you have function calls without parentheses inside keywords. For example:13071308 function(arg, one: nested_call a, b, c)1309 function(arg, one: if expr, do: :this, else: :that)13101311 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:13121313 function(arg, one: if(expr, do: :this, else: :that))1314 function(arg, one: nested_call(a, b, c))13151316 Ambiguity found at:1317 │1318 63 │ raise ArgumentError,1319 │ ~~~~~~~~~~~~~~~~~~~~1320 │1321 └─ lib/humo/warehouse.ex:6313221323 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.13241325 This error happens when you have function calls without parentheses inside keywords. For example:13261327 function(arg, one: nested_call a, b, c)1328 function(arg, one: if expr, do: :this, else: :that)13291330 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:13311332 function(arg, one: if(expr, do: :this, else: :that))1333 function(arg, one: nested_call(a, b, c))13341335 Ambiguity found at:1336 │1337 72 │ raise ArgumentError,1338 │ ~~~~~~~~~~~~~~~~~~~~1339 │1340 └─ lib/humo/warehouse.ex:7213411342 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.13431344 This error happens when you have function calls without parentheses inside keywords. For example:13451346 function(arg, one: nested_call a, b, c)1347 function(arg, one: if expr, do: :this, else: :that)13481349 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:13501351 function(arg, one: if(expr, do: :this, else: :that))1352 function(arg, one: nested_call(a, b, c))13531354 Ambiguity found at:1355 │1356 80 │ raise ArgumentError,1357 │ ~~~~~~~~~~~~~~~~~~~~1358 │1359 └─ lib/humo/warehouse.ex:8013601361 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.13621363 This error happens when you have function calls without parentheses inside keywords. For example:13641365 function(arg, one: nested_call a, b, c)1366 function(arg, one: if expr, do: :this, else: :that)13671368 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:13691370 function(arg, one: if(expr, do: :this, else: :that))1371 function(arg, one: nested_call(a, b, c))13721373 Ambiguity found at:1374 │1375 79 │ unless is_binary(action), do:1376 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1377 │1378 └─ lib/humo/warehouse.ex:79137913801381== Compilation error in file lib/humo/repo.ex ==1382** (ArgumentError) could not fetch application environment Humo.Repo for application :humo because the application was not loaded nor configured1383 (elixir 1.20.3) lib/application.ex:642: Application.compile_env!/31384 lib/humo/repo.ex:4: (module)1385could 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"