Build log
nerves_system_bbb
tds_ecto 2.3.0 · fail · run tds_ecto-2.3.0-1791129015595
1429 of 1429 lines
1Resolving Hex dependencies...2Resolution completed in 0.179s3Unchanged:4 circular_buffer 1.1.05 connection 1.0.46 db_connection 1.1.37 decimal 1.9.0 VULNERABLE!8 EEF-CVE-2026-32686 (MEDIUM)9 aka: CVE-2026-32686, GHSA-rhv4-8758-jx7v10 Unbounded exponent in decimal enables unauthenticated DoS11 https://osv.dev/vulnerability/EEF-CVE-2026-3268612 ecto 2.2.1213 elixir_make 0.10.014 interactive_cmd 0.1.415 nerves 2.0.0-pre.216 nerves_discovery 0.1.517 nerves_logging 0.2.418 nerves_runtime 0.13.1319 nerves_system_bbb 2.30.220 nerves_system_br 1.34.421 nerves_system_mangopi_mq_pro 0.17.222 nerves_system_qemu_aarch64 0.4.223 nerves_system_rpi0 2.1.224 nerves_system_rpi4 2.1.225 nerves_system_rpi5 2.1.226 nerves_system_trellis 0.5.027 nerves_system_x86_64 1.34.228 nerves_toolchain_aarch64_nerves_linux_gnu 15.3.129 nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.130 nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.131 nerves_toolchain_riscv64_nerves_linux_gnu 15.3.132 nerves_toolchain_x86_64_nerves_linux_musl 15.3.133 nerves_uevent 0.1.734 poolboy 1.5.235 property_table 0.3.436 ring_logger 0.11.737 rustler 0.20.038 tablet 0.3.339 tds 1.2.440 tds_ecto 2.3.041 toolshed 0.5.042 uboot_env 1.0.243* Getting tds_ecto (Hex package)44* Getting nerves (Hex package)45* Getting ring_logger (Hex package)46* Getting toolshed (Hex package)47* Getting nerves_runtime (Hex package)48* Getting nerves_system_bbb (Hex package)49* Getting nerves_system_mangopi_mq_pro (Hex package)50* Getting nerves_system_qemu_aarch64 (Hex package)51* Getting nerves_system_rpi0 (Hex package)52* Getting nerves_system_rpi4 (Hex package)53* Getting nerves_system_rpi5 (Hex package)54* Getting nerves_system_trellis (Hex package)55* Getting nerves_system_x86_64 (Hex package)56* Getting nerves_system_br (Hex package)57* Getting nerves_toolchain_x86_64_nerves_linux_musl (Hex package)58* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)59* Getting nerves_toolchain_aarch64_nerves_linux_gnu (Hex package)60* Getting nerves_toolchain_armv6_nerves_linux_gnueabihf (Hex package)61* Getting nerves_toolchain_riscv64_nerves_linux_gnu (Hex package)62* Getting nerves_logging (Hex package)63* Getting nerves_uevent (Hex package)64* Getting uboot_env (Hex package)65* Getting elixir_make (Hex package)66* Getting property_table (Hex package)67* Getting circular_buffer (Hex package)68* Getting interactive_cmd (Hex package)69* Getting nerves_discovery (Hex package)70* Getting tablet (Hex package)71* Getting ecto (Hex package)72* Getting tds (Hex package)73* Getting db_connection (Hex package)74* Getting decimal (Hex package)75* Getting rustler (Hex package)76* Getting connection (Hex package)77* Getting poolboy (Hex package)78Found packages with security advisories, see above for details79==> nerves_system_br80Generated nerves_system_br app81==> connection82Compiling 1 file (.ex)83 warning: using single-quoted strings to represent charlists is deprecated.84 Use ~c"" if you indeed want a charlist or use "" instead.85 You may run "mix format --migrate" to change all single-quoted86 strings to use the ~c sigil and fix this warning.87 │88 553 │ [{:data, [{'State', mod_state}]}]89 │ ~90 │91 └─ lib/connection.ex:553:209293 warning: using single-quoted strings to represent charlists is deprecated.94 Use ~c"" if you indeed want a charlist or use "" instead.95 You may run "mix format --migrate" to change all single-quoted96 strings to use the ~c sigil and fix this warning.97 │98 680 │ format = '** Generic server ~p terminating \n' ++99 │ ~100 │101 └─ lib/connection.ex:680:14102103 warning: using single-quoted strings to represent charlists is deprecated.104 Use ~c"" if you indeed want a charlist or use "" instead.105 You may run "mix format --migrate" to change all single-quoted106 strings to use the ~c sigil and fix this warning.107 │108 681 │ '** Last message in was ~p~n' ++ ## No last message109 │ ~110 │111 └─ lib/connection.ex:681:7112113 warning: using single-quoted strings to represent charlists is deprecated.114 Use ~c"" if you indeed want a charlist or use "" instead.115 You may run "mix format --migrate" to change all single-quoted116 strings to use the ~c sigil and fix this warning.117 │118 682 │ '** When Server state == ~p~n' ++119 │ ~120 │121 └─ lib/connection.ex:682:7122123 warning: using single-quoted strings to represent charlists is deprecated.124 Use ~c"" if you indeed want a charlist or use "" instead.125 You may run "mix format --migrate" to change all single-quoted126 strings to use the ~c sigil and fix this warning.127 │128 683 │ '** Reason for termination == ~n** ~p~n'129 │ ~130 │131 └─ lib/connection.ex:683:7132133 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead134 │135 429 │ init_stop(starter, name, {reason, System.stacktrace()})136 │ ~137 │138 └─ lib/connection.ex:429:50: Connection.init_it/6139 └─ lib/connection.ex:431:45: Connection.init_it/6140 └─ lib/connection.ex:491:57: Connection.handle_call/3141 └─ lib/connection.ex:540:41: Connection.code_change/3142 └─ lib/connection.ex:581:57: Connection.terminate/2143 └─ lib/connection.ex:625:49: Connection.enter_connect/5144 └─ lib/connection.ex:628:34: Connection.enter_connect/5145 └─ lib/connection.ex:631:45: Connection.enter_connect/5146 └─ lib/connection.ex:657:49: Connection.enter_terminate/5147 └─ lib/connection.ex:660:34: Connection.enter_terminate/5148 └─ lib/connection.ex:663:45: Connection.enter_terminate/5149 └─ lib/connection.ex:744:24: Connection.connect/3150 └─ lib/connection.ex:770:24: Connection.disconnect/3151 └─ lib/connection.ex:813:57: Connection.handle_async/3152153Generated connection app154==> circular_buffer155Compiling 1 file (.ex)156Generated circular_buffer app157==> rustler158warning: in order to compile .yrl files, you must add "compilers: [:yecc] ++ Mix.compilers()" to the "def project" section of rustler's mix.exs159Compiling 1 file (.yrl)160warning: in order to compile .xrl files, you must add "compilers: [:leex] ++ Mix.compilers()" to the "def project" section of rustler's mix.exs161Compiling 1 file (.xrl)162Compiling 2 files (.erl)163Compiling 6 files (.ex)164 warning: using single-quoted strings to represent charlists is deprecated.165 Use ~c"" if you indeed want a charlist or use "" instead.166 You may run "mix format --migrate" to change all single-quoted167 strings to use the ~c sigil and fix this warning.168 │169 60 │ '2.7',170 │ ~171 │172 └─ lib/rustler.ex:60:5173174 warning: using single-quoted strings to represent charlists is deprecated.175 Use ~c"" if you indeed want a charlist or use "" instead.176 You may run "mix format --migrate" to change all single-quoted177 strings to use the ~c sigil and fix this warning.178 │179 61 │ '2.8',180 │ ~181 │182 └─ lib/rustler.ex:61:5183184 warning: using single-quoted strings to represent charlists is deprecated.185 Use ~c"" if you indeed want a charlist or use "" instead.186 You may run "mix format --migrate" to change all single-quoted187 strings to use the ~c sigil and fix this warning.188 │189 62 │ '2.9',190 │ ~191 │192 └─ lib/rustler.ex:62:5193194 warning: using single-quoted strings to represent charlists is deprecated.195 Use ~c"" if you indeed want a charlist or use "" instead.196 You may run "mix format --migrate" to change all single-quoted197 strings to use the ~c sigil and fix this warning.198 │199 63 │ '2.10',200 │ ~201 │202 └─ lib/rustler.ex:63:5203204 warning: using single-quoted strings to represent charlists is deprecated.205 Use ~c"" if you indeed want a charlist or use "" instead.206 You may run "mix format --migrate" to change all single-quoted207 strings to use the ~c sigil and fix this warning.208 │209 64 │ '2.11',210 │ ~211 │212 └─ lib/rustler.ex:64:5213214 warning: using single-quoted strings to represent charlists is deprecated.215 Use ~c"" if you indeed want a charlist or use "" instead.216 You may run "mix format --migrate" to change all single-quoted217 strings to use the ~c sigil and fix this warning.218 │219 65 │ '2.12',220 │ ~221 │222 └─ lib/rustler.ex:65:5223224 warning: using single-quoted strings to represent charlists is deprecated.225 Use ~c"" if you indeed want a charlist or use "" instead.226 You may run "mix format --migrate" to change all single-quoted227 strings to use the ~c sigil and fix this warning.228 │229 66 │ '2.13',230 │ ~231 │232 └─ lib/rustler.ex:66:5233234 warning: using single-quoted strings to represent charlists is deprecated.235 Use ~c"" if you indeed want a charlist or use "" instead.236 You may run "mix format --migrate" to change all single-quoted237 strings to use the ~c sigil and fix this warning.238 │239 67 │ '2.14',240 │ ~241 │242 └─ lib/rustler.ex:67:5243244Generated rustler app245==> tablet246Compiling 2 files (.ex)247Generated tablet app248==> elixir_make249Compiling 8 files (.ex)250Generated elixir_make app251==> nerves_logging252 CC kmsg_tailer.o253 LD kmsg_tailer254Compiling 5 files (.ex)255Generated nerves_logging app256==> nerves_discovery257Compiling 5 files (.ex)258Generated nerves_discovery app259==> ring_logger260Compiling 7 files (.ex)261Generated ring_logger app262==> nerves_compatibility_test263===> Analyzing applications...264===> Compiling poolboy265warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"266 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2267 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1268 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5269 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2270 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4271 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2272273==> db_connection274Compiling 23 files (.ex)275warning: cannot infer signatures from :poolboy because it is not loaded276277 warning: unused require Bitwise278 │279 31 │ require Bitwise280 │ ~281 │282 └─ lib/db_connection/backoff.ex:31:5283284 warning: using single-quoted strings to represent charlists is deprecated.285 Use ~c"" if you indeed want a charlist or use "" instead.286 You may run "mix format --migrate" to change all single-quoted287 strings to use the ~c sigil and fix this warning.288 │289 406 │ :normal -> [{:data, [{'Module', mod}]}]290 │ ~291 │292 └─ lib/db_connection/connection.ex:406:32293294 warning: using single-quoted strings to represent charlists is deprecated.295 Use ~c"" if you indeed want a charlist or use "" instead.296 You may run "mix format --migrate" to change all single-quoted297 strings to use the ~c sigil and fix this warning.298 │299 661 │ [{:data, [{'Module', mod}, {'State', state}]}]300 │ ~301 │302 └─ lib/db_connection/connection.ex:661:16303304 warning: using single-quoted strings to represent charlists is deprecated.305 Use ~c"" if you indeed want a charlist or use "" instead.306 You may run "mix format --migrate" to change all single-quoted307 strings to use the ~c sigil and fix this warning.308 │309 661 │ [{:data, [{'Module', mod}, {'State', state}]}]310 │ ~311 │312 └─ lib/db_connection/connection.ex:661:33313314 warning: Supervisor.Spec.supervisor/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead315 │316 8 │ children = [supervisor(child_mod, [], [restart: :temporary])]317 │ ~318 │319 └─ lib/db_connection/sojourn/supervisor.ex:8:18: DBConnection.Sojourn.Supervisor.start_link/0320321 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead322 │323 30 │ worker(DBConnection.Watcher, [owner])324 │ ~325 │326 └─ lib/db_connection/sojourn/pool.ex:30:5: DBConnection.Sojourn.Pool.watcher/1327328 warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead329 │330 37 │ worker(:sregulator, [regulator, opts, start_opts], child_opts)331 │ ~332 │333 └─ lib/db_connection/sojourn/pool.ex:37:5: DBConnection.Sojourn.Pool.regulator/1334 └─ lib/db_connection/sojourn/pool.ex:49:5: DBConnection.Sojourn.Pool.starter/2335336 warning: Supervisor.Spec.supervisor/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead337 │338 45 │ supervisor(Supervisor, [[conn], sup_opts], [id: :conn_sup])339 │ ~340 │341 └─ lib/db_connection/sojourn/pool.ex:45:5: DBConnection.Sojourn.Pool.conn_sup/2342343 warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead344 │345 55 │ worker(:sbroker, broker_args(mod, opts), child_opts ++ [modules: :dynamic])346 │ ~347 │348 └─ lib/db_connection/sojourn.ex:55:5: DBConnection.Sojourn.child_spec/3349350 warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead351 │352 96 │ Supervisor.Spec.worker(__MODULE__, [mod, opts, mode], child_opts)353 │ ~354 │355 └─ lib/db_connection/connection.ex:96:21: DBConnection.Connection.child_spec/4356357 warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead358 │359 117 │ Supervisor.Spec.worker(Manager, [module, opts], child_opts)360 │ ~361 │362 └─ lib/db_connection/ownership.ex:117:21: DBConnection.Ownership.child_spec/3363364 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead365 │366 138 │ case System.stacktrace() do367 │ ~368 │369 └─ lib/db_connection/connection.ex:138:21: DBConnection.Connection.connect/2370371 warning: the following clause will never match:372373 [{_, _, arity, _} | _rest] = stacktrace when is_integer(arity) ->374375 because it attempts to match on the result of:376377 System.stacktrace()378379 which has type:380381 empty_list()382383 where "arity" was given the type:384385 # type: integer()386 # from: lib/db_connection/connection.ex:139:56387 is_integer(arity)388389 type warning found at:390 │391 139 │ [{_, _, arity, _} | _rest] = stacktrace when is_integer(arity) -> stacktrace392 │ ~393 │394 └─ lib/db_connection/connection.ex:139:38: DBConnection.Connection.connect/2395396 warning: the following clause will never match:397398 [{a, b, params, c} | rest] when is_list(params) ->399400 because it attempts to match on the result of:401402 System.stacktrace()403404 which has type:405406 empty_list()407408 where "params" was given the type:409410 # type: empty_list() or non_empty_list(term(), term())411 # from: lib/db_connection/connection.ex:140:43412 is_list(params)413414 type warning found at:415 │416 140 │ [{a, b, params, c} | rest] when is_list(params) ->417 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~418 │419 └─ lib/db_connection/connection.ex:140: DBConnection.Connection.connect/2420421 warning: Supervisor.Spec.supervisor/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead422 │423 6 │ children = [supervisor(DBConnection.Ownership.Proxy, [], [restart: :temporary])]424 │ ~425 │426 └─ lib/db_connection/ownership/proxy_supervisor.ex:6:18: DBConnection.Ownership.ProxySupervisor.start_link/0427428 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead429 │430 111 │ stack = System.stacktrace()431 │ ~432 │433 └─ lib/db_connection/ownership/proxy.ex:111:24: DBConnection.Ownership.Proxy.handle_call/3434435 warning: Supervisor.Spec.supervisor/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead436 │437 8 │ pool = supervisor(Pool, [], [restart: :temporary])438 │ ~439 │440 └─ lib/db_connection/ownership/pool_supervisor.ex:8:12: DBConnection.Ownership.PoolSupervisor.start_link/0441442 warning: Supervisor.Spec.supervisor/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead443 │444 9 │ supervisor(DBConnection.Ownership.ProxySupervisor, [],445 │ ~446 │447 └─ lib/db_connection/ownership/pool.ex:9:17: DBConnection.Ownership.Pool.start_link/3448449 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead450 │451 36 │ worker(DBConnection.Watcher, [owner])452 │ ~453 │454 └─ lib/db_connection/ownership/pool.ex:36:5: DBConnection.Ownership.Pool.watcher/1455456 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead457 │458 986 │ stack = System.stacktrace()459 │ ~460 │461 └─ lib/db_connection.ex:986:28: DBConnection.handle/4462 └─ lib/db_connection.ex:992:24: DBConnection.handle/4463 └─ lib/db_connection.ex:1003:65: DBConnection.parse/4464 └─ lib/db_connection.ex:1012:24: DBConnection.encode/4465 └─ lib/db_connection.ex:1022:40: DBConnection.decode/6466 └─ lib/db_connection.ex:1057:40: DBConnection.describe/3467 └─ lib/db_connection.ex:1082:40: DBConnection.describe_run/5468 └─ lib/db_connection.ex:1222:28: DBConnection.run_end/2469 └─ lib/db_connection.ex:1293:40: DBConnection.transaction_run/4470 └─ lib/db_connection.ex:1359:28: DBConnection.handle/5471 └─ lib/db_connection.ex:1365:24: DBConnection.handle/5472 └─ lib/db_connection.ex:1383:24: DBConnection.transaction_nested/2473 └─ lib/db_connection.ex:1434:24: DBConnection.prepare_declare_log/6474 └─ lib/db_connection.ex:1463:24: DBConnection.declare_log/6475476 warning: :random.seed/3 is deprecated. Use the 'rand' module instead477 │478 108 │ case :random.seed(hash, sec, micro) do479 │ ~480 │481 └─ lib/db_connection/backoff.ex:108:18: DBConnection.Backoff.random_seed/0482483 warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead484 │485 9 │ supervisor(DBConnection.Task, []),486 │ ~487 │488 └─ lib/db_connection/app.ex:9:7: DBConnection.App.start/2489 └─ lib/db_connection/app.ex:10:7: DBConnection.App.start/2490 └─ lib/db_connection/app.ex:11:7: DBConnection.App.start/2491492Generated db_connection app493==> decimal494Compiling 4 files (.ex)495 warning: using single-quoted strings to represent charlists is deprecated.496 Use ~c"" if you indeed want a charlist or use "" instead.497 You may run "mix format --migrate" to change all single-quoted498 strings to use the ~c sigil and fix this warning.499 │500 1320 │ '0.' ++ :lists.duplicate(-diff, ?0) ++ list501 │ ~502 │503 └─ lib/decimal.ex:1320:11504505 warning: using single-quoted strings to represent charlists is deprecated.506 Use ~c"" if you indeed want a charlist or use "" instead.507 You may run "mix format --migrate" to change all single-quoted508 strings to use the ~c sigil and fix this warning.509 │510 1351 │ list = list ++ 'E'511 │ ~512 │513 └─ lib/decimal.ex:1351:26514515 warning: using single-quoted strings to represent charlists is deprecated.516 Use ~c"" if you indeed want a charlist or use "" instead.517 You may run "mix format --migrate" to change all single-quoted518 strings to use the ~c sigil and fix this warning.519 │520 1352 │ list = if exp >= 0, do: list ++ '+', else: list521 │ ~522 │523 └─ lib/decimal.ex:1352:43524525 warning: using single-quoted strings to represent charlists is deprecated.526 Use ~c"" if you indeed want a charlist or use "" instead.527 You may run "mix format --migrate" to change all single-quoted528 strings to use the ~c sigil and fix this warning.529 │530 1775 │ int = if int == [], do: '0', else: int531 │ ~532 │533 └─ lib/decimal.ex:1775:31534535 warning: using single-quoted strings to represent charlists is deprecated.536 Use ~c"" if you indeed want a charlist or use "" instead.537 You may run "mix format --migrate" to change all single-quoted538 strings to use the ~c sigil and fix this warning.539 │540 1776 │ exp = if exp == [], do: '0', else: exp541 │ ~542 │543 └─ lib/decimal.ex:1776:31544545Generated decimal app546warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"547 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2548 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1549 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5550 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2551 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4552 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2553554==> ecto555Compiling 70 files (.ex)556 warning: using single-quoted strings to represent charlists is deprecated.557 Use ~c"" if you indeed want a charlist or use "" instead.558 You may run "mix format --migrate" to change all single-quoted559 strings to use the ~c sigil and fix this warning.560 │561 166 │ defp insert_all_value(_), do: '?'562 │ ~563 │564 └─ lib/ecto/adapters/mysql/connection.ex:166:37565566 warning: using single-quoted strings to represent charlists is deprecated.567 Use ~c"" if you indeed want a charlist or use "" instead.568 You may run "mix format --migrate" to change all single-quoted569 strings to use the ~c sigil and fix this warning.570 │571 354 │ '?'572 │ ~573 │574 └─ lib/ecto/adapters/mysql/connection.ex:354:7575576 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.577578 This error happens when you have function calls without parentheses inside keywords. For example:579580 function(arg, one: nested_call a, b, c)581 function(arg, one: if expr, do: :this, else: :that)582583 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:584585 function(arg, one: if(expr, do: :this, else: :that))586 function(arg, one: nested_call(a, b, c))587588 Ambiguity found at:589 │590 2286 │ raise ArgumentError, "cannot add constraint to changeset because it does not have a source, got: #{inspect data}"591 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~592 │593 └─ lib/ecto/changeset.ex:2286594595 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.596597 This error happens when you have function calls without parentheses inside keywords. For example:598599 function(arg, one: nested_call a, b, c)600 function(arg, one: if expr, do: :this, else: :that)601602 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:603604 function(arg, one: if(expr, do: :this, else: :that))605 function(arg, one: nested_call(a, b, c))606607 Ambiguity found at:608 │609 265 │ do: raise ArgumentError, "a constraint must have either a check or exclude option"610 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~611 │612 └─ lib/ecto/migration/runner.ex:265613614 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.615616 This error happens when you have function calls without parentheses inside keywords. For example:617618 function(arg, one: nested_call a, b, c)619 function(arg, one: if expr, do: :this, else: :that)620621 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:622623 function(arg, one: if(expr, do: :this, else: :that))624 function(arg, one: nested_call(a, b, c))625626 Ambiguity found at:627 │628 267 │ do: raise ArgumentError, "a constraint must not have both check and exclude options"629 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~630 │631 └─ lib/ecto/migration/runner.ex:267632633 warning: atom ::: must be written between quotes, as in :"::", to avoid ambiguity634 │635 136 │ {:::, _, [left, _]} -> is_integer(left) or is_binary(left)636 │ ~637 │638 └─ lib/ecto/query/builder.ex:136:8639640 warning: unknown compiler variable "__" (expected one of __MODULE__, __ENV__, __DIR__, __CALLER__, __STACKTRACE__)641 │642 643 │ def quoted_type({:datetime_add, _, [_, _, __]}, _vars), do: :naive_datetime643 │ ~~644 │645 └─ lib/ecto/query/builder.ex:643:45: Ecto.Query.Builder.quoted_type/2646647 warning: unknown compiler variable "__" (expected one of __MODULE__, __ENV__, __DIR__, __CALLER__, __STACKTRACE__)648 │649 644 │ def quoted_type({:date_add, _, [_, _, __]}, _vars), do: :date650 │ ~~651 │652 └─ lib/ecto/query/builder.ex:644:41: Ecto.Query.Builder.quoted_type/2653654 warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.655656 This error happens when you have function calls without parentheses inside keywords. For example:657658 function(arg, one: nested_call a, b, c)659 function(arg, one: if expr, do: :this, else: :that)660661 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:662663 function(arg, one: if(expr, do: :this, else: :that))664 function(arg, one: nested_call(a, b, c))665666 Ambiguity found at:667 │668 454 │ do: raise ArgumentError, "a changeset with action #{inspect given} was given to #{inspect repo}.#{action}/2"669 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~670 │671 └─ lib/ecto/repo/schema.ex:454672673 warning: unused require Ecto.Query674 │675 6 │ require Ecto.Query676 │ ~677 │678 └─ lib/ecto/repo/preloader.ex:6:3679680 warning: Module.eval_quoted/2 is deprecated. Use Code.eval_quoted/3 instead681 │682 9 │ schema "schema_migrations" do683 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~684 │685 └─ lib/ecto/migration/schema_migration.ex:9: Ecto.Migration.SchemaMigration (module)686687Compiling lib/ecto.ex (it's taking more than 10s)688 warning: incompatible types given to Mix.Ecto.ensure_started/2:689690 Mix.Ecto.ensure_started(repo, opts)691692 given types:693694 -dynamic(atom())-, dynamic(empty_list() or non_empty_list(term(), term()))695696 but expected one of:697698 %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())699700 where "opts" was given the type:701702 # type: dynamic(703 %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or704 non_struct_map()705 )706 # from: lib/mix/tasks/ecto.rollback.ex:64:10707 opts =708 if opts[:quiet] do709 Keyword.merge(opts, log: false, log_sql: false)710 else711 opts712 end713714 where "repo" was given the type:715716 # type: dynamic(atom())717 # from: lib/mix/tasks/ecto.rollback.ex:70:7718 Mix.Ecto.ensure_repo(repo, args)719720 type warning found at:721 │722 72 │ {:ok, pid, apps} = ensure_started(repo, opts)723 │ ~724 │725 └─ lib/mix/tasks/ecto.rollback.ex:72:26: Mix.Tasks.Ecto.Rollback.run/2726727 warning: incompatible types given to Mix.Ecto.ensure_started/2:728729 Mix.Ecto.ensure_started(repo, all: true)730731 given types:732733 -dynamic(atom())-, non_empty_list({:all, true})734735 but expected one of:736737 %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())738739 where "repo" was given the type:740741 # type: dynamic(atom())742 # from: lib/mix/tasks/ecto.migrations.ex:37:7743 Mix.Ecto.ensure_repo(repo, args)744745 type warning found at:746 │747 39 │ {:ok, pid, _} = ensure_started(repo, all: true)748 │ ~749 │750 └─ lib/mix/tasks/ecto.migrations.ex:39:23: Mix.Tasks.Ecto.Migrations.run/3751752 warning: incompatible types given to Mix.Ecto.ensure_started/2:753754 Mix.Ecto.ensure_started(repo, opts)755756 given types:757758 -dynamic(atom())-, dynamic(empty_list() or non_empty_list(term(), term()))759760 but expected one of:761762 %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())763764 where "opts" was given the type:765766 # type: dynamic(767 %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or768 non_struct_map()769 )770 # from: lib/mix/tasks/ecto.migrate.ex:68:10771 opts =772 if opts[:quiet] do773 Keyword.merge(opts, log: false, log_sql: false)774 else775 opts776 end777778 where "repo" was given the type:779780 # type: dynamic(atom())781 # from: lib/mix/tasks/ecto.migrate.ex:74:7782 Mix.Ecto.ensure_repo(repo, args)783784 type warning found at:785 │786 76 │ {:ok, pid, apps} = ensure_started(repo, opts)787 │ ~788 │789 └─ lib/mix/tasks/ecto.migrate.ex:76:26: Mix.Tasks.Ecto.Migrate.run/2790791 warning: incompatible types given to Mix.Ecto.source_repo_priv/1:792793 Mix.Ecto.source_repo_priv(repo)794795 given types:796797 -dynamic(%{..., __adapter__: atom(), config: empty_list() or non_empty_list(term(), term())})-798799 but expected one of:800801 atom()802803 where "repo" was given the types:804805 # type: dynamic(%{..., config: empty_list() or non_empty_list(term(), term())})806 # from: lib/mix/tasks/ecto.load.ex:70:22807 Keyword.merge(repo.config, opts)808809 # type: dynamic(%{..., __adapter__: atom(), config: empty_list() or non_empty_list(term(), term())})810 # from: lib/mix/tasks/ecto.load.ex:72:27811 repo.__adapter__.structure_load(Mix.Ecto.source_repo_priv(repo), config)812813 type warning found at:814 │815 72 │ case repo.__adapter__.structure_load(source_repo_priv(repo), config) do816 │ ~817 │818 └─ lib/mix/tasks/ecto.load.ex:72:42: Mix.Tasks.Ecto.Load.load_structure/2819820 warning: expected a map or struct when accessing .__adapter__ in expression:821822 repo.__adapter__823824 where "repo" was given the type:825826 # type: dynamic(atom())827 # from: lib/mix/tasks/ecto.load.ex:53:7828 Mix.Ecto.ensure_repo(repo, args)829830 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()831832 type warning found at:833 │834 54 │ ensure_implements(repo.__adapter__, Ecto.Adapter.Structure,835 │ ~836 │837 └─ lib/mix/tasks/ecto.load.ex:54:30: Mix.Tasks.Ecto.Load.run/1838839 warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead840 │841 2400 │ surround_many("#Ecto.Changeset<", list, ">", opts, fn842 │ ~843 │844 └─ lib/ecto/changeset.ex:2400:5: Inspect.Ecto.Changeset.inspect/2845846 warning: expected a map or struct when accessing .__adapter__ in expression:847848 repo.__adapter__849850 where "repo" was given the type:851852 # type: dynamic(atom())853 # from: lib/mix/tasks/ecto.dump.ex:50:7854 Mix.Ecto.ensure_repo(repo, args)855856 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()857858 type warning found at:859 │860 51 │ ensure_implements(repo.__adapter__, Ecto.Adapter.Structure,861 │ ~862 │863 └─ lib/mix/tasks/ecto.dump.ex:51:30: Mix.Tasks.Ecto.Dump.run/1864865 warning: expected a map or struct when accessing .__adapter__ in expression:866867 repo.__adapter__868869 where "repo" was given the type:870871 # type: dynamic(atom())872 # from: lib/mix/tasks/ecto.drop.ex:39:7873 Mix.Ecto.ensure_repo(repo, args)874875 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()876877 type warning found at:878 │879 40 │ ensure_implements(repo.__adapter__, Ecto.Adapter.Storage,880 │ ~881 │882 └─ lib/mix/tasks/ecto.drop.ex:40:30: Mix.Tasks.Ecto.Drop.run/1883884 warning: expected a map or struct when accessing .__adapter__ in expression:885886 repo.__adapter__887888 where "repo" was given the type:889890 # type: dynamic(atom())891 # from: lib/mix/tasks/ecto.create.ex:37:7892 Mix.Ecto.ensure_repo(repo, args)893894 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()895896 type warning found at:897 │898 38 │ ensure_implements(repo.__adapter__, Ecto.Adapter.Storage,899 │ ~900 │901 └─ lib/mix/tasks/ecto.create.ex:38:30: Mix.Tasks.Ecto.Create.run/1902903 warning: the following clause will never match:904905 [{^module, :changeset, args_or_arity, _}] when args_or_arity == 2 when length(args_or_arity) == 2 ->906907 because it attempts to match on the result of:908909 System.stacktrace()910911 which has type:912913 empty_list()914915 where "args_or_arity" was given the type:916917 # type: float() or integer() or non_empty_list(term())918 # from: lib/ecto/changeset.ex919 (_() when args_or_arity == 2) when length(args_or_arity) == 2920921 where "module" was given the type:922923 # type: dynamic()924 # from: lib/ecto/changeset.ex:733:30925 module926927 type warning found at:928 │929 741 │ ... when length(args_or_arity) == 2 ->930 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~931 │932 └─ lib/ecto/changeset.ex:741: Ecto.Changeset.on_cast_default/2933934 warning: Mix.Project.compile/1 is deprecated. Use Mix.Task.run("compile", args) instead935 │936 62 │ Mix.Project.compile(args)937 │ ~938 │939 └─ lib/mix/ecto.ex:62:19: Mix.Ecto.ensure_repo/2940941 warning: expected a module (an atom) when invoking start_link/1 in expression:942943 repo.start_link(pool_size: pool_size)944945 where "pool_size" was given the type:946947 # type: dynamic()948 # from: lib/mix/ecto.ex:101:15949 pool_size = Keyword.get(opts, :pool_size, 1)950951 where "repo" was given the type:952953 # type: dynamic(%{..., __adapter__: atom()})954 # from: lib/mix/ecto.ex:99:36955 repo.__adapter__.ensure_all_started(repo, :temporary)956957 type warning found at:958 │959 102 │ case repo.start_link(pool_size: pool_size) do960 │ ~961 │962 └─ lib/mix/ecto.ex:102:15: Mix.Ecto.ensure_started/2963964 warning: Logger.remove_backend/1 is deprecated. Use LoggerBackends.remove/2 from :logger_backends dependency965 │966 146 │ Logger.remove_backend(:console)967 │ ~968 │969 └─ lib/mix/ecto.ex:146:12: Mix.Ecto.restart_apps_if_migrated/2970971 warning: Logger.add_backend/2 is deprecated. Use LoggerBackends.add/2 from :logger_backends dependency972 │973 155 │ Logger.add_backend(:console, flush: true)974 │ ~975 │976 └─ lib/mix/ecto.ex:155:12: Mix.Ecto.restart_apps_if_migrated/2977978 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead979 │980 739 │ case System.stacktrace do981 │ ~982 │983 └─ lib/ecto/changeset.ex:739:23: Ecto.Changeset.on_cast_default/2984985 warning: incompatible types given to get_source/1:986987 get_source(repo)988989 given types:990991 -dynamic(atom())-992993 but expected one of:994995 %{..., config: empty_list() or non_empty_list(term(), term())}996997 where "repo" was given the type:998999 # type: dynamic(atom())1000 # from: lib/ecto/migration/schema_migration.ex:24:131001 repo.all(1002 Map.put(1003 (1004 query =1005 (1006 query = {get_source(repo), Ecto.Migration.SchemaMigration}1007 Ecto.Query.Builder.From.apply(query, 1)1008 )1009 1010 Ecto.Query.Builder.Select.apply(query, %Ecto.Query.SelectExpr{1011 ...,1012 expr: {{:., [], [{:&, [], [0]}, :version]}, [], []},1013 file: "/work/proj/deps_bbb/ecto/lib/ecto/migration/schema_migration.ex",1014 line: 22,1015 take: %{}1016 })1017 ),1018 :prefix,1019 prefix1020 ), timeout: :infinity, log: false)10211022 type warning found at:1023 │1024 22 │ from(p in {get_source(repo), __MODULE__}, select: p.version)1025 │ ~1026 │1027 └─ lib/ecto/migration/schema_migration.ex:22:16: Ecto.Migration.SchemaMigration.migrated_versions/210281029 warning: incompatible types given to get_source/1:10301031 get_source(repo)10321033 given types:10341035 -dynamic(atom())-10361037 but expected one of:10381039 %{..., config: empty_list() or non_empty_list(term(), term())}10401041 where "repo" was given the type:10421043 # type: dynamic(atom())1044 # from: lib/ecto/migration/schema_migration.ex:30:131045 repo.insert!(1046 Ecto.put_meta(%Ecto.Migration.SchemaMigration{..., version: version},1047 prefix: prefix,1048 source: get_source(repo)1049 ), timeout: :infinity, log: false)10501051 type warning found at:1052 │1053 29 │ |> Ecto.put_meta(prefix: prefix, source: get_source(repo))1054 │ ~1055 │1056 └─ lib/ecto/migration/schema_migration.ex:29:46: Ecto.Migration.SchemaMigration.up/310571058 warning: incompatible types given to get_source/1:10591060 get_source(repo)10611062 given types:10631064 -dynamic(atom())-10651066 but expected one of:10671068 %{..., config: empty_list() or non_empty_list(term(), term())}10691070 where "repo" was given the type:10711072 # type: dynamic(atom())1073 # from: lib/ecto/migration/schema_migration.ex:36:131074 repo.delete_all(1075 Map.put(1076 (1077 query =1078 (1079 query = {get_source(repo), Ecto.Migration.SchemaMigration}1080 Ecto.Query.Builder.From.apply(query, 1)1081 )1082 1083 Ecto.Query.Builder.Filter.apply(query, :where, %Ecto.Query.BooleanExpr{1084 expr: {:==, [], [{{:., [], [{:&, [], [0]}, :version]}, [], []}, {:^, [], [0]}]},1085 op: :and,1086 params: [{Ecto.Query.Builder.not_nil!(version), {0, :version}}],1087 file: "/work/proj/deps_bbb/ecto/lib/ecto/migration/schema_migration.ex",1088 line: 341089 })1090 ),1091 :prefix,1092 prefix1093 ), timeout: :infinity, log: false)10941095 type warning found at:1096 │1097 34 │ from(p in {get_source(repo), __MODULE__}, where: p.version == ^version)1098 │ ~1099 │1100 └─ lib/ecto/migration/schema_migration.ex:34:16: Ecto.Migration.SchemaMigration.down/311011102 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1103 │1104 856 │ not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->1105 │ ~1106 │1107 └─ lib/ecto/association.ex:856:78: Ecto.Association.ManyToMany.after_compile_validation/21108 └─ lib/ecto/association.ex:860:45: Ecto.Association.ManyToMany.after_compile_validation/211091110 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1111 │1112 715 │ not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->1113 │ ~1114 │1115 └─ lib/ecto/association.ex:715:78: Ecto.Association.BelongsTo.after_compile_validation/211161117 warning: the following conditional expression:11181119 is_atom(related)11201121 will always evaluate to:11221123 dynamic(true)11241125 where "related" was given the type:11261127 # type: dynamic(atom())1128 # from: lib/ecto/association.ex:730:151129 related = Ecto.Association.related_from_query(queryable)11301131 type warning found at:1132 │1133 732 │ unless is_atom(related) do1134 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~1135 │1136 └─ lib/ecto/association.ex:732: Ecto.Association.BelongsTo.struct/311371138 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1139 │1140 430 │ not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->1141 │ ~1142 │1143 └─ lib/ecto/association.ex:430:78: Ecto.Association.Has.after_compile_validation/211441145 warning: this clause of defp type_to_module/1 is never used (or it will always fail/warn when invoked)1146 │1147 1422 │ defp type_to_module(:naive_datetime), do: NaiveDateTime1148 │ ~1149 │1150 └─ lib/ecto/schema.ex:1422:8: Ecto.Schema.type_to_module/111511152 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1153 │1154 1885 │ if Code.ensure_compiled?(type) and function_exported?(type, :type, 0) do1155 │ ~1156 │1157 └─ lib/ecto/schema.ex:1885:17: Ecto.Schema.check_type!/311581159 warning: the following clause will never match:11601161 {:error, _} = error ->11621163 because it attempts to match on the result of:11641165 apply(changeset, adapter, :insert, args)11661167 which has type:11681169 dynamic({:invalid or :ok, term()})11701171 type warning found at:1172 │1173 219 │ {:error, _} = error ->1174 │ ~1175 │1176 └─ lib/ecto/repo/schema.ex:219:23: Ecto.Repo.Schema.do_insert/411771178 warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead1179 │1180 29 │ surround_many("#Ecto.Query<", list, ">", opts, fn str, _ -> str end)1181 │ ~1182 │1183 └─ lib/ecto/query/inspect.ex:29:5: Inspect.Ecto.Query.inspect/211841185 warning: the following clause will never match:11861187 {:error, _} = error ->11881189 because it attempts to match on the result of:11901191 apply(changeset, adapter, action, args)11921193 which has type:11941195 dynamic({:invalid or :ok, term()})11961197 type warning found at:1198 │1199 297 │ {:error, _} = error ->1200 │ ~1201 │1202 └─ lib/ecto/repo/schema.ex:297:25: Ecto.Repo.Schema.do_update/412031204 warning: Macro.to_string/2 is deprecated. Use Macro.to_string/1 instead1205 │1206 144 │ Macro.to_string(expr, &expr_to_string(&1, &2, names, part))1207 │ ~1208 │1209 └─ lib/ecto/query/inspect.ex:144:11: Inspect.Ecto.Query.expr/312101211 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1212 │1213 54 │ filter_and_reraise e, System.stacktrace1214 │ ~1215 │1216 └─ lib/ecto/repo/preloader.ex:54:36: Ecto.Repo.Preloader.normalize_and_preload_each/512171218 warning: Map.size/1 is deprecated. Use Kernel.map_size/1 instead1219 │1220 44 │ index = Map.size(params)1221 │ ~1222 │1223 └─ lib/ecto/query/builder.ex:44:18: Ecto.Query.Builder.escape/51224 └─ lib/ecto/query/builder.ex:53:17: Ecto.Query.Builder.escape/512251226 warning: Decimal.minus/1 is deprecated. Use Decimal.negate/1 instead1227 │1228 614 │ Decimal.minus(decimal)1229 │ ~1230 │1231 └─ lib/ecto/query/builder.ex:614:13: Ecto.Query.Builder.negate!/112321233 warning: BadStructError.exception/1 is undefined (module BadStructError 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)1234 │1235 228 │ raise BadStructError, struct: struct, term: data1236 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1237 │1238 └─ lib/ecto/repo/queryable.ex:228: Ecto.Repo.Queryable.process/512391240 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1241 │1242 214 │ filter_and_reraise e, System.stacktrace1243 │ ~1244 │1245 └─ lib/ecto/query/planner.ex:214:36: Ecto.Query.Planner.prepare/41246 └─ lib/ecto/query/planner.ex:709:36: Ecto.Query.Planner.normalize/412471248 warning: the following clause will never match:12491250 {:error, _} ->12511252 because it attempts to match on the result of:12531254 NaiveDateTime.new(date, time)12551256 which has type:12571258 dynamic({:ok, %NaiveDateTime{}})12591260 type warning found at:1261 │1262 803 │ {:error, _} -> :error1263 │ ~~~~~~~~~~~~~~~~~~~~~1264 │1265 └─ lib/ecto/type.ex:803: Ecto.Type.cast_naive_datetime/112661267 warning: expected a map or struct when accessing .__struct__ in expression:12681269 schema.__struct__12701271 where "schema" was given the types:12721273 # type: dynamic(atom() and not nil)1274 # from: lib/ecto/query/planner.ex:1186:411275 schema12761277 # type: atom()1278 # from: lib/ecto/query/planner.ex:1186:611279 is_atom(schema)12801281 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()12821283 type warning found at:1284 │1285 1190 │ Map.has_key?(schema.__struct__, field) ->1286 │ ~1287 │1288 └─ lib/ecto/query/planner.ex:1190:27: Ecto.Query.Planner.type!/612891290 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1291 │1292 159 │ supervise(children, strategy: :one_for_one)1293 │ ~1294 │1295 └─ lib/ecto/repo/supervisor.ex:159:9: Ecto.Repo.Supervisor.init/112961297 warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead1298 │1299 15 │ surround_many("dynamic(", [Macro.to_string(binding), inspected], ")", opts, fn str, _ -> str end)1300 │ ~1301 │1302 └─ lib/ecto/query/inspect.ex:15:5: Inspect.Ecto.Query.DynamicExpr.inspect/213031304 warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead1305 │1306 12 │ worker(Ecto.Migration.Runner, [], restart: :temporary)1307 │ ~1308 │1309 └─ lib/ecto/migration/supervisor.ex:12:7: Ecto.Migration.Supervisor.init/113101311 warning: incompatible types given to Ecto.Migration.SchemaMigration.migrated_versions/2:13121313 Ecto.Migration.SchemaMigration.migrated_versions(repo, opts[:prefix])13141315 given types:13161317 (1318 -dynamic(%{..., __adapter__: term(), config: empty_list() or non_empty_list(term(), term())})-,1319 dynamic()1320 )13211322 but expected one of:13231324 atom(), term()13251326 where "opts" was given the type:13271328 # type: dynamic(1329 %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or1330 non_struct_map()1331 )1332 # from: lib/ecto/migrator.ex:44:651333 opts[:prefix]13341335 where "repo" was given the type:13361337 # type: dynamic(%{..., __adapter__: term(), config: empty_list() or non_empty_list(term(), term())})1338 # from: lib/ecto/migrator.ex:44:231339 Ecto.Migration.SchemaMigration.ensure_schema_migrations_table!(repo, opts[:prefix])13401341 type warning found at:1342 │1343 45 │ SchemaMigration.migrated_versions(repo, opts[:prefix])1344 │ ~1345 │1346 └─ lib/ecto/migrator.ex:45:23: Ecto.Migrator.migrated_versions/213471348 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1349 │1350 15 │ supervise(children, strategy: :simple_one_for_one)1351 │ ~1352 │1353 └─ lib/ecto/migration/supervisor.ex:15:5: Ecto.Migration.Supervisor.init/113541355 warning: expected a module (an atom) when invoking transaction/2 in expression:13561357 repo.transaction(fun, log: false, timeout: :infinity)13581359 where "fun" was given the type:13601361 # type: dynamic()1362 # from: lib/ecto/migrator.ex:114:471363 fun13641365 where "repo" was given the types:13661367 # type: dynamic(%{..., __adapter__: %{..., supports_ddl_transaction?: term()}})1368 # from: lib/ecto/migrator.ex:118:241369 repo.__adapter__.supports_ddl_transaction?13701371 # type: dynamic(%{..., __adapter__: %{..., supports_ddl_transaction?: not false and not nil}})1372 # from: lib/ecto/migrator.ex:118:241373 repo.__adapter__.supports_ddl_transaction?13741375 type warning found at:1376 │1377 119 │ repo.transaction(fun, [log: false, timeout: :infinity])1378 │ ~1379 │1380 └─ lib/ecto/migrator.ex:119:14: Ecto.Migrator.run_maybe_in_transaction/313811382 warning: Code.load_file/1 is deprecated. Use Code.require_file/2 or Code.compile_file/2 instead1383 │1384 291 │ modules = Code.load_file(file)1385 │ ~1386 │1387 └─ lib/ecto/migrator.ex:291:20: Ecto.Migrator.extract_module/213881389 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1390 │1391 321 │ reraise error, System.stacktrace1392 │ ~1393 │1394 └─ lib/ecto/migrator.ex:321:31: Ecto.Migrator.verbose_schema_migration/313951396 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1397 │1398 10 │ worker(Ecto.Registry, []),1399 │ ~1400 │1401 └─ lib/ecto/application.ex:10:7: Ecto.Application.start/214021403 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1404 │1405 260 │ reraise %{err | message: message}, System.stacktrace1406 │ ~1407 │1408 └─ lib/ecto/adapters/sql.ex:260:51: Ecto.Adapters.SQL.sql_call/614091410 warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1411 │1412 11 │ supervisor(Ecto.Migration.Supervisor, [])1413 │ ~1414 │1415 └─ lib/ecto/application.ex:11:7: Ecto.Application.start/214161417Generated ecto app1418==> tds1419Compiling NIF crate :tds_encoding (native/tds_encoding)...1420could not compile dependency :tds, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile tds --force", update it with "mix deps.update tds" or clean it with "mix deps.clean tds"1421** (ErlangError) Erlang error: :enoent1422 (elixir 1.20.3) lib/system.ex:1141: System.cmd("cargo", ["rustc", "--release"], [cd: "/work/proj/deps_bbb/tds/native/tds_encoding", stderr_to_stdout: true, env: [{"CARGO_TARGET_DIR", "/work/proj/_build/bbb/rustler_crates/tds_encoding"}], into: %IO.Stream{device: :standard_io, raw: false, line_or_bytes: :line}])1423 (rustler 0.20.0) lib/mix/tasks/compile.rustler.ex:58: Mix.Tasks.Compile.Rustler.compile_crate/11424 (elixir 1.20.3) lib/enum.ex:1725: Enum."-map/2-lists^map/1-1-"/21425 (rustler 0.20.0) lib/mix/tasks/compile.rustler.ex:14: Mix.Tasks.Compile.Rustler.run/11426 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51427 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21428 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41429 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2