Build log
nerves_system_x86_64
ami 0.3.9 · fail · run ami-0.3.9-1789688898124
1269 of 1269 lines
1Resolving Hex dependencies...2Resolution completed in 0.694s3Unchanged:4 ami 0.3.95 arc 0.11.06 arc_ecto 0.11.37 certifi 2.3.18 circular_buffer 1.1.09 combine 0.10.010 cowboy 2.19.011 cowboy_telemetry 0.4.012 cowlib 2.20.0 VULNERABLE!13 EEF-CVE-2026-43966 (MEDIUM)14 aka: CVE-2026-43966, GHSA-w4f7-4cxr-rv3c15 HTTP Response Splitting via Non-VCHAR Bytes in cow_http_struct_hd:escape_string/216 https://osv.dev/vulnerability/EEF-CVE-2026-439661718 EEF-CVE-2026-43969 (LOW)19 aka: CVE-2026-43969, GHSA-g2wm-735q-3f5620 Cookie Request Header Injection via Unvalidated Encoder in cow_cookie:cookie/121 https://osv.dev/vulnerability/EEF-CVE-2026-4396922 db_connection 2.10.223 decimal 2.4.1 VULNERABLE!24 EEF-CVE-2026-32686 (MEDIUM)25 aka: CVE-2026-32686, GHSA-rhv4-8758-jx7v26 Unbounded exponent in decimal enables unauthenticated DoS27 https://osv.dev/vulnerability/EEF-CVE-2026-3268628 ecto 3.11.229 ecto_sql 3.11.330 elixir_make 0.10.031 ex_aws 2.2.132 ex_aws_s3 2.5.933 expo 1.1.134 gettext 0.26.235 hackney 1.13.0 VULNERABLE!36 GHSA-vq52-99r9-h5pw (LOW)37 aka: CVE-2025-121138 Server-side Request Forgery (SSRF) in hackney39 https://osv.dev/vulnerability/GHSA-vq52-99r9-h5pw4041 EEF-CVE-2026-47075 (MEDIUM)42 aka: CVE-2026-47075, GHSA-j9wq-vxxc-94wf43 CR/LF injection in query parameter in hackney44 https://osv.dev/vulnerability/EEF-CVE-2026-470754546 EEF-CVE-2026-47071 (HIGH)47 aka: CVE-2026-47071, GHSA-gp9c-pm5m-5cxr48 SOCKS5 TLS upgrade ignores caller timeout in hackney49 https://osv.dev/vulnerability/EEF-CVE-2026-470715051 EEF-CVE-2026-47076 (MEDIUM)52 aka: CVE-2026-47076, GHSA-pj7v-xfvx-wmjq53 SSRF allowlist bypass via percent-encoded host in hackney54 https://osv.dev/vulnerability/EEF-CVE-2026-470765556 EEF-CVE-2026-47069 (LOW)57 aka: CVE-2026-47069, GHSA-mp55-p8c9-rfw258 CRLF injection in cookie domain/path options in hackney59 https://osv.dev/vulnerability/EEF-CVE-2026-470696061 GHSA-9fm9-hp7p-53mf (LOW)62 aka: CVE-2025-386463 Hackney fails to properly release HTTP connections to the pool64 https://osv.dev/vulnerability/GHSA-9fm9-hp7p-53mf65 idna 5.1.266 interactive_cmd 0.1.467 jason 1.4.568 metrics 1.0.169 mime 2.0.770 mimerl 1.0.271 nerves 1.15.072 nerves_discovery 0.1.573 nerves_logging 0.2.474 nerves_runtime 0.13.1375 nerves_system_bbb 2.30.276 nerves_system_br 1.34.477 nerves_system_mangopi_mq_pro 0.17.278 nerves_system_qemu_aarch64 0.4.279 nerves_system_rpi 2.1.280 nerves_system_rpi0 2.1.281 nerves_system_rpi0_2 2.1.282 nerves_system_rpi2 2.1.283 nerves_system_rpi3 2.1.284 nerves_system_rpi4 2.1.285 nerves_system_rpi5 2.1.286 nerves_system_x86_64 1.34.287 nerves_toolchain_aarch64_nerves_linux_gnu 15.3.188 nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.189 nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.190 nerves_toolchain_riscv64_nerves_linux_gnu 15.3.191 nerves_toolchain_x86_64_nerves_linux_musl 15.3.192 nerves_uevent 0.1.793 parse_trans 3.2.094 plug 1.20.395 plug_cowboy 2.9.096 plug_crypto 2.2.097 poison 3.1.098 postgrex 0.22.499 property_table 0.3.4100 ranch 2.3.0101 ring_logger 0.11.7102 scrivener 2.7.2103 scrivener_ecto 2.7.1104 shoehorn 0.9.3105 ssl_verify_fun 1.1.1106 sweet_xml 0.7.5107 tablet 0.3.3108 telemetry 1.4.2109 timex 3.4.2110 toolshed 0.5.0111 tzdata 0.5.22112 uboot_env 1.0.2113 unicode_util_compat 0.3.1114* Getting ami (Hex package)115* Getting nerves (Hex package)116* Getting shoehorn (Hex package)117* Getting ring_logger (Hex package)118* Getting toolshed (Hex package)119* Getting nerves_runtime (Hex package)120* Getting nerves_system_bbb (Hex package)121* Getting nerves_system_mangopi_mq_pro (Hex package)122* Getting nerves_system_qemu_aarch64 (Hex package)123* Getting nerves_system_rpi (Hex package)124* Getting nerves_system_rpi0 (Hex package)125* Getting nerves_system_rpi0_2 (Hex package)126* Getting nerves_system_rpi2 (Hex package)127* Getting nerves_system_rpi3 (Hex package)128* Getting nerves_system_rpi4 (Hex package)129* Getting nerves_system_rpi5 (Hex package)130* Getting nerves_system_x86_64 (Hex package)131* Getting nerves_system_br (Hex package)132* Getting nerves_toolchain_x86_64_nerves_linux_musl (Hex package)133* Getting nerves_toolchain_aarch64_nerves_linux_gnu (Hex package)134* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)135* Getting nerves_toolchain_armv6_nerves_linux_gnueabihf (Hex package)136* Getting nerves_toolchain_riscv64_nerves_linux_gnu (Hex package)137* Getting nerves_logging (Hex package)138* Getting nerves_uevent (Hex package)139* Getting uboot_env (Hex package)140* Getting elixir_make (Hex package)141* Getting property_table (Hex package)142* Getting circular_buffer (Hex package)143* Getting interactive_cmd (Hex package)144* Getting jason (Hex package)145* Getting nerves_discovery (Hex package)146* Getting tablet (Hex package)147* Getting arc (Hex package)148* Getting arc_ecto (Hex package)149* Getting ecto_sql (Hex package)150* Getting ex_aws (Hex package)151* Getting ex_aws_s3 (Hex package)152* Getting gettext (Hex package)153* Getting hackney (Hex package)154* Getting parse_trans (Hex package)155* Getting plug_cowboy (Hex package)156* Getting poison (Hex package)157* Getting postgrex (Hex package)158* Getting scrivener_ecto (Hex package)159* Getting sweet_xml (Hex package)160* Getting timex (Hex package)161* Getting combine (Hex package)162* Getting tzdata (Hex package)163* Getting ecto (Hex package)164* Getting scrivener (Hex package)165* Getting decimal (Hex package)166* Getting telemetry (Hex package)167* Getting db_connection (Hex package)168* Getting cowboy (Hex package)169* Getting cowboy_telemetry (Hex package)170* Getting plug (Hex package)171* Getting mime (Hex package)172* Getting plug_crypto (Hex package)173* Getting cowlib (Hex package)174* Getting ranch (Hex package)175* Getting certifi (Hex package)176* Getting idna (Hex package)177* Getting metrics (Hex package)178* Getting mimerl (Hex package)179* Getting ssl_verify_fun (Hex package)180* Getting unicode_util_compat (Hex package)181* Getting expo (Hex package)182Found packages with security advisories, see above for details183You have added/upgraded packages you could sponsor, run `mix hex.sponsor` to learn more184==> tablet185Compiling 2 files (.ex)186Generated tablet app187==> elixir_make188Compiling 8 files (.ex)189Generated elixir_make app190==> nerves_discovery191Compiling 5 files (.ex)192Generated nerves_discovery app193==> decimal194Compiling 4 files (.ex)195 warning: this clause of defp check_dbl_min_max/1 is never used (or it will always fail/warn when invoked)196 │197 2842 │ defp check_dbl_min_max(%Decimal{coef: :inf} = infinity), do: infinity198 │ ~199 │200 └─ lib/decimal.ex:2842:8: Decimal.check_dbl_min_max/1201202Generated decimal app203==> jason204Compiling 10 files (.ex)205Generated jason app206==> interactive_cmd207Compiling 1 file (.ex)208Generated interactive_cmd app209==> nerves210HOST_CC port.o211HOST_LD port212Compiling 55 files (.ex)213Generated nerves app214==> nerves_compatibility_test215216Nerves environment217 MIX_TARGET: x86_64218 MIX_ENV: prod219220Checking for prebuilt Nerves artifacts...221 warning: String.strip/1 is deprecated. Use String.trim/1 instead222 │223 4 │ @version File.read!("VERSION") |> String.strip224 │ ~225 │226 └─ /work/proj/deps_x86_64/poison/mix.exs:4:44: Poison.Mixfile (module)227228 Found nerves_system_x86_64 in cache229 /home/nerves/.nerves/artifacts/nerves_system_x86_64-portable-1.34.2230 Found nerves_toolchain_x86_64_nerves_linux_musl in cache231 /home/nerves/.nerves/artifacts/nerves_toolchain_x86_64_nerves_linux_musl-linux_x86_64-15.3.1232==> decimal233 warning: this clause of defp check_dbl_min_max/1 is never used (or it will always fail/warn when invoked)234 │235 2842 │ defp check_dbl_min_max(%Decimal{coef: :inf} = infinity), do: infinity236 │ ~237 │238 └─ (decimal 2.4.1) lib/decimal.ex:2842:8: Decimal.check_dbl_min_max/1239240==> nerves241 warning: String.strip/1 is deprecated. Use String.trim/1 instead242 │243 4 │ @version File.read!("VERSION") |> String.strip244 │ ~245 │246 └─ /work/proj/deps_x86_64/poison/mix.exs:4:44: Poison.Mixfile (module)247248==> nerves_compatibility_test249250Nerves environment251 MIX_TARGET: x86_64252 MIX_ENV: prod253254===> Analyzing applications...255===> Compiling unicode_util_compat256===> Analyzing applications...257===> Compiling idna258warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"259 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2260 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1261 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5262 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2263 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4264 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2265266==> ecto_sql267Compiling 25 files (.ex)268 warning: the variable "size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator269 │270 93 │ <<_, unquoted::binary-size(size), _>> = quoted271 │ ~272 │273 └─ lib/ecto/adapters/postgres/connection.ex:93:34: Ecto.Adapters.Postgres.Connection.strip_quotes/1274275 warning: unused require Ecto.Query276 │277 140 │ require Ecto.Query278 │ ~279 │280 └─ lib/ecto/adapters/tds.ex:140:3281282 warning: unused require Logger283 │284 139 │ require Logger285 │ ~286 │287 └─ lib/ecto/adapters/tds.ex:139:3288289 warning: unused require Ecto.Query290 │291 107 │ require Ecto.Query292 │ ~293 │294 └─ lib/ecto/migrator.ex:107:3295296 warning: this clause of defp validate_index_opts!/1 is never used (or it will always fail/warn when invoked)297 │298 1558 │ defp validate_index_opts!(opts), do: opts299 │ ~300 │301 └─ lib/ecto/migration.ex:1558:8: Ecto.Migration.validate_index_opts!/1302303 warning: this clause of defp drop_reference_if_exists_expr/3 is never used (or it will always fail/warn when invoked)304 │305 1732 │ defp drop_reference_if_exists_expr(_, _, _),306 │ ~307 │308 └─ lib/ecto/adapters/postgres/connection.ex:1732:10: Ecto.Adapters.Postgres.Connection.drop_reference_if_exists_expr/3309310 warning: List.zip/1 is deprecated. Use Enum.zip/1 instead311 │312 681 │ |> List.zip()313 │ ~314 │315 └─ lib/ecto/adapters/sql.ex:681:15: Ecto.Adapters.SQL.format_table/1316 └─ lib/ecto/adapters/sql.ex:712:15: Ecto.Adapters.SQL.cells/2317318Generated ecto_sql app319==> nerves_compatibility_test320===> Analyzing applications...321===> Compiling parse_trans322 ┌─ src/parse_trans.erl:323 │324 129 │ throw({error,get_pos(I),{R, erlang:get_stacktrace()}}).325 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace326327 ┌─ src/parse_trans.erl:328 │329 181 │ error(Reason, F, [{form, F}]);330 │ ╰── Warning: ambiguous call of overridden auto-imported BIF error/3 --331use erlang:error/3 or "-compile({no_auto_import,[error/3]})." to resolve name clash332333 ┌─ src/parse_trans.erl:334 │335 326 │ {Reason, erlang:get_stacktrace()}}]}]};336 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace337338 ┌─ src/parse_trans.erl:339 │340 346 │ {Reason, erlang:get_stacktrace()}}]}]};341 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace342343 ┌─ src/parse_trans.erl:344 │345 562 │ error(error_reading_file, ?HERE, [{File,Err}])346 │ ╰── Warning: ambiguous call of overridden auto-imported BIF error/3 --347use erlang:error/3 or "-compile({no_auto_import,[error/3]})." to resolve name clash348349 ┌─ src/parse_trans.erl:350 │351 737 │ 1, Class, Reason, erlang:get_stacktrace(), StackF, PrintF)).352 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace353354 ┌─ src/parse_trans.erl:355 │356 868 │ ?ERROR(Reason,357 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace358359 ┌─ src/parse_trans.erl:360 │361 874 │ {form, Form}] ++ [{stack, erlang:get_stacktrace()}])362 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace363364 ┌─ src/parse_trans.erl:365 │366 874 │ {form, Form}] ++ [{stack, erlang:get_stacktrace()}])367 │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace368369370===> Analyzing applications...371===> Compiling certifi372===> Analyzing applications...373===> Compiling hackney374 ┌─ src/hackney_trace.erl:375 │376 132 │ (catch io:format(standard_io, "stop trace at ~s~n", [format_timestamp(Timestamp)])),377 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.378Compile directive 'nowarn_deprecated_catch' can be used to suppress379warnings in selected modules.380381 ┌─ src/hackney_trace.erl:382 │383 139 │ (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),384 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.385Compile directive 'nowarn_deprecated_catch' can be used to suppress386warnings in selected modules.387388 ┌─ src/hackney_trace.erl:389 │390 146 │ (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),391 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.392Compile directive 'nowarn_deprecated_catch' can be used to suppress393warnings in selected modules.394395 ┌─ src/hackney_trace.erl:396 │397 147 │ (catch file:close(Fd)),398 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.399Compile directive 'nowarn_deprecated_catch' can be used to suppress400warnings in selected modules.401402 ┌─ src/hackney_trace.erl:403 │404 154 │ (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),405 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.406Compile directive 'nowarn_deprecated_catch' can be used to suppress407warnings in selected modules.408409 ┌─ src/hackney_trace.erl:410 │411 155 │ (catch file:close(Fd)),412 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.413Compile directive 'nowarn_deprecated_catch' can be used to suppress414warnings in selected modules.415416 ┌─ src/hackney_trace.erl:417 │418 161 │ (catch print_hackney_trace(Fd, Sev, Timestamp, Who,419 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.420Compile directive 'nowarn_deprecated_catch' can be used to suppress421warnings in selected modules.422423 ┌─ src/hackney_trace.erl:424 │425 165 │ (catch print_trace(Fd, Event)),426 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.427Compile directive 'nowarn_deprecated_catch' can be used to suppress428warnings in selected modules.429430431 ┌─ src/hackney_ssl.erl:432 │433 78 │ case lists:keymember(ecdh_rsa, 1, ssl:cipher_suites()) of434 │ ╰── Warning: ssl:cipher_suites/0 is removed; use ssl:cipher_suites/2,3 instead435436437 ┌─ src/hackney_pool.erl:438 │439 71 │ case catch gen_server:call(Pool, {checkout, {Host, Port, Transport},440 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.441Compile directive 'nowarn_deprecated_catch' can be used to suppress442warnings in selected modules.443444 ┌─ src/hackney_pool.erl:445 │446 98 │ catch Transport:close(Socket),447 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.448Compile directive 'nowarn_deprecated_catch' can be used to suppress449warnings in selected modules.450451 ┌─ src/hackney_pool.erl:452 │453 102 │ catch Transport:close(Socket),454 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.455Compile directive 'nowarn_deprecated_catch' can be used to suppress456warnings in selected modules.457458 ┌─ src/hackney_pool.erl:459 │460 296 │ catch Transport:close(Socket),461 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.462Compile directive 'nowarn_deprecated_catch' can be used to suppress463warnings in selected modules.464465 ┌─ src/hackney_pool.erl:466 │467 407 │ catch Transport:controlling_process(S, self()),468 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.469Compile directive 'nowarn_deprecated_catch' can be used to suppress470warnings in selected modules.471472 ┌─ src/hackney_pool.erl:473 │474 429 │ catch Transport:close(Socket),475 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.476Compile directive 'nowarn_deprecated_catch' can be used to suppress477warnings in selected modules.478479 ┌─ src/hackney_pool.erl:480 │481 537 │ _ = (catch Transport:close(Socket)),482 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.483Compile directive 'nowarn_deprecated_catch' can be used to suppress484warnings in selected modules.485486487 ┌─ src/hackney_manager.erl:488 │489 122 │ catch Transport:controlling_process(Socket, self()),490 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.491Compile directive 'nowarn_deprecated_catch' can be used to suppress492warnings in selected modules.493494 ┌─ src/hackney_manager.erl:495 │496 123 │ catch Transport:close(Socket),497 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.498Compile directive 'nowarn_deprecated_catch' can be used to suppress499warnings in selected modules.500501 ┌─ src/hackney_manager.erl:502 │503 258 │ catch Transport:controlling_process(Socket, self()),504 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.505Compile directive 'nowarn_deprecated_catch' can be used to suppress506warnings in selected modules.507508 ┌─ src/hackney_manager.erl:509 │510 259 │ catch Transport:close(Socket),511 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.512Compile directive 'nowarn_deprecated_catch' can be used to suppress513warnings in selected modules.514515 ┌─ src/hackney_manager.erl:516 │517 439 │ case catch hackney_stream:start_link(StreamTo2, Ref, Client) of518 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.519Compile directive 'nowarn_deprecated_catch' can be used to suppress520warnings in selected modules.521522 ┌─ src/hackney_manager.erl:523 │524 456 │ catch Transport:close(Socket),525 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.526Compile directive 'nowarn_deprecated_catch' can be used to suppress527warnings in selected modules.528529 ┌─ src/hackney_manager.erl:530 │531 586 │ catch unlink(Pid),532 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.533Compile directive 'nowarn_deprecated_catch' can be used to suppress534warnings in selected modules.535536537==> tzdata538Compiling 16 files (.ex)539 warning: unknown compiler variable "______" (expected one of __MODULE__, __ENV__, __DIR__, __CALLER__, __STACKTRACE__)540 │541 27 │ ______ -> [head|process_tz_list(tail)] # pass through542 │ ~543 │544 └─ lib/tzdata/parser.ex:27:7: Tzdata.Parser.process_tz_list/1545546 warning: unused require Tzdata.Util547 │548 4 │ require Tzdata.Util549 │ ~550 │551 └─ lib/tzdata/parser.ex:4:3552553 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead554 │555 8 │ worker(Tzdata.EtsHolder, [])556 │ ~557 │558 └─ lib/tzdata/tzdata_app.ex:8:7: Tzdata.App.start/2559 └─ lib/tzdata/tzdata_app.ex:11:39: Tzdata.App.start/2560561 warning: :random.uniform/1 is deprecated. Use the 'rand' module instead562 │563 16 │ "#{data_dir()}/tmp_downloads/#{content_length}_#{:random.uniform(100_000_000)}/"564 │ ~565 │566 └─ lib/tzdata/data_loader.ex:16:64: Tzdata.DataLoader.download_new/1567568 warning: comparison between distinct types found:569570 period.until == :max571572 given types:573574 dynamic(%{..., utc: term()}) == :max575576 where "period" was given the types:577578 # type: dynamic(%{..., from: %{..., utc: term()}})579 # from: lib/tzdata/period_builder.ex:15:50580 period.from.utc < period.until.utc581582 # type: dynamic(%{..., from: %{..., utc: term()}, until: %{..., utc: term()}})583 # from: lib/tzdata/period_builder.ex:15:50584 period.from.utc < period.until.utc585586 # type: dynamic(%{..., from: %{..., utc: not :min}, until: %{..., utc: term()}})587 # from: lib/tzdata/period_builder.ex:15:88588 period.from.utc == :min589590 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 false591592 type warning found at:593 │594 15 │ |> Enum.filter(fn(period) -> period.from.utc < period.until.utc or period.from.utc == :min or period.until == :max end)595 │ ~596 │597 └─ lib/tzdata/period_builder.ex:15:112: Tzdata.PeriodBuilder.calc_periods/2598599Generated tzdata app600warning: the :gettext compiler is no longer required in your mix.exs.601602Please find the following line in your mix.exs and remove the :gettext entry:603604 compilers: [..., :gettext, ...] ++ Mix.compilers(),605606 (gettext 0.26.2) lib/mix/tasks/compile.gettext.ex:5: Mix.Tasks.Compile.Gettext.run/1607 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5608 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2609 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4610 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2611 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5612613==> timex614Compiling 58 files (.ex)615 warning: default arguments in protocol definitions is deprecated616 │617 54 │ def compare(a, b, granularity \\ :microseconds)618 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~619 │620 └─ lib/comparable/comparable.ex:54: Timex.Comparable (module)621622 warning: default arguments in protocol definitions is deprecated623 │624 99 │ def diff(a, b, granularity \\ :microseconds)625 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~626 │627 └─ lib/comparable/comparable.ex:99: Timex.Comparable (module)628629 warning: protocols can only define functions without implementation via def/1, found: compare/2, diff/2630 │631 1 │ defprotocol Timex.Comparable do632 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~633 │634 └─ lib/comparable/comparable.ex:1: Timex.Comparable (module)635636 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.637638 This error happens when you have function calls without parentheses inside keywords. For example:639640 function(arg, one: nested_call a, b, c)641 function(arg, one: if expr, do: :this, else: :that)642643 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:644645 function(arg, one: if(expr, do: :this, else: :that))646 function(arg, one: nested_call(a, b, c))647648 Ambiguity found at:649 │650 44 │ do: raise ArgumentError, to_string(reason)651 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~652 │653 └─ lib/format/datetime/formatter.ex:44654655warning: min..max inside match is deprecated, you must always match on the step: min..max//var or min..max//_ if you want to ignore it656 lib/format/datetime/formatter.ex:713: Timex.Format.DateTime.Formatter.width_spec/1657658warning: defining a Gettext backend by calling659660 use Gettext, otp_app: ...661662is deprecated. To define a backend, call:663664 use Gettext.Backend, otp_app: :my_app665666Then, instead of importing your backend, call this in your module:667668 use Gettext, backend: MyApp.Gettext669670 lib/l10n/gettext.ex:2: Timex.Gettext (module)67167267300:22:26.303 [error] priv/translations/id/LC_MESSAGES/units.po:24: message is missing plural form 1 which is required by the locale "id"67467500:22:26.304 [error] priv/translations/id/LC_MESSAGES/units.po:29: message is missing plural form 1 which is required by the locale "id"67667700:22:26.304 [error] priv/translations/id/LC_MESSAGES/units.po:34: message is missing plural form 1 which is required by the locale "id"67867900:22:26.304 [error] priv/translations/id/LC_MESSAGES/units.po:39: message is missing plural form 1 which is required by the locale "id"68068100:22:26.304 [error] priv/translations/id/LC_MESSAGES/units.po:44: message is missing plural form 1 which is required by the locale "id"68268300:22:26.304 [error] priv/translations/id/LC_MESSAGES/units.po:49: message is missing plural form 1 which is required by the locale "id"68468500:22:26.304 [error] priv/translations/id/LC_MESSAGES/units.po:54: message is missing plural form 1 which is required by the locale "id"68668700:22:26.304 [error] priv/translations/id/LC_MESSAGES/units.po:59: message is missing plural form 1 which is required by the locale "id"68868900:22:26.304 [error] priv/translations/id/LC_MESSAGES/units.po:64: message is missing plural form 1 which is required by the locale "id"69069100:22:26.304 [error] priv/translations/id/LC_MESSAGES/units.po:69: message is missing plural form 1 which is required by the locale "id"692warning: Plural-Forms headers in the form "nplurals=<int>" (without the "plural=<rule>" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural).693For the "ro" locale, you can use the following header:694695nplurals=3; plural=(n==1 ? 0 : (n==0||(n%100>0 && n%100<20)) ? 1 : 2);696697 (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1698 (gettext 0.26.2) lib/gettext/compiler.ex:570: Gettext.Compiler.compile_plural_forms/4699 (gettext 0.26.2) lib/gettext/compiler.ex:508: Gettext.Compiler.compile_po_file/5700 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4701 (elixir 1.20.3) lib/enum.ex:1725: Enum."-map/2-lists^map/1-1-"/2702 (elixir 1.20.3) lib/enum.ex:1725: Enum."-map/2-lists^map/1-1-"/2703704warning: Plural-Forms headers in the form "nplurals=<int>" (without the "plural=<rule>" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural).705For the "ro" locale, you can use the following header:706707nplurals=3; plural=(n==1 ? 0 : (n==0||(n%100>0 && n%100<20)) ? 1 : 2);708709 (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1710 (gettext 0.26.2) lib/gettext/compiler.ex:563: Gettext.Compiler.nplurals/3711 (gettext 0.26.2) lib/gettext/compiler.ex:509: Gettext.Compiler.compile_po_file/5712 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4713 (elixir 1.20.3) lib/enum.ex:1725: Enum."-map/2-lists^map/1-1-"/2714 (elixir 1.20.3) lib/enum.ex:1725: Enum."-map/2-lists^map/1-1-"/2715716warning: Plural-Forms headers in the form "nplurals=<int>" (without the "plural=<rule>" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural).717For the "ro" locale, you can use the following header:718719nplurals=3; plural=(n==1 ? 0 : (n==0||(n%100>0 && n%100<20)) ? 1 : 2);720721 (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1722 (gettext 0.26.2) lib/gettext/compiler.ex:570: Gettext.Compiler.compile_plural_forms/4723 (gettext 0.26.2) lib/gettext/compiler.ex:508: Gettext.Compiler.compile_po_file/5724 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4725 (elixir 1.20.3) lib/enum.ex:1725: Enum."-map/2-lists^map/1-1-"/2726 (elixir 1.20.3) lib/enum.ex:1725: Enum."-map/2-lists^map/1-1-"/2727728warning: Plural-Forms headers in the form "nplurals=<int>" (without the "plural=<rule>" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural).729For the "ro" locale, you can use the following header:730731nplurals=3; plural=(n==1 ? 0 : (n==0||(n%100>0 && n%100<20)) ? 1 : 2);732733 (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1734 (gettext 0.26.2) lib/gettext/compiler.ex:563: Gettext.Compiler.nplurals/3735 (gettext 0.26.2) lib/gettext/compiler.ex:509: Gettext.Compiler.compile_po_file/5736 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4737 (elixir 1.20.3) lib/enum.ex:1725: Enum."-map/2-lists^map/1-1-"/2738 (elixir 1.20.3) lib/enum.ex:1725: Enum."-map/2-lists^map/1-1-"/2739740 warning: using single-quoted strings to represent charlists is deprecated.741 Use ~c"" if you indeed want a charlist or use "" instead.742 You may run "mix format --migrate" to change all single-quoted743 strings to use the ~c sigil and fix this warning.744 │745 7 │ @numeric '.0123456789'746 │ ~747 │748 └─ lib/parse/duration/parsers/iso8601.ex:7:12749750 warning: using single-quoted strings to represent charlists is deprecated.751 Use ~c"" if you indeed want a charlist or use "" instead.752 You may run "mix format --migrate" to change all single-quoted753 strings to use the ~c sigil and fix this warning.754 │755 103 │ defp parse_component(<<c::utf8>>, acc) when c in 'WYMDHS' do756 │ ~757 │758 └─ lib/parse/duration/parsers/iso8601.ex:103:52759760 warning: using single-quoted strings to represent charlists is deprecated.761 Use ~c"" if you indeed want a charlist or use "" instead.762 You may run "mix format --migrate" to change all single-quoted763 strings to use the ~c sigil and fix this warning.764 │765 120 │ defp parse_component(<<c::utf8, rest::binary>>, acc) when c in 'WYMDHS' do766 │ ~767 │768 └─ lib/parse/duration/parsers/iso8601.ex:120:66769770warning: 48..9 has a default step of -1, please write 48..9//-1 instead771 lib/parse/posix/parser.ex:139: Timex.Parse.Timezones.Posix.parse_time/3772773warning: 48..9 has a default step of -1, please write 48..9//-1 instead774 lib/parse/posix/parser.ex:143: Timex.Parse.Timezones.Posix.parse_time/3775776 warning: bitstring specifier "integer_32bit_be" does not exist and is being expanded to "integer_32bit_be()", please use parentheses to remove the ambiguity.777 You may run "mix format --migrate" to fix this warning automatically.778 │779 186 │ defp parse_int(<<val :: integer_32bit_be, rest :: binary>>), do: {val, rest}780 │ ~781 │782 └─ lib/parse/zoneinfo/parser.ex:186:24: Timex.Parse.ZoneInfo.Parser.parse_int/1783784 warning: bitstring specifier "signed_char_be" does not exist and is being expanded to "signed_char_be()", please use parentheses to remove the ambiguity.785 You may run "mix format --migrate" to fix this warning automatically.786 │787 187 │ defp parse_char(<<val :: signed_char_be, rest :: binary>>), do: {val, rest}788 │ ~789 │790 └─ lib/parse/zoneinfo/parser.ex:187:25: Timex.Parse.ZoneInfo.Parser.parse_char/1791792 warning: bitstring specifier "unsigned_char_be" does not exist and is being expanded to "unsigned_char_be()", please use parentheses to remove the ambiguity.793 You may run "mix format --migrate" to fix this warning automatically.794 │795 188 │ defp parse_uchar(<<val :: unsigned_char_be, rest :: binary>>), do: {val, rest}796 │ ~797 │798 └─ lib/parse/zoneinfo/parser.ex:188:26: Timex.Parse.ZoneInfo.Parser.parse_uchar/1799800 warning: default arguments in protocol definitions is deprecated801 │802 48 │ def to_datetime(datetime, timezone \\ :utc)803 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~804 │805 └─ lib/protocol.ex:48: Timex.Protocol (module)806807 warning: protocols can only define functions without implementation via def/1, found: to_datetime/1808 │809 1 │ defprotocol Timex.Protocol do810 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~811 │812 └─ lib/protocol.ex:1: Timex.Protocol (module)813814 warning: Module.eval_quoted/4 is deprecated. Use Code.eval_quoted/3 instead815 │816 1060 │ Module.eval_quoted(__MODULE__, day_quoted, [], __ENV__)817 │ ~818 │819 └─ lib/timex.ex:1060:12: Timex (module)820821 warning: Module.eval_quoted/4 is deprecated. Use Code.eval_quoted/3 instead822 │823 1148 │ Module.eval_quoted(__MODULE__, month_quoted, [], __ENV__)824 │ ~825 │826 └─ lib/timex.ex:1148:12: Timex (module)827828 warning: unused require Timex.Macros829 │830 5 │ require Timex.Macros831 │ ~832 │833 └─ lib/comparable/tuple.ex:5:3834835 warning: unused require Timex.Macros836 │837 5 │ require Timex.Macros838 │ ~839 │840 └─ lib/comparable/naivedatetime.ex:5:3841842 warning: unused require Bitwise843 │844 5 │ require Bitwise845 │ ~846 │847 └─ lib/calendar/julian.ex:5:3848849Compiling lib/parse/datetime/parser.ex (it's taking more than 10s)850Compiling lib/l10n/gettext.ex (it's taking more than 10s)851Compiling lib/datetime/helpers.ex (it's taking more than 10s)852 warning: using single-quoted strings to represent charlists is deprecated.853 Use ~c"" if you indeed want a charlist or use "" instead.854 You may run "mix format --migrate" to change all single-quoted855 strings to use the ~c sigil and fix this warning.856 │857 133 │ @local_tz_key 'SYSTEM\\CurrentControlSet\\Control\\TimeZoneInformation'858 │ ~859 │860 └─ lib/timezone/timezone_local.ex:133:17861862 warning: using single-quoted strings to represent charlists is deprecated.863 Use ~c"" if you indeed want a charlist or use "" instead.864 You may run "mix format --migrate" to change all single-quoted865 strings to use the ~c sigil and fix this warning.866 │867 134 │ @sys_tz_key 'SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Time Zones'868 │ ~869 │870 └─ lib/timezone/timezone_local.ex:134:17871872 warning: using single-quoted strings to represent charlists is deprecated.873 Use ~c"" if you indeed want a charlist or use "" instead.874 You may run "mix format --migrate" to change all single-quoted875 strings to use the ~c sigil and fix this warning.876 │877 135 │ @tz_key_name 'TimeZoneKeyName'878 │ ~879 │880 └─ lib/timezone/timezone_local.ex:135:17881882 warning: using single-quoted strings to represent charlists is deprecated.883 Use ~c"" if you indeed want a charlist or use "" instead.884 You may run "mix format --migrate" to change all single-quoted885 strings to use the ~c sigil and fix this warning.886 │887 142 │ :ok = :win32reg.change_key(handle, '\\local_machine\\#{@local_tz_key}')888 │ ~889 │890 └─ lib/timezone/timezone_local.ex:142:50891892 warning: using single-quoted strings to represent charlists is deprecated.893 Use ~c"" if you indeed want a charlist or use "" instead.894 You may run "mix format --migrate" to change all single-quoted895 strings to use the ~c sigil and fix this warning.896 │897 156 │ localized = List.keyfind(values, 'StandardName', 0)898 │ ~899 │900 └─ lib/timezone/timezone_local.ex:156:40901902 warning: using single-quoted strings to represent charlists is deprecated.903 Use ~c"" if you indeed want a charlist or use "" instead.904 You may run "mix format --migrate" to change all single-quoted905 strings to use the ~c sigil and fix this warning.906 │907 164 │ case List.keyfind(values, 'Std', 0) do908 │ ~909 │910 └─ lib/timezone/timezone_local.ex:164:35911912 warning: Module.eval_quoted/4 is deprecated. Use Code.eval_quoted/3 instead913 │914 21 │ Module.eval_quoted __MODULE__, quoted, [], __ENV__915 │ ~916 │917 └─ lib/timezone/utils.ex:21:12: Timex.Timezone.Utils (module)918919 warning: Module.eval_quoted/4 is deprecated. Use Code.eval_quoted/3 instead920 │921 38 │ Module.eval_quoted __MODULE__, quoted, [], __ENV__922 │ ~923 │924 └─ lib/timezone/utils.ex:38:12: Timex.Timezone.Utils (module)925926 warning: the following pattern will never match:927928 {y, m, d} <- to_erl_datetime(date)929930 because the right-hand side has type:931932 dynamic(933 {:error, :invalid_date} or934 {:ok, {{integer(), integer(), integer()}, {integer(), integer(), integer()}}}935 )936937 where "date" was given the type:938939 # type: dynamic({...})940 # from: lib/datetime/erlang.ex:8:17941 date942943 type warning found at:944 │945 9 │ with {y,m,d} <- to_erl_datetime(date),946 │ ~947 │948 └─ lib/datetime/erlang.ex:9:10: Timex.Protocol.Tuple.to_julian/1949950 warning: the following clause is redundant:951952 def shift(_, _)953954 it has type:955956 dynamic(%Date{}), dynamic()957958 previous clauses have already matched on the following types:959960 %Date{}, term()961962 │963 195 │ def shift(_, _), do: {:error, :badarg}964 │ ~965 │966 └─ lib/date/date.ex:195:7: Timex.Protocol.Date.shift/2967968Generated timex app969==> ex_aws970Compiling 27 files (.ex)971 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead972 │973 53 │ Logger.warn("ExAws: Received redirect, did you specify the correct region?")974 │ ~975 │976 └─ lib/ex_aws/request.ex:53:18: ExAws.Request.request_and_retry/7977978 warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead979 │980 88 │ Logger.warn(981 │ ~982 │983 └─ lib/ex_aws/request.ex:88:18: ExAws.Request.request_and_retry/7984985 warning: found ?\ followed by code point 0x20 (space), please use ?\s instead986 │987 111 │ defp valid_path_char?(?\ ), do: false988 │ ~989 │990 └─ lib/ex_aws/request/url.ex:111:25991992 warning: using single-quoted strings to represent charlists is deprecated.993 Use ~c"" if you indeed want a charlist or use "" instead.994 You may run "mix format --migrate" to change all single-quoted995 strings to use the ~c sigil and fix this warning.996 │997 46 │ |> Enum.reduce({true, ''}, fn998 │ ~999 │1000 └─ lib/ex_aws/utils.ex:46:2710011002 warning: the 1st pattern in clause will never match:10031004 %{stream_builder: fun}10051006 because it is expected to receive type:10071008 dynamic(%ExAws.Operation.RestQuery{})10091010 hint: defimpl for ExAws.Operation.RestQuery requires its callbacks to match exclusively on %ExAws.Operation.RestQuery{}10111012 type warning found at:1013 │1014 29 │ def stream!(%{stream_builder: fun}, config) do1015 │ ~1016 │1017 └─ lib/ex_aws/operation/rest_query.ex:29:15: ExAws.Operation.ExAws.Operation.RestQuery.stream!/210181019Generated ex_aws app1020==> ex_aws_s31021Compiling 7 files (.ex)1022Generated ex_aws_s3 app1023==> arc1024Compiling 14 files (.ex)1025 warning: variable "asset_host" is unused (if the variable is not meant to be used, prefix it with an underscore)1026 │1027 9 │ asset_host = asset_host(definition)1028 │ ~~~~~~~~~~1029 │1030 └─ lib/arc/storage/s3.ex:9:5: Arc.Storage.S3.put/310311032 warning: System.cwd/0 is deprecated. Use File.cwd/0 instead1033 │1034 49 │ model_destination = Path.join(System.cwd(), "#{path}/#{underscore(model_name)}.ex")1035 │ ~1036 │1037 └─ lib/mix/tasks/g.ex:49:44: Mix.Tasks.Arc.G.generate_uploader_file/31038 └─ lib/mix/tasks/g.ex:55:44: Mix.Tasks.Arc.G.generate_phx_uploader_file/210391040 warning: a struct for Arc.File is expected on struct update:10411042 %Arc.File{file | path: new_path}10431044 but got type:10451046 dynamic()10471048 where "file" was given the type:10491050 # type: dynamic()1051 # from: lib/arc/transformations/convert.ex:3:251052 Arc.File.generate_temporary_path(file)10531054 when defining the variable "file", you must also pattern match on "%Arc.File{}"10551056 type warning found at:1057 │1058 11 │ {:ok, %Arc.File{file | path: new_path}}1059 │ ~1060 │1061 └─ lib/arc/transformations/convert.ex:11:15: Arc.Transformations.Convert.apply/310621063 warning: a struct for Arc.File is expected on struct update:10641065 %Arc.File{file | file_name: file_name}10661067 but got type:10681069 dynamic(not nil)10701071 where "file" was given the type:10721073 # type: dynamic(not nil)1074 # from: lib/arc/actions/store.ex1075 {:ok, file}10761077 when defining the variable "file", you must also pattern match on "%Arc.File{}"10781079 type warning found at:1080 │1081 82 │ file = %Arc.File{file | file_name: file_name}1082 │ ~1083 │1084 └─ lib/arc/actions/store.ex:82:21: Arc.Actions.Store.put_version/310851086 warning: incompatible types given to put_versions/2:10871088 put_versions(definition, {file, scope})10891090 given types:10911092 -dynamic(atom())-, dynamic({%Arc.File{}, term()})10931094 but expected one of:10951096 %{..., async: term()}, {term(), term()}10971098 where "definition" was given the type:10991100 # type: dynamic(atom())1101 # from: lib/arc/actions/store.ex:22:211102 definition.validate({file, scope})11031104 where "file" was given the types:11051106 # type: dynamic(%Arc.File{})1107 # from: lib/arc/actions/store.ex:21:361108 %Arc.File{} = file11091110 # type: dynamic(%Arc.File{})1111 # from: lib/arc/actions/store.ex1112 {%Arc.File{} = file, scope}11131114 where "scope" was given the type:11151116 # type: dynamic()1117 # from: lib/arc/actions/store.ex1118 {%Arc.File{} = file, scope}11191120 type warning found at:1121 │1122 23 │ true -> put_versions(definition, {file, scope})1123 │ ~1124 │1125 └─ lib/arc/actions/store.ex:23:15: Arc.Actions.Store.put/211261127 warning: incompatible types given to process_version/3:11281129 process_version(definition, version, {file, scope})11301131 given types:11321133 -dynamic(%{..., __versions: term(), async: false or nil})-, dynamic(), dynamic({term(), term()})11341135 but expected one of:11361137 atom(), term(), {term(), term()}11381139 where "definition" was given the types:11401141 # type: dynamic(%{..., async: term()})1142 # from: lib/arc/actions/store.ex:29:191143 definition.async11441145 # type: dynamic(%{..., async: false or nil})1146 # from: lib/arc/actions/store.ex:29:191147 definition.async11481149 # type: dynamic(%{..., __versions: term(), async: false or nil})1150 # from: lib/arc/actions/store.ex:39:151151 Enum.map(1152 definition.__versions,1153 fn version -> process_version(definition, version, {file, scope}) end1154 )11551156 where "file" was given the type:11571158 # type: dynamic()1159 # from: lib/arc/actions/store.ex1160 {file, scope}11611162 where "scope" was given the type:11631164 # type: dynamic()1165 # from: lib/arc/actions/store.ex1166 {file, scope}11671168 where "version" was given the type:11691170 # type: dynamic()1171 # from: lib/arc/actions/store.ex:39:221172 version11731174 type warning found at:1175 │1176 39 │ |> Enum.map(fn(version) -> process_version(definition, version, {file, scope}) end)1177 │ ~1178 │1179 └─ lib/arc/actions/store.ex:39:34: Arc.Actions.Store.put_versions/211801181 warning: expected a map or struct when accessing .__storage in expression:11821183 definition.__storage11841185 where "definition" was given the type:11861187 # type: dynamic(atom())1188 # from: lib/arc/actions/url.ex:45:361189 Arc.Definition.Versioning.resolve_file_name(definition, version, file_and_scope)11901191 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()11921193 type warning found at:1194 │1195 48 │ definition.__storage.url(definition, version, file_and_scope, options)1196 │ ~1197 │1198 └─ lib/arc/actions/url.ex:48:20: Arc.Actions.Url.build/411991200 warning: ExAws.S3.delete_object/2 is undefined (module ExAws.S3 is not available or is yet to be defined)1201 │1202 29 │ |> ExAws.S3.delete_object(s3_key(definition, version, {file, scope}))1203 │ ~1204 │1205 └─ lib/arc/storage/s3.ex:29:17: Arc.Storage.S3.delete/312061207 warning: ExAws.request/1 is undefined (module ExAws is not available or is yet to be defined). Make sure the module name is correct and has been specified in full (or that an alias has been defined)1208 │1209 30 │ |> ExAws.request()1210 │ ~1211 │1212 └─ lib/arc/storage/s3.ex:30:14: Arc.Storage.S3.delete/31213 └─ lib/arc/storage/s3.ex:45:14: Arc.Storage.S3.do_put/21214 └─ lib/arc/storage/s3.ex:57:14: Arc.Storage.S3.do_put/212151216 warning: ExAws.S3.put_object/4 is undefined (module ExAws.S3 is not available or is yet to be defined)1217 │1218 44 │ ExAws.S3.put_object(s3_bucket, s3_key, file_binary, s3_options)1219 │ ~1220 │1221 └─ lib/arc/storage/s3.ex:44:14: Arc.Storage.S3.do_put/212221223 warning: ExAws.S3.upload/4 is undefined (module ExAws.S3 is not available or is yet to be defined)1224 │1225 56 │ |> ExAws.S3.upload(s3_bucket, s3_key, s3_options)1226 │ ~1227 │1228 └─ lib/arc/storage/s3.ex:56:17: Arc.Storage.S3.do_put/212291230 warning: struct ExAws.Error is undefined (module ExAws.Error is not available or is yet to be defined)1231 │1232 64 │ e in ExAws.Error ->1233 │ ~1234 │1235 └─ lib/arc/storage/s3.ex:64:7: Arc.Storage.S3.do_put/212361237 warning: ExAws.Config.new/2 is undefined (module ExAws.Config is not available or is yet to be defined)1238 │1239 82 │ config = ExAws.Config.new(:s3, Application.get_all_env(:ex_aws))1240 │ ~1241 │1242 └─ lib/arc/storage/s3.ex:82:27: Arc.Storage.S3.build_signed_url/412431244 warning: ExAws.S3.presigned_url/5 is undefined (module ExAws.S3 is not available or is yet to be defined)1245 │1246 85 │ {:ok, url} = ExAws.S3.presigned_url(config, :get, s3_bucket, s3_key, options)1247 │ ~1248 │1249 └─ lib/arc/storage/s3.ex:85:27: Arc.Storage.S3.build_signed_url/412501251Generated arc app1252==> arc_ecto1253Compiling 4 files (.ex)1254 error: struct Ecto.Changeset is undefined (module Ecto.Changeset is not available or is yet to be defined)1255 │1256 54 │ def do_apply_changes(%Ecto.Changeset{} = changeset), do: Ecto.Changeset.apply_changes(changeset)1257 │ ^1258 │1259 └─ lib/arc_ecto/schema.ex:54:24: Arc.Ecto.Schema.do_apply_changes/112601261 warning: Ecto.Changeset.apply_changes/1 is undefined (module Ecto.Changeset is not available or is yet to be defined)1262 │1263 54 │ def do_apply_changes(%Ecto.Changeset{} = changeset), do: Ecto.Changeset.apply_changes(changeset)1264 │ ~1265 │1266 └─ lib/arc_ecto/schema.ex:54:75: Arc.Ecto.Schema.do_apply_changes/112671268== Type checking failed with errors ==1269could not compile dependency :arc_ecto, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile arc_ecto --force", update it with "mix deps.update arc_ecto" or clean it with "mix deps.clean arc_ecto"