Build log
nerves_system_qemu_aarch64
ravix 0.10.0 · fail · run ravix-0.10.0-1791082241335
1397 of 1397 lines
1Resolving Hex dependencies...2Resolution completed in 0.427s3Unchanged:4 castore 0.1.225 circular_buffer 1.1.06 combine 0.10.07 elixir_make 0.10.08 elixir_uuid 1.2.19 expo 1.1.110 finch 0.24.011 gettext 0.26.212 hpax 1.1.013 inflex 2.1.014 interactive_cmd 0.1.415 jason 1.4.516 jaxon 2.0.817 mappable 0.2.418 mime 2.0.719 mint 1.11.020 morphix 0.8.121 nebulex 2.6.622 nerves 2.0.0-pre.223 nerves_discovery 0.1.524 nerves_logging 0.2.425 nerves_runtime 0.13.1326 nerves_system_bbb 2.30.227 nerves_system_br 1.34.428 nerves_system_mangopi_mq_pro 0.17.229 nerves_system_qemu_aarch64 0.4.230 nerves_system_rpi0 2.1.231 nerves_system_rpi4 2.1.232 nerves_system_rpi5 2.1.233 nerves_system_trellis 0.5.034 nerves_system_x86_64 1.34.235 nerves_toolchain_aarch64_nerves_linux_gnu 15.3.136 nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.137 nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.138 nerves_toolchain_riscv64_nerves_linux_gnu 15.3.139 nerves_toolchain_x86_64_nerves_linux_musl 15.3.140 nerves_uevent 0.1.741 nimble_options 1.1.142 nimble_pool 1.1.043 ok 2.3.044 property_table 0.3.445 ravix 0.10.046 retry 0.19.047 ring_logger 0.11.748 tablet 0.3.349 telemetry 1.4.250 timex 3.7.1351 toolshed 0.5.052 tzdata 1.2.253 uboot_env 1.0.254* Getting ravix (Hex package)55* Getting nerves (Hex package)56* Getting ring_logger (Hex package)57* Getting toolshed (Hex package)58* Getting nerves_runtime (Hex package)59* Getting nerves_system_bbb (Hex package)60* Getting nerves_system_mangopi_mq_pro (Hex package)61* Getting nerves_system_qemu_aarch64 (Hex package)62* Getting nerves_system_rpi0 (Hex package)63* Getting nerves_system_rpi4 (Hex package)64* Getting nerves_system_rpi5 (Hex package)65* Getting nerves_system_trellis (Hex package)66* Getting nerves_system_x86_64 (Hex package)67* Getting nerves_system_br (Hex package)68* Getting nerves_toolchain_x86_64_nerves_linux_musl (Hex package)69* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)70* Getting nerves_toolchain_aarch64_nerves_linux_gnu (Hex package)71* Getting nerves_toolchain_armv6_nerves_linux_gnueabihf (Hex package)72* Getting nerves_toolchain_riscv64_nerves_linux_gnu (Hex package)73* Getting nerves_logging (Hex package)74* Getting nerves_uevent (Hex package)75* Getting uboot_env (Hex package)76* Getting elixir_make (Hex package)77* Getting property_table (Hex package)78* Getting circular_buffer (Hex package)79* Getting interactive_cmd (Hex package)80* Getting nerves_discovery (Hex package)81* Getting tablet (Hex package)82* Getting castore (Hex package)83* Getting elixir_uuid (Hex package)84* Getting finch (Hex package)85* Getting inflex (Hex package)86* Getting jason (Hex package)87* Getting jaxon (Hex package)88* Getting mappable (Hex package)89* Getting morphix (Hex package)90* Getting nebulex (Hex package)91* Getting ok (Hex package)92* Getting retry (Hex package)93* Getting telemetry (Hex package)94* Getting timex (Hex package)95* Getting tzdata (Hex package)96* Getting combine (Hex package)97* Getting gettext (Hex package)98* Getting expo (Hex package)99* Getting mime (Hex package)100* Getting mint (Hex package)101* Getting nimble_options (Hex package)102* Getting nimble_pool (Hex package)103* Getting hpax (Hex package)104==> nerves_system_br105Generated nerves_system_br app106==> mappable107Compiling 1 file (.ex)108Generated mappable app109==> combine110Compiling 6 files (.ex)111 warning: the variable "n" (context Combine.Parsers.Binary) is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator112 │113 26 │ <<bits::bitstring-size(n), rest::bitstring>> ->114 │ ~115 │116 └─ lib/combine/parsers/binary.ex:26:30: Combine.Parsers.Binary.bits_impl/2117118 warning: the variable "bits_size" (context Combine.Parsers.Binary) is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator119 │120 48 │ <<bits::bitstring-size(bits_size), rest::bitstring>> ->121 │ ~122 │123 └─ lib/combine/parsers/binary.ex:48:30: Combine.Parsers.Binary.bytes_impl/2124125 warning: the variable "size" (context Combine.Parsers.Binary) is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator126 │127 70 │ <<int::big-unsigned-size(size), rest::bitstring>> ->128 │ ~129 │130 └─ lib/combine/parsers/binary.ex:70:36: Combine.Parsers.Binary.uint_impl/3131132 warning: the variable "size" (context Combine.Parsers.Binary) is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator133 │134 77 │ <<int::little-unsigned-size(size), rest::bitstring>> ->135 │ ~136 │137 └─ lib/combine/parsers/binary.ex:77:39: Combine.Parsers.Binary.uint_impl/3138139 warning: the variable "size" (context Combine.Parsers.Binary) is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator140 │141 101 │ <<int::big-signed-size(size), rest::bitstring>> ->142 │ ~143 │144 └─ lib/combine/parsers/binary.ex:101:34: Combine.Parsers.Binary.int_impl/3145146 warning: the variable "size" (context Combine.Parsers.Binary) is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator147 │148 108 │ <<int::little-signed-size(size), rest::bitstring>> ->149 │ ~150 │151 └─ lib/combine/parsers/binary.ex:108:37: Combine.Parsers.Binary.int_impl/3152153 warning: the variable "size" (context Combine.Parsers.Binary) is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator154 │155 128 │ <<num::float-size(size), rest::bitstring>> ->156 │ ~157 │158 └─ lib/combine/parsers/binary.ex:128:25: Combine.Parsers.Binary.float_impl/2159160 warning: the variable "byte_size" (context Combine.Parsers.Text) is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator161 │162 432 │ <<^expected::binary-size(byte_size), rest::binary>> ->163 │ ~164 │165 └─ lib/combine/parsers/text.ex:432:34: Combine.Parsers.Text.string_impl/2166167 warning: the following clause is redundant:168169 defp word_of_impl(%Combine.ParserState{...} = state, _pattern)170171 it has type:172173 dynamic(%Combine.ParserState{status: :ok}), dynamic()174175 previous clauses have already matched on the following types:176177 %Combine.ParserState{status: :error}, term()178 %Combine.ParserState{status: :ok}, term()179180 │181 488 │ defp word_of_impl(%ParserState{status: :ok} = state, _pattern) do182 │ ~183 │184 └─ lib/combine/parsers/text.ex:488:8: Combine.Parsers.Text.word_of_impl/2185186Generated combine app187==> mime188Compiling 1 file (.ex)189Generated mime app190==> circular_buffer191Compiling 1 file (.ex)192Generated circular_buffer app193==> nimble_options194Compiling 3 files (.ex)195Generated nimble_options app196==> jason197Compiling 10 files (.ex)198Generated jason app199==> hpax200Compiling 4 files (.ex)201Generated hpax app202==> tzdata203Compiling 18 files (.ex)204Generated tzdata app205==> tablet206Compiling 2 files (.ex)207Generated tablet app208==> inflex209Compiling 6 files (.ex)210Generated inflex app211==> elixir_make212Compiling 8 files (.ex)213Generated elixir_make app214==> nerves_logging215 CC kmsg_tailer.o216 LD kmsg_tailer217Compiling 5 files (.ex)218Generated nerves_logging app219warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"220 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2221 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1222 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5223 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2224 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4225 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2226227==> castore228Compiling 1 file (.ex)229Generated castore app230==> mint231Compiling 1 file (.erl)232Compiling 21 files (.ex)233Generated mint app234==> elixir_uuid235Compiling 1 file (.ex)236 warning: use Bitwise is deprecated. import Bitwise instead237 │238 2 │ use Bitwise, only_operators: true239 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~240 │241 └─ lib/uuid.ex:2: UUID (module)242243Generated elixir_uuid app244==> nerves_discovery245Compiling 5 files (.ex)246Generated nerves_discovery app247==> ring_logger248Compiling 7 files (.ex)249Generated ring_logger app250==> interactive_cmd251Compiling 1 file (.ex)252Generated interactive_cmd app253==> nerves254Compiling 65 files (.ex)255 warning: redefining module Mix.Tasks.Nerves.Init (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Mix.Tasks.Nerves.Init.beam)256 │257 6 │ defmodule Mix.Tasks.Nerves.Init do258 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~259 │260 └─ lib/mix/tasks/nerves.init.ex:6: Mix.Tasks.Nerves.Init (module)261262 warning: redefining module Nerves (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.beam)263 │264 6 │ defmodule Nerves do265 │ ~~~~~~~~~~~~~~~~~~~266 │267 └─ lib/nerves.ex:6: Nerves (module)268269 warning: redefining module Nerves.ArtifactResolver (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.ArtifactResolver.beam)270 │271 5 │ defmodule Nerves.ArtifactResolver do272 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~273 │274 └─ lib/nerves/artifact_resolver.ex:5: Nerves.ArtifactResolver (module)275276 warning: redefining module Nerves.BuildAction.AppModes (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.AppModes.beam)277 │278 6 │ defmodule Nerves.BuildAction.AppModes do279 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~280 │281 └─ lib/nerves/build_action/app_modes.ex:6: Nerves.BuildAction.AppModes (module)282283 warning: redefining module Nerves.BuildAction.CheckExecutables (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.CheckExecutables.beam)284 │285 5 │ defmodule Nerves.BuildAction.CheckExecutables do286 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~287 │288 └─ lib/nerves/build_action/check_executables.ex:5: Nerves.BuildAction.CheckExecutables (module)289290 warning: redefining module Nerves.BuildAction.Erlinit (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.Erlinit.beam)291 │292 8 │ defmodule Nerves.BuildAction.Erlinit do293 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~294 │295 └─ lib/nerves/build_action/erlinit.ex:8: Nerves.BuildAction.Erlinit (module)296297 warning: redefining module Nerves.BuildAction.Firmware (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.Firmware.beam)298 │299 5 │ defmodule Nerves.BuildAction.Firmware do300 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~301 │302 └─ lib/nerves/build_action/firmware.ex:5: Nerves.BuildAction.Firmware (module)303304 warning: redefining module Nerves.BuildAction.IExStartupCheck (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.IExStartupCheck.beam)305 │306 7 │ defmodule Nerves.BuildAction.IExStartupCheck do307 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~308 │309 └─ lib/nerves/build_action/iex_startup_check.ex:7: Nerves.BuildAction.IExStartupCheck (module)310311 warning: redefining module Nerves.BuildAction.NervesV1System (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1System.beam)312 │313 5 │ defmodule Nerves.BuildAction.NervesV1System do314 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~315 │316 └─ lib/nerves/build_action/nerves_v1_system.ex:5: Nerves.BuildAction.NervesV1System (module)317318 warning: redefining module Nerves.BuildAction.NervesV1Toolchain (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1Toolchain.beam)319 │320 5 │ defmodule Nerves.BuildAction.NervesV1Toolchain do321 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~322 │323 └─ lib/nerves/build_action/nerves_v1_toolchain.ex:5: Nerves.BuildAction.NervesV1Toolchain (module)324325 warning: redefining module Nerves.BuildAction.Rootfs (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.Rootfs.beam)326 │327 5 │ defmodule Nerves.BuildAction.Rootfs do328 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~329 │330 └─ lib/nerves/build_action/rootfs.ex:5: Nerves.BuildAction.Rootfs (module)331332 warning: redefining module Nerves.BuildAction.SortApps (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.SortApps.beam)333 │334 6 │ defmodule Nerves.BuildAction.SortApps do335 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~336 │337 └─ lib/nerves/build_action/sort_apps.ex:6: Nerves.BuildAction.SortApps (module)338339 warning: redefining module Nerves.BuildAction.StripAll (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.StripAll.beam)340 │341 5 │ defmodule Nerves.BuildAction.StripAll do342 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~343 │344 └─ lib/nerves/build_action/strip_all.ex:5: Nerves.BuildAction.StripAll (module)345346 warning: redefining module Nerves.BuildAction.Trimmer (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildAction.Trimmer.beam)347 │348 5 │ defmodule Nerves.BuildAction.Trimmer do349 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~350 │351 └─ lib/nerves/build_action/trimmer.ex:5: Nerves.BuildAction.Trimmer (module)352353 warning: redefining module Nerves.BuildPlan (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildPlan.beam)354 │355 5 │ defmodule Nerves.BuildPlan do356 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~357 │358 └─ lib/nerves/build_plan.ex:5: Nerves.BuildPlan (module)359360 warning: redefining module Nerves.BuildPlan.Checks (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.BuildPlan.Checks.beam)361 │362 5 │ defmodule Nerves.BuildPlan.Checks do363 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~364 │365 └─ lib/nerves/build_plan/checks.ex:5: Nerves.BuildPlan.Checks (module)366367 warning: redefining module Nerves.Container (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.Container.beam)368 │369 6 │ defmodule Nerves.Container do370 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~371 │372 └─ lib/nerves/container.ex:6: Nerves.Container (module)373374 warning: redefining module Nerves.Fingerprint (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.Fingerprint.beam)375 │376 5 │ defmodule Nerves.Fingerprint do377 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~378 │379 └─ lib/nerves/fingerprint.ex:5: Nerves.Fingerprint (module)380381 warning: redefining module Nerves.MixPackage (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.MixPackage.beam)382 │383 5 │ defmodule Nerves.MixPackage do384 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~385 │386 └─ lib/nerves/mix_package.ex:5: Nerves.MixPackage (module)387388 warning: redefining module Nerves.Paths (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.Paths.beam)389 │390 5 │ defmodule Nerves.Paths do391 │ ~~~~~~~~~~~~~~~~~~~~~~~~~392 │393 └─ lib/nerves/paths.ex:5: Nerves.Paths (module)394395 warning: redefining module Nerves.TargetTuple (current version loaded from /work/proj/_build/qemu_aarch64/lib/nerves/ebin/Elixir.Nerves.TargetTuple.beam)396 │397 5 │ defmodule Nerves.TargetTuple do398 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~399 │400 └─ lib/nerves/target_tuple.ex:5: Nerves.TargetTuple (module)401402Generated nerves app403==> nerves_toolchain_aarch64_nerves_linux_gnu404Compiling 1 file (.ex)405Generated nerves_toolchain_aarch64_nerves_linux_gnu app406==> nerves_system_qemu_aarch64407Compiling 1 file (.ex)408Generated nerves_system_qemu_aarch64 app409==> nerves_compatibility_test410===> Analyzing applications...411===> Compiling telemetry412==> nebulex413Compiling 45 files (.ex)414Generated nebulex app415==> ok416Compiling 3 files (.ex)417Generated ok app418==> jaxon419mkdir -p priv420gcc -shared -fpic -D_POSIX_C_SOURCE=199309L -std=c99 -O3 -I/usr/local/lib/erlang/erts-17.1/include c_src/decoder*.c -o priv/decoder.so421Compiling 11 files (.ex)422 warning: Application.get_env/3 is discouraged in the module body, use Application.compile_env/3 instead423 │424 2 │ @parser Application.get_env(:jaxon, :parser, Jaxon.Parsers.NifParser)425 │ ~426 │427 └─ lib/jaxon/parser.ex:2:23: Jaxon.Parser (module)428429Generated jaxon app430==> expo431Compiling 2 files (.erl)432Compiling 22 files (.ex)433Generated expo app434==> gettext435Compiling 18 files (.ex)436 warning: unused require Gettext.Macros437 │438 594 │ require Gettext.Macros439 │ ~440 │441 └─ lib/gettext.ex:594:3442443 warning: the following clause is redundant:444445 defp ensure_empty_msgstr!(%Expo.Message.Plural{} = message)446447 it has type:448449 dynamic(%Expo.Message.Plural{})450451 previous clauses have already matched on the following types:452453 %Expo.Message.Singular{}454 %Expo.Message.Plural{}455456 │457 391 │ defp ensure_empty_msgstr!(%Message.Plural{} = message) do458 │ ~459 │460 └─ lib/gettext/extractor.ex:391:8: Gettext.Extractor.ensure_empty_msgstr!/1461462 warning: Kernel.ParallelCompiler.async/1 is deprecated. Use `pmap/2` instead463 │464 426 │ Kernel.ParallelCompiler.async(fn ->465 │ ~466 │467 └─ lib/gettext/compiler.ex:426:39: Gettext.Compiler.compile_po_files/3468469Generated gettext app470==> morphix471Compiling 2 files (.ex)472 warning: redefining @doc attribute previously set at line 181.473474 Please remove the duplicate docs. If instead you want to override a previously defined @doc, attach the @doc attribute to a function head (the function signature not followed by any do-block). For example:475476 @doc """477 new docs478 """479 def atomorphify(...)480481 │482 199 │ @doc """483 │ ~~~~~~~~484 │485 └─ lib/morphix.ex:199: Morphix.atomorphify/2486487 warning: redefining @doc attribute previously set at line 235.488489 Please remove the duplicate docs. If instead you want to override a previously defined @doc, attach the @doc attribute to a function head (the function signature not followed by any do-block). For example:490491 @doc """492 new docs493 """494 def atomorphify!(...)495496 │497 251 │ @doc """498 │ ~~~~~~~~499 │500 └─ lib/morphix.ex:251: Morphix.atomorphify!/2501502 warning: redefining @doc attribute previously set at line 339.503504 Please remove the duplicate docs. If instead you want to override a previously defined @doc, attach the @doc attribute to a function head (the function signature not followed by any do-block). For example:505506 @doc """507 new docs508 """509 def atomorphiform(...)510511 │512 358 │ @doc """513 │ ~~~~~~~~514 │515 └─ lib/morphix.ex:358: Morphix.atomorphiform/2516517 warning: redefining @doc attribute previously set at line 396.518519 Please remove the duplicate docs. If instead you want to override a previously defined @doc, attach the @doc attribute to a function head (the function signature not followed by any do-block). For example:520521 @doc """522 new docs523 """524 def atomorphiform!(...)525526 │527 415 │ @doc """528 │ ~~~~~~~~529 │530 └─ lib/morphix.ex:415: Morphix.atomorphiform!/2531532Generated morphix app533==> retry534Compiling 3 files (.ex)535Generated retry app536==> uboot_env537Compiling 5 files (.ex)538Generated uboot_env app539==> timex540Compiling 62 files (.ex)541 warning: default arguments in protocol definitions is deprecated542 │543 84 │ def compare(a, b, granularity \\ :microsecond)544 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~545 │546 └─ lib/comparable/comparable.ex:84: Timex.Comparable (module)547548 warning: default arguments in protocol definitions is deprecated549 │550 139 │ def diff(a, b, granularity \\ :microsecond)551 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~552 │553 └─ lib/comparable/comparable.ex:139: Timex.Comparable (module)554555 warning: protocols can only define functions without implementation via def/1, found: compare/2, diff/2556 │557 1 │ defprotocol Timex.Comparable do558 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~559 │560 └─ lib/comparable/comparable.ex:1: Timex.Comparable (module)561562 warning: the variable "len" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator563 │564 317 │ <<abbrevs::bytes(len), rest::binary>> = data565 │ ~566 │567 └─ lib/parse/zoneinfo/parser.ex:317:22: Timex.Parse.ZoneInfo.Parser.parse_abbreviations/4568569 warning: default arguments in protocol definitions is deprecated570 │571 48 │ def to_datetime(datetime, timezone \\ :utc)572 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~573 │574 └─ lib/protocol.ex:48: Timex.Protocol (module)575576 warning: protocols can only define functions without implementation via def/1, found: to_datetime/1577 │578 1 │ defprotocol Timex.Protocol do579 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~580 │581 └─ lib/protocol.ex:1: Timex.Protocol (module)582583 warning: unused require Timex.Macros584 │585 5 │ require Timex.Macros586 │ ~587 │588 └─ lib/comparable/tuple.ex:5:3589590 warning: unused require Timex.Macros591 │592 5 │ require Timex.Macros593 │ ~594 │595 └─ lib/comparable/naivedatetime.ex:5:3596597 warning: unused require Bitwise598 │599 5 │ require Bitwise600 │ ~601 │602 └─ lib/calendar/julian.ex:5:3603604Compiling lib/l10n/gettext.ex (it's taking more than 10s)605 warning: the following clause will never match:606607 {ty, a, b} when ty === :gap or ty === :ambiguous ->608609 it is expected to match on type:610611 dynamic({:error, term()} and not {:ok, %{..., time_zone: term()}})612613 where "ty" was given the type:614615 # type: :ambiguous or :gap616 # from: lib/timezone/timezone.ex:548617 ty in [:gap, :ambiguous]618619 type warning found at:620 │621 548 │ {ty, a, b} when ty in [:gap, :ambiguous] ->622 │ ~623 │624 └─ lib/timezone/timezone.ex:548:7: Timex.Timezone.convert/2625626 warning: a struct for Timex.PosixTimezone is expected on struct update:627628 %Timex.PosixTimezone{rule | std_abbr: abbr}629630 but got type:631632 dynamic()633634 where "rule" was given the type:635636 # type: dynamic()637 # from: lib/parse/posix/parser.ex:119:33638 rule639640 when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"641642 type warning found at:643 │644 121 │ parse_tz(:std_offset, rest, %TZ{rule | std_abbr: abbr})645 │ ~646 │647 └─ lib/parse/posix/parser.ex:121:35: Timex.Parse.Timezones.Posix.parse_tz/3648649 warning: a struct for Timex.PosixTimezone is expected on struct update:650651 %Timex.PosixTimezone{rule | std_offset: offset}652653 but got type:654655 dynamic()656657 where "rule" was given the type:658659 # type: dynamic()660 # from: lib/parse/posix/parser.ex:125:35661 rule662663 when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"664665 type warning found at:666 │667 127 │ parse_tz(:dst_abbr, rest, %TZ{rule | std_offset: offset})668 │ ~669 │670 └─ lib/parse/posix/parser.ex:127:33: Timex.Parse.Timezones.Posix.parse_tz/3671672 warning: a struct for Timex.PosixTimezone is expected on struct update:673674 %Timex.PosixTimezone{rule | dst_abbr: abbr}675676 but got type:677678 dynamic()679680 where "rule" was given the type:681682 # type: dynamic()683 # from: lib/parse/posix/parser.ex:141:33684 rule685686 when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"687688 type warning found at:689 │690 143 │ rule = %TZ{rule | dst_abbr: abbr} do691 │ ~692 │693 └─ lib/parse/posix/parser.ex:143:17: Timex.Parse.Timezones.Posix.parse_tz/3694695 warning: a struct for Timex.PosixTimezone is expected on struct update:696697 %Timex.PosixTimezone{rule | dst_offset: offset}698699 but got type:700701 dynamic()702703 where "rule" was given the type:704705 # type: dynamic()706 # from: lib/parse/posix/parser.ex:160:35707 rule708709 when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"710711 type warning found at:712 │713 162 │ rule = %TZ{rule | dst_offset: offset} do714 │ ~715 │716 └─ lib/parse/posix/parser.ex:162:17: Timex.Parse.Timezones.Posix.parse_tz/3717718 warning: a struct for Timex.PosixTimezone is expected on struct update:719720 %Timex.PosixTimezone{rule | dst_start: dst_start, dst_end: dst_end}721722 but got type:723724 dynamic()725726 where "rule" was given the type:727728 # type: dynamic()729 # from: lib/parse/posix/parser.ex:185:36730 rule731732 when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"733734 type warning found at:735 │736 190 │ {:ok, %TZ{rule | dst_start: dst_start, dst_end: dst_end}, rest}737 │ ~738 │739 └─ lib/parse/posix/parser.ex:190:17: Timex.Parse.Timezones.Posix.parse_tz/3740741 warning: the following clause will never match:742743 :error ->744745 it is expected to match on type:746747 dynamic({:error, :invalid_number, binary()})748749 type warning found at:750 │751 264 │ :error ->752 │ ~~~~~~~~~753 │754 └─ lib/parse/posix/parser.ex:264: Timex.Parse.Timezones.Posix.parse_month_week_day/3755756 warning: the following pattern will never match:757758 {y, m, d} <- to_erl_datetime(date)759760 because the right-hand side has type:761762 dynamic(763 {:error, :invalid_date} or764 {:ok, {{integer(), integer(), integer()}, {integer(), integer(), integer()}}}765 )766767 where "date" was given the type:768769 # type: dynamic({...})770 # from: lib/datetime/erlang.ex:7:17771 date772773 type warning found at:774 │775 8 │ with {y, m, d} <- to_erl_datetime(date),776 │ ~777 │778 └─ lib/datetime/erlang.ex:8:10: Timex.Protocol.Tuple.to_julian/1779780 warning: the following clause is redundant:781782 def shift(_, _)783784 it has type:785786 dynamic(%Date{}), dynamic()787788 previous clauses have already matched on the following types:789790 %Date{}, term()791792 │793 227 │ def shift(_, _), do: {:error, :badarg}794 │ ~795 │796 └─ lib/date/date.ex:227:7: Timex.Protocol.Date.shift/2797798 warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:799800 %Timex.Parse.ZoneInfo.Parser.Zone{zone | transitions: transitions, leaps: leaps}801802 but got type:803804 dynamic(%{..., leaps: term(), transitions: term()})805806 where "zone" was given the types:807808 # type: dynamic(%{..., rule: term()} or %{..., transitions: term()})809 # from: lib/parse/zoneinfo/parser.ex:156:28810 {:ok, zone, rest} <- parse_content(1, data, %Timex.Parse.ZoneInfo.Parser.Zone{..., version: 1})811812 # type: dynamic(%{..., transitions: term()})813 # from: lib/parse/zoneinfo/parser.ex:157:26814 Enum.sort_by(zone.transitions, fn tx -> tx.starts_at end)815816 # type: dynamic(%{..., leaps: term(), transitions: term()})817 # from: lib/parse/zoneinfo/parser.ex:158:20818 Enum.sort_by(zone.leaps, fn leap -> leap.epoch end)819820 when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"821822 type warning found at:823 │824 159 │ {:ok, %Zone{zone | transitions: transitions, leaps: leaps}, rest}825 │ ~826 │827 └─ lib/parse/zoneinfo/parser.ex:159:13: Timex.Parse.ZoneInfo.Parser.parse_versioned_content/2828829 warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:830831 %Timex.Parse.ZoneInfo.Parser.Zone{zone | transitions: times}832833 but got type:834835 dynamic()836837 where "zone" was given the type:838839 # type: dynamic()840 # from: lib/parse/zoneinfo/parser.ex:270:92841 zone842843 when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"844845 type warning found at:846 │847 272 │ parse_transition_info(version, rest, header, %Zone{zone | transitions: times})848 │ ~849 │850 └─ lib/parse/zoneinfo/parser.ex:272:50: Timex.Parse.ZoneInfo.Parser.parse_transition_times/4851852 warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:853854 %Timex.Parse.ZoneInfo.Parser.Zone{zone | leaps: leaps}855856 but got type:857858 dynamic()859860 where "zone" was given the type:861862 # type: dynamic()863 # from: lib/parse/zoneinfo/parser.ex:330:79864 zone865866 when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"867868 type warning found at:869 │870 344 │ parse_flags(version, rest, header, %Zone{zone | leaps: leaps})871 │ ~872 │873 └─ lib/parse/zoneinfo/parser.ex:344:40: Timex.Parse.ZoneInfo.Parser.parse_leap_seconds/4874875 warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:876877 %Timex.Parse.ZoneInfo.Parser.Zone{zone | transitions: transitions}878879 but got type:880881 dynamic(%{..., transitions: term()})882883 where "zone" was given the type:884885 # type: dynamic(%{..., transitions: term()})886 # from: lib/parse/zoneinfo/parser.ex:354:15887 Enum.with_index(zone.transitions)888889 when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"890891 type warning found at:892 │893 362 │ parse_posixtz_string(version, rest, %Zone{zone | transitions: transitions})894 │ ~895 │896 └─ lib/parse/zoneinfo/parser.ex:362:43: Timex.Parse.ZoneInfo.Parser.parse_flags/4897898 warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:899900 %Timex.Parse.ZoneInfo.Parser.Zone{zone | transitions: transitions}901902 but got type:903904 dynamic(%{..., transitions: term()})905906 where "zone" was given the type:907908 # type: dynamic(%{..., transitions: term()})909 # from: lib/parse/zoneinfo/parser.ex:354:15910 Enum.with_index(zone.transitions)911912 when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"913914 type warning found at:915 │916 364 │ {:ok, %Zone{zone | transitions: transitions}, rest}917 │ ~918 │919 └─ lib/parse/zoneinfo/parser.ex:364:13: Timex.Parse.ZoneInfo.Parser.parse_flags/4920921 warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:922923 %Timex.Parse.ZoneInfo.Parser.Zone{zone | rule: rule}924925 but got type:926927 dynamic()928929 where "zone" was given the type:930931 # type: dynamic()932 # from: lib/parse/zoneinfo/parser.ex:369:62933 zone934935 when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"936937 type warning found at:938 │939 372 │ {:ok, %Zone{zone | rule: rule}, format_rest <> rest}940 │ ~941 │942 └─ lib/parse/zoneinfo/parser.ex:372:13: Timex.Parse.ZoneInfo.Parser.parse_posixtz_string/3943944 warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:945946 %Timex.Parse.ZoneInfo.Parser.Rule{rule | std_abbr: abbr, dst_abbr: abbr}947948 but got type:949950 dynamic()951952 where "rule" was given the type:953954 # type: dynamic()955 # from: lib/parse/zoneinfo/parser.ex:383:33956 rule957958 when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"959960 type warning found at:961 │962 385 │ parse_tz(:std_offset, rest, %Rule{rule | std_abbr: abbr, dst_abbr: abbr})963 │ ~964 │965 └─ lib/parse/zoneinfo/parser.ex:385:35: Timex.Parse.ZoneInfo.Parser.parse_tz/3966967 warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:968969 %Timex.Parse.ZoneInfo.Parser.Rule{rule | std_offset: offset, dst_offset: offset}970971 but got type:972973 dynamic()974975 where "rule" was given the type:976977 # type: dynamic()978 # from: lib/parse/zoneinfo/parser.ex:389:35979 rule980981 when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"982983 type warning found at:984 │985 391 │ parse_tz(:dst_abbr, rest, %Rule{rule | std_offset: offset, dst_offset: offset})986 │ ~987 │988 └─ lib/parse/zoneinfo/parser.ex:391:33: Timex.Parse.ZoneInfo.Parser.parse_tz/3989990 warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:991992 %Timex.Parse.ZoneInfo.Parser.Rule{rule | dst_abbr: abbr}993994 but got type:995996 dynamic()997998 where "rule" was given the type:9991000 # type: dynamic()1001 # from: lib/parse/zoneinfo/parser.ex:405:331002 rule10031004 when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"10051006 type warning found at:1007 │1008 407 │ rule = %Rule{rule | dst_abbr: abbr} do1009 │ ~1010 │1011 └─ lib/parse/zoneinfo/parser.ex:407:17: Timex.Parse.ZoneInfo.Parser.parse_tz/310121013 warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:10141015 %Timex.Parse.ZoneInfo.Parser.Rule{rule | dst_offset: offset}10161017 but got type:10181019 dynamic()10201021 where "rule" was given the type:10221023 # type: dynamic()1024 # from: lib/parse/zoneinfo/parser.ex:424:351025 rule10261027 when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"10281029 type warning found at:1030 │1031 426 │ rule = %Rule{rule | dst_offset: offset} do1032 │ ~1033 │1034 └─ lib/parse/zoneinfo/parser.ex:426:17: Timex.Parse.ZoneInfo.Parser.parse_tz/310351036 warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:10371038 %Timex.Parse.ZoneInfo.Parser.Rule{rule | start_time: start_time, end_time: end_time}10391040 but got type:10411042 dynamic()10431044 where "rule" was given the type:10451046 # type: dynamic()1047 # from: lib/parse/zoneinfo/parser.ex:449:361048 rule10491050 when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"10511052 type warning found at:1053 │1054 454 │ {:ok, %Rule{rule | start_time: start_time, end_time: end_time}, rest}1055 │ ~1056 │1057 └─ lib/parse/zoneinfo/parser.ex:454:17: Timex.Parse.ZoneInfo.Parser.parse_tz/310581059 warning: the following clause will never match:10601061 :error ->10621063 it is expected to match on type:10641065 dynamic({:error, :invalid_number, binary()})10661067 type warning found at:1068 │1069 528 │ :error ->1070 │ ~~~~~~~~~1071 │1072 └─ lib/parse/zoneinfo/parser.ex:528: Timex.Parse.ZoneInfo.Parser.parse_month_week_day/310731074Generated timex app1075==> nimble_pool1076Compiling 2 files (.ex)1077Generated nimble_pool app1078==> finch1079Compiling 23 files (.ex)1080Generated finch app1081==> ravix1082Compiling 57 files (.ex)1083 warning: unused require OK1084 │1085 5 │ require OK1086 │ ~1087 │1088 └─ lib/connection/connection.ex:5:310891090 warning: unused require OK1091 │1092 13 │ require OK1093 │ ~1094 │1095 └─ lib/documents/store.ex:13:510961097 warning: unused require OK1098 │1099 20 │ require OK1100 │ ~1101 │1102 └─ lib/rql/query.ex:20:311031104 warning: a struct for Ravix.RQL.Tokens.Update is expected on struct update:11051106 %Ravix.RQL.Tokens.Update{1107 update1108 | fields: update.fields ++ [%{name: field, value: value, operation: :set}]1109 }11101111 but got type:11121113 dynamic()11141115 where "update" was given the type:11161117 # type: dynamic()1118 # from: lib/rql/tokens/update.ex:25:111119 update11201121 when defining the variable "update", you must also pattern match on "%Ravix.RQL.Tokens.Update{}"11221123 type warning found at:1124 │1125 26 │ %Update{1126 │ ~1127 │1128 └─ lib/rql/tokens/update.ex:26:5: Ravix.RQL.Tokens.Update.set/311291130 warning: a struct for Ravix.RQL.Tokens.Update is expected on struct update:11311132 %Ravix.RQL.Tokens.Update{1133 update1134 | fields: update.fields ++ [%{name: field, value: value, operation: :inc}]1135 }11361137 but got type:11381139 dynamic()11401141 where "update" was given the type:11421143 # type: dynamic()1144 # from: lib/rql/tokens/update.ex:42:111145 update11461147 when defining the variable "update", you must also pattern match on "%Ravix.RQL.Tokens.Update{}"11481149 type warning found at:1150 │1151 43 │ %Update{1152 │ ~1153 │1154 └─ lib/rql/tokens/update.ex:43:5: Ravix.RQL.Tokens.Update.inc/311551156 warning: a struct for Ravix.RQL.Tokens.Update is expected on struct update:11571158 %Ravix.RQL.Tokens.Update{1159 update1160 | fields: update.fields ++ [%{name: field, value: value, operation: :dec}]1161 }11621163 but got type:11641165 dynamic()11661167 where "update" was given the type:11681169 # type: dynamic()1170 # from: lib/rql/tokens/update.ex:59:111171 update11721173 when defining the variable "update", you must also pattern match on "%Ravix.RQL.Tokens.Update{}"11741175 type warning found at:1176 │1177 60 │ %Update{1178 │ ~1179 │1180 └─ lib/rql/tokens/update.ex:60:5: Ravix.RQL.Tokens.Update.dec/311811182 warning: a struct for Ravix.Documents.Session.State is expected on struct update:11831184 %Ravix.Documents.Session.State{1185 session_state1186 | documents_by_id: Map.put(session_state.documents_by_id, document.key, document)1187 }11881189 but got type:11901191 dynamic()11921193 where "session_state" was given the type:11941195 # type: dynamic()1196 # from: lib/documents/session/models/session_state.ex:244:241197 session_state11981199 when defining the variable "session_state", you must also pattern match on "%Ravix.Documents.Session.State{}"12001201 type warning found at:1202 │1203 251 │ %SessionState{1204 │ ~1205 │1206 └─ lib/documents/session/models/session_state.ex:251:5: Ravix.Documents.Session.State.update_document/212071208 warning: a struct for Ravix.Documents.Session.State is expected on struct update:12091210 %Ravix.Documents.Session.State{1211 session_state1212 | documents_by_id: Map.delete(session_state.documents_by_id, document_id)1213 }12141215 but got type:12161217 dynamic()12181219 where "session_state" was given the type:12201221 # type: dynamic()1222 # from: lib/documents/session/models/session_state.ex:257:241223 session_state12241225 when defining the variable "session_state", you must also pattern match on "%Ravix.Documents.Session.State{}"12261227 type warning found at:1228 │1229 258 │ %SessionState{1230 │ ~1231 │1232 └─ lib/documents/session/models/session_state.ex:258:5: Ravix.Documents.Session.State.delete_document/212331234 warning: incompatible types given to Map.get/2:12351236 Map.get(command, "DatabaseName")12371238 the map:12391240 dynamic(%Ravix.Operations.Database.Commands.CreateDatabaseCommand{})12411242 does not have all required keys:12431244 binary()12451246 therefore this function will always return nil12471248 where "command" was given the type:12491250 # type: dynamic(%Ravix.Operations.Database.Commands.CreateDatabaseCommand{})1251 # from: lib/operations/commands/create_database_command.ex:34:491252 %Ravix.Operations.Database.Commands.CreateDatabaseCommand{} = command12531254 type warning found at:1255 │1256 39 │ |> append_param("name", Map.get(command, "DatabaseName"))1257 │ ~1258 │1259 └─ lib/operations/commands/create_database_command.ex:39:41: Ravix.Documents.Protocols.CreateRequest.Ravix.Operations.Database.Commands.CreateDatabaseCommand.create_request/212601261 warning: a struct for Ravix.Documents.Session.SessionDocument is expected on struct update:12621263 %Ravix.Documents.Session.SessionDocument{1264 existing_document1265 | entity: document_without_metadata,1266 key: document["@id"],1267 metadata: document_metadata,1268 change_vector: document_metadata["@change-vector"],1269 original_value: existing_document.entity1270 }12711272 but got type:12731274 dynamic(not nil)12751276 where "existing_document" was given the type:12771278 # type: dynamic(not nil)1279 # from: lib/documents/session/models/session_document.ex1280 {:ok, existing_document}12811282 when defining the variable "existing_document", you must also pattern match on "%Ravix.Documents.Session.SessionDocument{}"12831284 type warning found at:1285 │1286 53 │ %SessionDocument{1287 │ ~1288 │1289 └─ lib/documents/session/models/session_document.ex:53:9: Ravix.Documents.Session.SessionDocument.upsert_document/212901291 warning: the following clause is redundant:12921293 def add_metadata(entity, metadata)1294 when is_map(entity) and is_map_key(entity, :__struct__) and1295 is_atom(:erlang.map_get(:__struct__, entity))12961297 it has type:12981299 dynamic(%{..., __struct__: atom()}), dynamic()13001301 previous clauses have already matched on the following types:13021303 term(), nil1304 map(), term()13051306 │1307 35 │ def add_metadata(entity, metadata) when is_struct(entity),1308 │ ~1309 │1310 └─ lib/documents/session/metadata.ex:35:7: Ravix.Documents.Metadata.add_metadata/213111312 warning: a struct for Ravix.Documents.Session.SessionDocument is expected on struct update:13131314 %Ravix.Documents.Session.SessionDocument{1315 existing_document1316 | change_vector: metadata["@change-vector"],1317 key: document_id,1318 entity: updated_document,1319 metadata: metadata,1320 original_value: existing_document.entity1321 }13221323 but got type:13241325 dynamic(%{..., entity: term()})13261327 where "existing_document" was given the types:13281329 # type: dynamic(%{..., entity: term()})1330 # from: lib/documents/session/models/session_document.ex:88:371331 Ravix.Documents.Metadata.add_metadata(existing_document.entity, metadata)13321333 # type: dynamic(not nil)1334 # from: lib/documents/session/models/session_document.ex1335 {:ok, existing_document}13361337 when defining the variable "existing_document", you must also pattern match on "%Ravix.Documents.Session.SessionDocument{}"13381339 type warning found at:1340 │1341 90 │ %SessionDocument{1342 │ ~1343 │1344 └─ lib/documents/session/models/session_document.ex:90:9: Ravix.Documents.Session.SessionDocument.upsert_document/313451346 warning: the 1st pattern in clause will never match:13471348 nil13491350 because it is expected to receive type:13511352 dynamic(%Ravix.Connection.ServerNode{})13531354 hint: defimpl for Ravix.Connection.ServerNode requires its callbacks to match exclusively on %Ravix.Connection.ServerNode{}13551356 type warning found at:1357 │1358 86 │ def to_string(nil) do1359 │ ~~~~~~~~~~~~~~~~~~~~~1360 │1361 └─ lib/connection/models/server_node.ex:86: String.Chars.Ravix.Connection.ServerNode.to_string/113621363Generated ravix app1364==> property_table1365Compiling 8 files (.ex)1366Generated property_table app1367==> nerves_uevent1368 CC uevent.o1369 LD uevent1370Compiling 5 files (.ex)1371Generated nerves_uevent app1372==> nerves_runtime1373Compiling 14 files (.ex)1374Generated nerves_runtime app1375==> toolshed1376Compiling 5 files (.ex)1377Generated toolshed app1378==> nerves_compatibility_test1379Compiling 2 files (.ex)1380Generated nerves_compatibility_test app1381* skipping runtime configuration (config/runtime.exs not found)1382* creating _build/qemu_aarch64/rel/nerves_compatibility_test/releases/0.1.0/vm.args1383Building firmware...1384** (Mix) Unexpected executable format for '/work/proj/_build/qemu_aarch64/rel/nerves_compatibility_test/lib/jaxon-2.0.8/priv/decoder.so'13851386Got:1387 %{endian: :little, flags: 0, machine: :x86_64, type: :elf, bits: 64}13881389Expecting:1390 %{endian: :little, flags: 0, machine: :aarch64, type: :elf, bits: 64}13911392This file was compiled for the host or a different target and probably will not work.13931394If you are very sure you know what you are doing, place an empty file in the same1395directory as the offending file(s) called '.noscrub'. This disables scrubbing for1396that directory.1397