Build log
nerves_system_x86_64
memorex 0.2.4 · fail · run memorex-0.2.4-1790999673734
1396 of 1396 lines
1Resolving Hex dependencies...2Resolution completed in 0.635s3Unchanged:4 castore 1.0.215 circular_buffer 1.1.06 combine 0.10.07 cowboy 2.19.08 cowboy_telemetry 0.4.09 cowlib 2.20.0 VULNERABLE!10 EEF-CVE-2026-43966 (MEDIUM)11 aka: CVE-2026-43966, GHSA-w4f7-4cxr-rv3c12 HTTP Response Splitting via Non-VCHAR Bytes in cow_http_struct_hd:escape_string/213 https://osv.dev/vulnerability/EEF-CVE-2026-439661415 EEF-CVE-2026-43969 (LOW)16 aka: CVE-2026-43969, GHSA-g2wm-735q-3f5617 Cookie Request Header Injection via Unvalidated Encoder in cow_cookie:cookie/118 https://osv.dev/vulnerability/EEF-CVE-2026-4396919 dart_sass 0.7.020 db_connection 2.10.221 decimal 3.1.122 ecto 3.14.223 ecto_sql 3.14.024 elixir_make 0.10.025 esbuild 0.10.026 expo 1.1.127 gettext 0.26.228 interactive_cmd 0.1.429 jason 1.4.530 memorex 0.2.431 mime 2.0.732 nerves 2.0.0-pre.233 nerves_discovery 0.1.534 nerves_logging 0.2.435 nerves_runtime 0.13.1336 nerves_system_bbb 2.30.237 nerves_system_br 1.34.438 nerves_system_mangopi_mq_pro 0.17.239 nerves_system_qemu_aarch64 0.4.240 nerves_system_rpi0 2.1.241 nerves_system_rpi4 2.1.242 nerves_system_rpi5 2.1.243 nerves_system_trellis 0.5.044 nerves_system_x86_64 1.34.245 nerves_toolchain_aarch64_nerves_linux_gnu 15.3.146 nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.147 nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.148 nerves_toolchain_riscv64_nerves_linux_gnu 15.3.149 nerves_toolchain_x86_64_nerves_linux_musl 15.3.150 nerves_uevent 0.1.751 phoenix 1.7.2452 phoenix_ecto 4.7.053 phoenix_html 3.3.454 phoenix_live_dashboard 0.8.755 phoenix_live_view 0.20.17 VULNERABLE!56 EEF-CVE-2026-64941 (LOW)57 aka: CVE-2026-64941, GHSA-36m4-rm57-3prf58 Open redirect in Phoenix.LiveView.validate_local_url!/2 via ASCII tab, LF and CR59 https://osv.dev/vulnerability/EEF-CVE-2026-6494160 phoenix_pubsub 2.3.061 phoenix_template 1.1.062 plug 1.20.363 plug_cowboy 2.9.064 plug_crypto 2.2.065 postgrex 0.22.466 property_table 0.3.467 ranch 2.3.068 ring_logger 0.11.769 tablet 0.3.370 telemetry 1.4.271 telemetry_metrics 0.6.272 telemetry_poller 1.3.073 timex 3.7.1374 toml 0.7.075 toolshed 0.5.076 tzdata 1.2.277 uboot_env 1.0.278 uuid 1.1.879 websock 0.5.380 websock_adapter 0.5.981* Getting memorex (Hex package)82* Getting nerves (Hex package)83* Getting ring_logger (Hex package)84* Getting toolshed (Hex package)85* Getting nerves_runtime (Hex package)86* Getting nerves_system_bbb (Hex package)87* Getting nerves_system_mangopi_mq_pro (Hex package)88* Getting nerves_system_qemu_aarch64 (Hex package)89* Getting nerves_system_rpi0 (Hex package)90* Getting nerves_system_rpi4 (Hex package)91* Getting nerves_system_rpi5 (Hex package)92* Getting nerves_system_trellis (Hex package)93* Getting nerves_system_x86_64 (Hex package)94* Getting nerves_system_br (Hex package)95* Getting nerves_toolchain_x86_64_nerves_linux_musl (Hex package)96* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)97* Getting nerves_toolchain_aarch64_nerves_linux_gnu (Hex package)98* Getting nerves_toolchain_armv6_nerves_linux_gnueabihf (Hex package)99* Getting nerves_toolchain_riscv64_nerves_linux_gnu (Hex package)100* Getting nerves_logging (Hex package)101* Getting nerves_uevent (Hex package)102* Getting uboot_env (Hex package)103* Getting elixir_make (Hex package)104* Getting property_table (Hex package)105* Getting circular_buffer (Hex package)106* Getting interactive_cmd (Hex package)107* Getting nerves_discovery (Hex package)108* Getting tablet (Hex package)109* Getting dart_sass (Hex package)110* Getting ecto_sql (Hex package)111* Getting esbuild (Hex package)112* Getting gettext (Hex package)113* Getting jason (Hex package)114* Getting phoenix (Hex package)115* Getting phoenix_ecto (Hex package)116* Getting phoenix_html (Hex package)117* Getting phoenix_live_dashboard (Hex package)118* Getting phoenix_live_view (Hex package)119* Getting plug_cowboy (Hex package)120* Getting postgrex (Hex package)121* Getting telemetry_metrics (Hex package)122* Getting telemetry_poller (Hex package)123* Getting timex (Hex package)124* Getting toml (Hex package)125* Getting uuid (Hex package)126* Getting combine (Hex package)127* Getting tzdata (Hex package)128* Getting telemetry (Hex package)129* Getting db_connection (Hex package)130* Getting decimal (Hex package)131* Getting cowboy (Hex package)132* Getting cowboy_telemetry (Hex package)133* Getting plug (Hex package)134* Getting mime (Hex package)135* Getting plug_crypto (Hex package)136* Getting cowlib (Hex package)137* Getting ranch (Hex package)138* Getting phoenix_template (Hex package)139* Getting ecto (Hex package)140* Getting castore (Hex package)141* Getting phoenix_pubsub (Hex package)142* Getting websock_adapter (Hex package)143* Getting websock (Hex package)144* Getting expo (Hex package)145Found packages with security advisories, see above for details146You have added/upgraded packages you could sponsor, run `mix hex.sponsor` to learn more147==> dart_sass148Compiling 3 files (.ex)149 warning: using single-quoted strings to represent charlists is deprecated.150 Use ~c"" if you indeed want a charlist or use "" instead.151 You may run "mix format --migrate" to change all single-quoted152 strings to use the ~c sigil and fix this warning.153 │154 348 │ {'location', download} = List.keyfind(headers, 'location', 0)155 │ ~156 │157 └─ lib/dart_sass.ex:348:10158159 warning: using single-quoted strings to represent charlists is deprecated.160 Use ~c"" if you indeed want a charlist or use "" instead.161 You may run "mix format --migrate" to change all single-quoted162 strings to use the ~c sigil and fix this warning.163 │164 348 │ {'location', download} = List.keyfind(headers, 'location', 0)165 │ ~166 │167 └─ lib/dart_sass.ex:348:56168169Generated dart_sass app170==> esbuild171Compiling 4 files (.ex)172Generated esbuild app173warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"174 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2175 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1176 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5177 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2178 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4179 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2180181==> phoenix_ecto182Compiling 7 files (.ex)183Generated phoenix_ecto app184==> timex185Compiling 62 files (.ex)186 warning: default arguments in protocol definitions is deprecated187 │188 84 │ def compare(a, b, granularity \\ :microsecond)189 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~190 │191 └─ lib/comparable/comparable.ex:84: Timex.Comparable (module)192193 warning: default arguments in protocol definitions is deprecated194 │195 139 │ def diff(a, b, granularity \\ :microsecond)196 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~197 │198 └─ lib/comparable/comparable.ex:139: Timex.Comparable (module)199200 warning: protocols can only define functions without implementation via def/1, found: compare/2, diff/2201 │202 1 │ defprotocol Timex.Comparable do203 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~204 │205 └─ lib/comparable/comparable.ex:1: Timex.Comparable (module)206207 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 operator208 │209 317 │ <<abbrevs::bytes(len), rest::binary>> = data210 │ ~211 │212 └─ lib/parse/zoneinfo/parser.ex:317:22: Timex.Parse.ZoneInfo.Parser.parse_abbreviations/4213214 warning: default arguments in protocol definitions is deprecated215 │216 48 │ def to_datetime(datetime, timezone \\ :utc)217 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~218 │219 └─ lib/protocol.ex:48: Timex.Protocol (module)220221 warning: protocols can only define functions without implementation via def/1, found: to_datetime/1222 │223 1 │ defprotocol Timex.Protocol do224 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~225 │226 └─ lib/protocol.ex:1: Timex.Protocol (module)227228 warning: unused require Timex.Macros229 │230 5 │ require Timex.Macros231 │ ~232 │233 └─ lib/comparable/tuple.ex:5:3234235 warning: unused require Timex.Macros236 │237 5 │ require Timex.Macros238 │ ~239 │240 └─ lib/comparable/naivedatetime.ex:5:3241242 warning: unused require Bitwise243 │244 5 │ require Bitwise245 │ ~246 │247 └─ lib/calendar/julian.ex:5:3248249Compiling lib/l10n/gettext.ex (it's taking more than 10s)250 warning: the following clause will never match:251252 {ty, a, b} when ty === :gap or ty === :ambiguous ->253254 it is expected to match on type:255256 dynamic({:error, term()} and not {:ok, %{..., time_zone: term()}})257258 where "ty" was given the type:259260 # type: :ambiguous or :gap261 # from: lib/timezone/timezone.ex:548262 ty in [:gap, :ambiguous]263264 type warning found at:265 │266 548 │ {ty, a, b} when ty in [:gap, :ambiguous] ->267 │ ~268 │269 └─ lib/timezone/timezone.ex:548:7: Timex.Timezone.convert/2270271 warning: a struct for Timex.PosixTimezone is expected on struct update:272273 %Timex.PosixTimezone{rule | std_abbr: abbr}274275 but got type:276277 dynamic()278279 where "rule" was given the type:280281 # type: dynamic()282 # from: lib/parse/posix/parser.ex:119:33283 rule284285 when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"286287 type warning found at:288 │289 121 │ parse_tz(:std_offset, rest, %TZ{rule | std_abbr: abbr})290 │ ~291 │292 └─ lib/parse/posix/parser.ex:121:35: Timex.Parse.Timezones.Posix.parse_tz/3293294 warning: a struct for Timex.PosixTimezone is expected on struct update:295296 %Timex.PosixTimezone{rule | std_offset: offset}297298 but got type:299300 dynamic()301302 where "rule" was given the type:303304 # type: dynamic()305 # from: lib/parse/posix/parser.ex:125:35306 rule307308 when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"309310 type warning found at:311 │312 127 │ parse_tz(:dst_abbr, rest, %TZ{rule | std_offset: offset})313 │ ~314 │315 └─ lib/parse/posix/parser.ex:127:33: Timex.Parse.Timezones.Posix.parse_tz/3316317 warning: a struct for Timex.PosixTimezone is expected on struct update:318319 %Timex.PosixTimezone{rule | dst_abbr: abbr}320321 but got type:322323 dynamic()324325 where "rule" was given the type:326327 # type: dynamic()328 # from: lib/parse/posix/parser.ex:141:33329 rule330331 when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"332333 type warning found at:334 │335 143 │ rule = %TZ{rule | dst_abbr: abbr} do336 │ ~337 │338 └─ lib/parse/posix/parser.ex:143:17: Timex.Parse.Timezones.Posix.parse_tz/3339340 warning: a struct for Timex.PosixTimezone is expected on struct update:341342 %Timex.PosixTimezone{rule | dst_offset: offset}343344 but got type:345346 dynamic()347348 where "rule" was given the type:349350 # type: dynamic()351 # from: lib/parse/posix/parser.ex:160:35352 rule353354 when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"355356 type warning found at:357 │358 162 │ rule = %TZ{rule | dst_offset: offset} do359 │ ~360 │361 └─ lib/parse/posix/parser.ex:162:17: Timex.Parse.Timezones.Posix.parse_tz/3362363 warning: a struct for Timex.PosixTimezone is expected on struct update:364365 %Timex.PosixTimezone{rule | dst_start: dst_start, dst_end: dst_end}366367 but got type:368369 dynamic()370371 where "rule" was given the type:372373 # type: dynamic()374 # from: lib/parse/posix/parser.ex:185:36375 rule376377 when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}"378379 type warning found at:380 │381 190 │ {:ok, %TZ{rule | dst_start: dst_start, dst_end: dst_end}, rest}382 │ ~383 │384 └─ lib/parse/posix/parser.ex:190:17: Timex.Parse.Timezones.Posix.parse_tz/3385386 warning: the following clause will never match:387388 :error ->389390 it is expected to match on type:391392 dynamic({:error, :invalid_number, binary()})393394 type warning found at:395 │396 264 │ :error ->397 │ ~~~~~~~~~398 │399 └─ lib/parse/posix/parser.ex:264: Timex.Parse.Timezones.Posix.parse_month_week_day/3400401 warning: the following pattern will never match:402403 {y, m, d} <- to_erl_datetime(date)404405 because the right-hand side has type:406407 dynamic(408 {:error, :invalid_date} or409 {:ok, {{integer(), integer(), integer()}, {integer(), integer(), integer()}}}410 )411412 where "date" was given the type:413414 # type: dynamic({...})415 # from: lib/datetime/erlang.ex:7:17416 date417418 type warning found at:419 │420 8 │ with {y, m, d} <- to_erl_datetime(date),421 │ ~422 │423 └─ lib/datetime/erlang.ex:8:10: Timex.Protocol.Tuple.to_julian/1424425 warning: the following clause is redundant:426427 def shift(_, _)428429 it has type:430431 dynamic(%Date{}), dynamic()432433 previous clauses have already matched on the following types:434435 %Date{}, term()436437 │438 227 │ def shift(_, _), do: {:error, :badarg}439 │ ~440 │441 └─ lib/date/date.ex:227:7: Timex.Protocol.Date.shift/2442443 warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:444445 %Timex.Parse.ZoneInfo.Parser.Zone{zone | transitions: transitions, leaps: leaps}446447 but got type:448449 dynamic(%{..., leaps: term(), transitions: term()})450451 where "zone" was given the types:452453 # type: dynamic(%{..., rule: term()} or %{..., transitions: term()})454 # from: lib/parse/zoneinfo/parser.ex:156:28455 {:ok, zone, rest} <- parse_content(1, data, %Timex.Parse.ZoneInfo.Parser.Zone{..., version: 1})456457 # type: dynamic(%{..., transitions: term()})458 # from: lib/parse/zoneinfo/parser.ex:157:26459 Enum.sort_by(zone.transitions, fn tx -> tx.starts_at end)460461 # type: dynamic(%{..., leaps: term(), transitions: term()})462 # from: lib/parse/zoneinfo/parser.ex:158:20463 Enum.sort_by(zone.leaps, fn leap -> leap.epoch end)464465 when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"466467 type warning found at:468 │469 159 │ {:ok, %Zone{zone | transitions: transitions, leaps: leaps}, rest}470 │ ~471 │472 └─ lib/parse/zoneinfo/parser.ex:159:13: Timex.Parse.ZoneInfo.Parser.parse_versioned_content/2473474 warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:475476 %Timex.Parse.ZoneInfo.Parser.Zone{zone | transitions: times}477478 but got type:479480 dynamic()481482 where "zone" was given the type:483484 # type: dynamic()485 # from: lib/parse/zoneinfo/parser.ex:270:92486 zone487488 when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"489490 type warning found at:491 │492 272 │ parse_transition_info(version, rest, header, %Zone{zone | transitions: times})493 │ ~494 │495 └─ lib/parse/zoneinfo/parser.ex:272:50: Timex.Parse.ZoneInfo.Parser.parse_transition_times/4496497 warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:498499 %Timex.Parse.ZoneInfo.Parser.Zone{zone | leaps: leaps}500501 but got type:502503 dynamic()504505 where "zone" was given the type:506507 # type: dynamic()508 # from: lib/parse/zoneinfo/parser.ex:330:79509 zone510511 when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"512513 type warning found at:514 │515 344 │ parse_flags(version, rest, header, %Zone{zone | leaps: leaps})516 │ ~517 │518 └─ lib/parse/zoneinfo/parser.ex:344:40: Timex.Parse.ZoneInfo.Parser.parse_leap_seconds/4519520 warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:521522 %Timex.Parse.ZoneInfo.Parser.Zone{zone | transitions: transitions}523524 but got type:525526 dynamic(%{..., transitions: term()})527528 where "zone" was given the type:529530 # type: dynamic(%{..., transitions: term()})531 # from: lib/parse/zoneinfo/parser.ex:354:15532 Enum.with_index(zone.transitions)533534 when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"535536 type warning found at:537 │538 362 │ parse_posixtz_string(version, rest, %Zone{zone | transitions: transitions})539 │ ~540 │541 └─ lib/parse/zoneinfo/parser.ex:362:43: Timex.Parse.ZoneInfo.Parser.parse_flags/4542543 warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:544545 %Timex.Parse.ZoneInfo.Parser.Zone{zone | transitions: transitions}546547 but got type:548549 dynamic(%{..., transitions: term()})550551 where "zone" was given the type:552553 # type: dynamic(%{..., transitions: term()})554 # from: lib/parse/zoneinfo/parser.ex:354:15555 Enum.with_index(zone.transitions)556557 when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"558559 type warning found at:560 │561 364 │ {:ok, %Zone{zone | transitions: transitions}, rest}562 │ ~563 │564 └─ lib/parse/zoneinfo/parser.ex:364:13: Timex.Parse.ZoneInfo.Parser.parse_flags/4565566 warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update:567568 %Timex.Parse.ZoneInfo.Parser.Zone{zone | rule: rule}569570 but got type:571572 dynamic()573574 where "zone" was given the type:575576 # type: dynamic()577 # from: lib/parse/zoneinfo/parser.ex:369:62578 zone579580 when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}"581582 type warning found at:583 │584 372 │ {:ok, %Zone{zone | rule: rule}, format_rest <> rest}585 │ ~586 │587 └─ lib/parse/zoneinfo/parser.ex:372:13: Timex.Parse.ZoneInfo.Parser.parse_posixtz_string/3588589 warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:590591 %Timex.Parse.ZoneInfo.Parser.Rule{rule | std_abbr: abbr, dst_abbr: abbr}592593 but got type:594595 dynamic()596597 where "rule" was given the type:598599 # type: dynamic()600 # from: lib/parse/zoneinfo/parser.ex:383:33601 rule602603 when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"604605 type warning found at:606 │607 385 │ parse_tz(:std_offset, rest, %Rule{rule | std_abbr: abbr, dst_abbr: abbr})608 │ ~609 │610 └─ lib/parse/zoneinfo/parser.ex:385:35: Timex.Parse.ZoneInfo.Parser.parse_tz/3611612 warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:613614 %Timex.Parse.ZoneInfo.Parser.Rule{rule | std_offset: offset, dst_offset: offset}615616 but got type:617618 dynamic()619620 where "rule" was given the type:621622 # type: dynamic()623 # from: lib/parse/zoneinfo/parser.ex:389:35624 rule625626 when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"627628 type warning found at:629 │630 391 │ parse_tz(:dst_abbr, rest, %Rule{rule | std_offset: offset, dst_offset: offset})631 │ ~632 │633 └─ lib/parse/zoneinfo/parser.ex:391:33: Timex.Parse.ZoneInfo.Parser.parse_tz/3634635 warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:636637 %Timex.Parse.ZoneInfo.Parser.Rule{rule | dst_abbr: abbr}638639 but got type:640641 dynamic()642643 where "rule" was given the type:644645 # type: dynamic()646 # from: lib/parse/zoneinfo/parser.ex:405:33647 rule648649 when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"650651 type warning found at:652 │653 407 │ rule = %Rule{rule | dst_abbr: abbr} do654 │ ~655 │656 └─ lib/parse/zoneinfo/parser.ex:407:17: Timex.Parse.ZoneInfo.Parser.parse_tz/3657658 warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:659660 %Timex.Parse.ZoneInfo.Parser.Rule{rule | dst_offset: offset}661662 but got type:663664 dynamic()665666 where "rule" was given the type:667668 # type: dynamic()669 # from: lib/parse/zoneinfo/parser.ex:424:35670 rule671672 when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"673674 type warning found at:675 │676 426 │ rule = %Rule{rule | dst_offset: offset} do677 │ ~678 │679 └─ lib/parse/zoneinfo/parser.ex:426:17: Timex.Parse.ZoneInfo.Parser.parse_tz/3680681 warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update:682683 %Timex.Parse.ZoneInfo.Parser.Rule{rule | start_time: start_time, end_time: end_time}684685 but got type:686687 dynamic()688689 where "rule" was given the type:690691 # type: dynamic()692 # from: lib/parse/zoneinfo/parser.ex:449:36693 rule694695 when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}"696697 type warning found at:698 │699 454 │ {:ok, %Rule{rule | start_time: start_time, end_time: end_time}, rest}700 │ ~701 │702 └─ lib/parse/zoneinfo/parser.ex:454:17: Timex.Parse.ZoneInfo.Parser.parse_tz/3703704 warning: the following clause will never match:705706 :error ->707708 it is expected to match on type:709710 dynamic({:error, :invalid_number, binary()})711712 type warning found at:713 │714 528 │ :error ->715 │ ~~~~~~~~~716 │717 └─ lib/parse/zoneinfo/parser.ex:528: Timex.Parse.ZoneInfo.Parser.parse_month_week_day/3718719Generated timex app720==> websock_adapter721Compiling 4 files (.ex)722Generated websock_adapter app723warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"724 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2725 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1726 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5727 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2728 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4729 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2730731==> phoenix732Compiling 71 files (.ex)733 warning: unused require Logger734 │735 9 │ require Logger736 │ ~737 │738 └─ lib/phoenix/config.ex:9:3739740 warning: unused require Logger741 │742 281 │ require Logger743 │ ~744 │745 └─ lib/phoenix/endpoint.ex:281:3746747 warning: unused require Phoenix.Endpoint748 │749 6 │ require Phoenix.Endpoint750 │ ~751 │752 └─ lib/phoenix/controller.ex:6:3753754 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 operator755 │756 46 │ <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix757 │ ~758 │759 └─ lib/phoenix/naming.ex:46:29: Phoenix.Naming.unsuffix/2760761 warning: unused require Phoenix.Endpoint762 │763 17 │ require Phoenix.Endpoint764 │ ~765 │766 └─ lib/phoenix/endpoint/render_errors.ex:17:3767768 warning: unused require Phoenix.Endpoint769 │770 202 │ require Phoenix.Endpoint771 │ ~772 │773 └─ lib/phoenix/socket.ex:202:3774775 warning: unused require Phoenix.Endpoint776 │777 6 │ require Phoenix.Endpoint778 │ ~779 │780 └─ lib/phoenix/channel/server.ex:6:3781782 warning: unused require Logger783 │784 70 │ require Logger785 │ ~786 │787 └─ lib/phoenix/socket/pool_supervisor.ex:70:3788789 warning: unused require Logger790 │791 100 │ require Logger792 │ ~793 │794 └─ lib/phoenix/token.ex:100:3795796 warning: comparison between distinct types found:797798 merge_all != []799800 given types:801802 dynamic(non_empty_list({atom(), term()})) != empty_list()803804 where "merge_all" was given the type:805806 # type: dynamic(non_empty_list({atom(), term()}))807 # from: lib/phoenix/router/route.ex:121:15808 merge_all = merge_params ++ merge_private ++ merge_assigns809810 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 false811812 type warning found at:813 │814 123 │ if merge_all != [] do815 │ ~816 │817 └─ lib/phoenix/router/route.ex:123:18: Phoenix.Router.Route.build_prepare/1818819 warning: a struct for Plug.Conn is expected on struct update:820821 %Plug.Conn{conn | state: :sent}822823 but got type:824825 dynamic()826827 where "conn" was given the type:828829 # type: dynamic()830 # from: lib/phoenix/endpoint/render_errors.ex:55:17831 conn832833 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"834835 type warning found at:836 │837 60 │ %Plug.Conn{conn | state: :sent}838 │ ~839 │840 └─ lib/phoenix/endpoint/render_errors.ex:60:11: Phoenix.Endpoint.RenderErrors.__catch__/5841842 warning: a struct for Plug.Conn is expected on struct update:843844 %Plug.Conn{conn | query_params: %{}, params: %{}}845846 but got type:847848 dynamic(%{..., params: %Plug.Conn.Unfetched{}})849850 where "conn" was given the types:851852 # type: dynamic(%{..., params: term()})853 # from: lib/phoenix/endpoint/render_errors.ex:133:17854 conn.params855856 # type: dynamic(%{..., params: %Plug.Conn.Unfetched{}})857 # from: lib/phoenix/endpoint/render_errors.ex:133:17858 conn.params859860 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"861862 type warning found at:863 │864 134 │ %Plug.Conn.Unfetched{} -> %Plug.Conn{conn | query_params: %{}, params: %{}}865 │ ~866 │867 └─ lib/phoenix/endpoint/render_errors.ex:134:35: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/1868869 warning: a struct for Plug.Conn is expected on struct update:870871 %Plug.Conn{conn | query_params: %{}, params: params}872873 but got type:874875 dynamic(%{..., params: not %Plug.Conn.Unfetched{}})876877 where "conn" was given the types:878879 # type: dynamic(%{..., params: term()})880 # from: lib/phoenix/endpoint/render_errors.ex:133:17881 conn.params882883 # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})884 # from: lib/phoenix/endpoint/render_errors.ex:133:17885 conn.params886887 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"888889 type warning found at:890 │891 135 │ params -> %Plug.Conn{conn | query_params: %{}, params: params}892 │ ~893 │894 └─ lib/phoenix/endpoint/render_errors.ex:135:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/1895896 warning: a struct for Plug.Conn is expected on struct update:897898 %Plug.Conn{conn | params: params}899900 but got type:901902 dynamic(%{..., params: map()})903904 where "conn" was given the type:905906 # type: dynamic(%{..., params: map()})907 # from: lib/phoenix/controller.ex:1327:17908 Map.get(conn.params, required_key)909910 when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"911912 type warning found at:913 │914 1334 │ %Plug.Conn{conn | params: params}915 │ ~916 │917 └─ lib/phoenix/controller.ex:1334:5: Phoenix.Controller.scrub_params/2918919Generated phoenix app920warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"921 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2922 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1923 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5924 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2925 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4926 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2927928==> phoenix_live_view929Compiling 39 files (.ex)930 warning: unused require Logger931 │932 48 │ require Logger933 │ ~934 │935 └─ lib/phoenix_live_view/socket.ex:48:3936937 warning: unused require Phoenix.ChannelTest938 │939 183 │ require Phoenix.ChannelTest940 │ ~941 │942 └─ lib/phoenix_live_view/test/live_view_test.ex:183:3943944 warning: unused require Phoenix.ConnTest945 │946 182 │ require Phoenix.ConnTest947 │ ~948 │949 └─ lib/phoenix_live_view/test/live_view_test.ex:182:3950951 warning: unused require Phoenix.ChannelTest952 │953 5 │ require Phoenix.ChannelTest954 │ ~955 │956 └─ lib/phoenix_live_view/test/upload_client.ex:5:3957958 warning: unused require Logger959 │960 6 │ require Logger961 │ ~962 │963 └─ lib/phoenix_live_view/upload_channel.ex:6:3964965 warning: a struct for Phoenix.LiveView.Socket is expected on struct update:966967 %Phoenix.LiveView.Socket{968 socket969 | assigns: Map.merge(temp_assigns, socket.assigns),970 private:971 Map.update(972 socket.private,973 :temporary_assigns,974 temp_assigns,975 &Map.merge(&1, temp_assigns)976 )977 }978979 but got type:980981 dynamic()982983 where "socket" was given the type:984985 # type: dynamic()986 # from: lib/phoenix_live_view/utils.ex:415:28987 socket988989 when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"990991 type warning found at:992 │993 422 │ %Socket{994 │ ~995 │996 └─ lib/phoenix_live_view/utils.ex:422:5: Phoenix.LiveView.Utils.handle_mount_option/3997998 warning: the following clause will never match:9991000 {:error, reason} ->10011002 because it attempts to match on the result of:10031004 IO.binwrite(state.file, data)10051006 which has type:10071008 dynamic(not {:error, term()})10091010 type warning found at:1011 │1012 23 │ {:error, reason} -> {:error, reason, state}1013 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1014 │1015 └─ lib/phoenix_live_view/upload_tmp_file_writer.ex:23: Phoenix.LiveView.UploadTmpFileWriter.write_chunk/210161017 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:10181019 %Phoenix.LiveView.UploadEntry{1020 entry1021 | preflighted?: entry.preflighted? || Enum.__in__(entry.ref, refs)1022 }10231024 but got type:10251026 dynamic()10271028 where "entry" was given the type:10291030 # type: dynamic()1031 # from: lib/phoenix_live_view/upload_config.ex:362:171032 entry <- conf.entries10331034 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"10351036 type warning found at:1037 │1038 363 │ %UploadEntry{entry | preflighted?: entry.preflighted? || entry.ref in refs}1039 │ ~1040 │1041 └─ lib/phoenix_live_view/upload_config.ex:363:9: Phoenix.LiveView.UploadConfig.mark_preflighted/210421043 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:10441045 %Phoenix.LiveView.UploadEntry{entry | valid?: true, uuid: generate_uuid()}10461047 but got type:10481049 dynamic()10501051 where "entry" was given the type:10521053 # type: dynamic()1054 # from: lib/phoenix_live_view/upload_config.ex:572:301055 entry10561057 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"10581059 type warning found at:1060 │1061 573 │ entry = %UploadEntry{entry | valid?: true, uuid: generate_uuid()}1062 │ ~1063 │1064 └─ lib/phoenix_live_view/upload_config.ex:573:13: Phoenix.LiveView.UploadConfig.put_valid_entry/210651066 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:10671068 %Phoenix.LiveView.UploadEntry{entry | valid?: false}10691070 but got type:10711072 dynamic()10731074 where "entry" was given the type:10751076 # type: dynamic()1077 # from: lib/phoenix_live_view/upload_config.ex:585:321078 entry10791080 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"10811082 type warning found at:1083 │1084 586 │ entry = %UploadEntry{entry | valid?: false}1085 │ ~1086 │1087 └─ lib/phoenix_live_view/upload_config.ex:586:13: Phoenix.LiveView.UploadConfig.put_invalid_entry/310881089 warning: the following clause is redundant:10901091 def update(assigns, _key, fun) when is_function(fun, 1) or is_function(fun, 2)10921093 it has type:10941095 dynamic(), dynamic(), dynamic((none() -> term()) or (none(), none() -> term()))10961097 previous clauses have already matched on the following types:10981099 %Phoenix.LiveView.Socket{}, term(), (none(), none() -> term())1100 %Phoenix.LiveView.Socket{}, term(), (none() -> term())1101 term(), term(), (none(), none() -> term())1102 term(), term(), (none() -> term())11031104 │1105 1378 │ def update(assigns, _key, fun) when is_function(fun, 1) or is_function(fun, 2) do1106 │ ~1107 │1108 └─ lib/phoenix_component.ex:1378:7: Phoenix.Component.update/311091110 warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:11111112 %Phoenix.LiveView.UploadEntry{entry | cancelled?: true}11131114 but got type:11151116 dynamic()11171118 where "entry" was given the type:11191120 # type: dynamic()1121 # from: lib/phoenix_live_view/upload_config.ex:669:421122 entry11231124 when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"11251126 type warning found at:1127 │1128 669 │ update_entry(conf, entry.ref, fn entry -> %UploadEntry{entry | cancelled?: true} end)1129 │ ~1130 │1131 └─ lib/phoenix_live_view/upload_config.ex:669:51: Phoenix.LiveView.UploadConfig.cancel_entry/211321133 warning: Logger.disable/1 is deprecated. Use Logger.put_process_level(pid, :none) instead1134 │1135 73 │ Logger.disable(self())1136 │ ~1137 │1138 └─ lib/phoenix_live_view/test/client_proxy.ex:73:12: Phoenix.LiveViewTest.ClientProxy.init/111391140 warning: the right-hand side of || (shown as ... below) will never be executed:11411142 conn.private[:live_view_connect_info] || prune_conn(conn) || ...11431144 because the left-hand side always evaluates to:11451146 dynamic(not false and not nil)11471148 where "conn" was given the types:11491150 # type: dynamic(%Plug.Conn{assigns: %{..., live_module: term()}, status: integer()})1151 # from: lib/phoenix_live_view/test/live_view_test.ex:319:721152 %Plug.Conn{status: 200, assigns: %{live_module: live_module}} = conn11531154 # type: dynamic(%Plug.Conn{1155 assigns: %{..., live_module: term()},1156 private:1157 %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or1158 non_struct_map(),1159 status: integer()1160 })1161 # from: lib/phoenix_live_view/test/live_view_test.ex:333:351162 conn.private[:live_view_connect_params]11631164 type warning found at:1165 │1166 334 │ connect_info: conn.private[:live_view_connect_info] || prune_conn(conn) || %{},1167 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1168 │1169 └─ lib/phoenix_live_view/test/live_view_test.ex:334: Phoenix.LiveViewTest.connect_from_static_token/211701171 warning: a struct for Phoenix.LiveViewTest.ClientProxy is expected on struct update:11721173 %Phoenix.LiveViewTest.ClientProxy{view | rendered: rendered}11741175 but got type:11761177 dynamic(%{..., rendered: map()})11781179 where "view" was given the type:11801181 # type: dynamic(%{..., rendered: map()})1182 # from: lib/phoenix_live_view/test/client_proxy.ex:727:261183 Phoenix.LiveViewTest.DOM.merge_diff(view.rendered, diff)11841185 when defining the variable "view", you must also pattern match on "%Phoenix.LiveViewTest.ClientProxy{}"11861187 type warning found at:1188 │1189 728 │ new_view = %ClientProxy{view | rendered: rendered}1190 │ ~1191 │1192 └─ lib/phoenix_live_view/test/client_proxy.ex:728:22: Phoenix.LiveViewTest.ClientProxy.merge_rendered/311931194 warning: a struct for Phoenix.LiveView.Socket is expected on struct update:11951196 %Phoenix.LiveView.Socket{1197 socket1198 | assigns: %Phoenix.LiveView.Socket.AssignsNotInSocket{__assigns__: assigns}1199 }12001201 but got type:12021203 dynamic(%{..., assigns: term()})12041205 where "socket" was given the type:12061207 # type: dynamic(%{..., assigns: term()})1208 # from: lib/phoenix_live_view/renderer.ex:121:431209 %{assigns: assigns} = socket12101211 when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"12121213 type warning found at:1214 │1215 122 │ socket = %Socket{socket | assigns: %Socket.AssignsNotInSocket{__assigns__: assigns}}1216 │ ~1217 │1218 └─ lib/phoenix_live_view/renderer.ex:122:14: Phoenix.LiveView.Renderer.render_assigns/112191220 warning: the following pattern will never match:12211222 template = Phoenix.LiveView.Utils.normalize_layout(template)12231224 because the right-hand side has type:12251226 none()12271228 where "template" was given the types:12291230 # type: binary()1231 # from: lib/phoenix_live_view/router.ex:299:661232 is_binary(template)12331234 # type: binary()1235 # from: lib/phoenix_live_view/router.ex1236 {:root_layout, {mod, template}}12371238 type warning found at:1239 │1240 300 │ template = Phoenix.LiveView.Utils.normalize_layout(template)1241 │ ~1242 │1243 └─ lib/phoenix_live_view/router.ex:300:18: Phoenix.LiveView.Router.validate_live_session_opts/312441245 warning: the following pattern will never match:12461247 template = Phoenix.LiveView.Utils.normalize_layout(template)12481249 because the right-hand side has type:12501251 none()12521253 where "template" was given the types:12541255 # type: binary()1256 # from: lib/phoenix_live_view/router.ex:316:611257 is_binary(template)12581259 # type: binary()1260 # from: lib/phoenix_live_view/router.ex1261 {:layout, {mod, template}}12621263 type warning found at:1264 │1265 317 │ template = Phoenix.LiveView.Utils.normalize_layout(template)1266 │ ~1267 │1268 └─ lib/phoenix_live_view/router.ex:317:18: Phoenix.LiveView.Router.validate_live_session_opts/312691270 warning: the following clause is redundant:12711272 def to_iodata(%_{} = struct)12731274 it has type:12751276 dynamic(%Phoenix.LiveView.Rendered{})12771278 previous clauses have already matched on the following types:12791280 %Phoenix.LiveView.Rendered{}12811282 │1283 152 │ def to_iodata(%_{} = struct) do1284 │ ~1285 │1286 └─ lib/phoenix_live_view/engine.ex:152:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/112871288 warning: the 1st pattern in clause will never match:12891290 nil12911292 because it is expected to receive type:12931294 dynamic(%Phoenix.LiveView.Rendered{})12951296 hint: defimpl for Phoenix.LiveView.Rendered requires its callbacks to match exclusively on %Phoenix.LiveView.Rendered{}12971298 type warning found at:1299 │1300 156 │ def to_iodata(nil) do1301 │ ~~~~~~~~~~~~~~~~~~~~~1302 │1303 └─ lib/phoenix_live_view/engine.ex:156: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/113041305 warning: the following clause is redundant:13061307 def to_iodata(other)13081309 it has type:13101311 dynamic(%Phoenix.LiveView.Rendered{})13121313 previous clauses have already matched on the following types:13141315 %Phoenix.LiveView.Rendered{}13161317 │1318 160 │ def to_iodata(other) do1319 │ ~1320 │1321 └─ lib/phoenix_live_view/engine.ex:160:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/113221323 warning: this clause of defp class_names/1 is never used (or it will always fail/warn when invoked)1324 │1325 903 │ defp class_names(nil), do: []1326 │ ~1327 │1328 └─ lib/phoenix_live_view/js.ex:903:8: Phoenix.LiveView.JS.class_names/113291330Generated phoenix_live_view app1331warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1332 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21333 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11334 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51335 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21336 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41337 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/213381339==> phoenix_live_dashboard1340Compiling 36 files (.ex)1341 warning: Postgrex.Interval.to_string/1 is undefined (module Postgrex.Interval is not available or is yet to be defined)1342 │1343 281 │ do: struct.to_string(value)1344 │ ~1345 │1346 └─ lib/phoenix/live_dashboard/pages/ecto_stats_page.ex:281:16: Phoenix.LiveDashboard.EctoStatsPage.format/213471348Generated phoenix_live_dashboard app1349==> uuid1350Compiling 1 file (.ex)1351 warning: use Bitwise is deprecated. import Bitwise instead1352 │1353 2 │ use Bitwise, only_operators: true1354 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1355 │1356 └─ lib/uuid.ex:2: UUID (module)13571358Generated uuid app1359==> memorex1360Compiling 35 files (.ex)1361warning: defining a Gettext backend by calling13621363 use Gettext, otp_app: ...13641365is deprecated. To define a backend, call:13661367 use Gettext.Backend, otp_app: :my_app13681369Then, instead of importing your backend, call this in your module:13701371 use Gettext, backend: MyApp.Gettext13721373 lib/memorex_web/gettext.ex:23: MemorexWeb.Gettext (module)13741375 error: module Phoenix.View is not loaded and could not be found. This may be happening because the module you are trying to load directly or indirectly depends on the current module1376 │1377 4 │ use MemorexWeb, :live_view1378 │ ^^^^^^^^^^^^^^^^^^^^^^^^^^1379 │1380 └─ lib/memorex_web/live/card_live/edit.ex:4: MemorexWeb.CardLive.Edit (module)13811382 error: module Phoenix.View is not loaded and could not be found. This may be happening because the module you are trying to load directly or indirectly depends on the current module1383 │1384 4 │ use MemorexWeb, :live_component1385 │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^1386 │1387 └─ lib/memorex_web/live/card_live/card_component.ex:4: MemorexWeb.CardLive.CardComponent (module)138813891390== Compilation error in file lib/memorex_web/live/card_live/card_component.ex ==1391** (CompileError) lib/memorex_web/live/card_live/card_component.ex: cannot compile module MemorexWeb.CardLive.CardComponent (errors have been logged)1392 expanding macro: MemorexWeb.__using__/11393 lib/memorex_web/live/card_live/card_component.ex:4: MemorexWeb.CardLive.CardComponent (module)1394 (elixir 1.20.3) expanding macro: Kernel.use/21395 lib/memorex_web/live/card_live/card_component.ex:4: MemorexWeb.CardLive.CardComponent (module)1396could not compile dependency :memorex, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile memorex --force", update it with "mix deps.update memorex" or clean it with "mix deps.clean memorex"