Build log
nerves_system_mangopi_mq_pro
tds_ecto 2.3.0 · fail · run tds_ecto-2.3.0-1791129015595
1428 of 1428 lines
1Resolving Hex dependencies...2Resolution completed in 0.163s3Unchanged: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.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead337 │338 96 │ Supervisor.Spec.worker(__MODULE__, [mod, opts, mode], child_opts)339 │ ~340 │341 └─ lib/db_connection/connection.ex:96:21: DBConnection.Connection.child_spec/4342343 warning: Supervisor.Spec.supervisor/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead344 │345 45 │ supervisor(Supervisor, [[conn], sup_opts], [id: :conn_sup])346 │ ~347 │348 └─ lib/db_connection/sojourn/pool.ex:45:5: DBConnection.Sojourn.Pool.conn_sup/2349350 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead351 │352 138 │ case System.stacktrace() do353 │ ~354 │355 └─ lib/db_connection/connection.ex:138:21: DBConnection.Connection.connect/2356357 warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead358 │359 55 │ worker(:sbroker, broker_args(mod, opts), child_opts ++ [modules: :dynamic])360 │ ~361 │362 └─ lib/db_connection/sojourn.ex:55:5: DBConnection.Sojourn.child_spec/3363364 warning: the following clause will never match:365366 [{_, _, arity, _} | _rest] = stacktrace when is_integer(arity) ->367368 because it attempts to match on the result of:369370 System.stacktrace()371372 which has type:373374 empty_list()375376 where "arity" was given the type:377378 # type: integer()379 # from: lib/db_connection/connection.ex:139:56380 is_integer(arity)381382 type warning found at:383 │384 139 │ [{_, _, arity, _} | _rest] = stacktrace when is_integer(arity) -> stacktrace385 │ ~386 │387 └─ lib/db_connection/connection.ex:139:38: DBConnection.Connection.connect/2388389 warning: the following clause will never match:390391 [{a, b, params, c} | rest] when is_list(params) ->392393 because it attempts to match on the result of:394395 System.stacktrace()396397 which has type:398399 empty_list()400401 where "params" was given the type:402403 # type: empty_list() or non_empty_list(term(), term())404 # from: lib/db_connection/connection.ex:140:43405 is_list(params)406407 type warning found at:408 │409 140 │ [{a, b, params, c} | rest] when is_list(params) ->410 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~411 │412 └─ lib/db_connection/connection.ex:140: DBConnection.Connection.connect/2413414 warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead415 │416 117 │ Supervisor.Spec.worker(Manager, [module, opts], child_opts)417 │ ~418 │419 └─ lib/db_connection/ownership.ex:117:21: DBConnection.Ownership.child_spec/3420421 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: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead477 │478 9 │ supervisor(DBConnection.Task, []),479 │ ~480 │481 └─ lib/db_connection/app.ex:9:7: DBConnection.App.start/2482 └─ lib/db_connection/app.ex:10:7: DBConnection.App.start/2483 └─ lib/db_connection/app.ex:11:7: DBConnection.App.start/2484485 warning: :random.seed/3 is deprecated. Use the 'rand' module instead486 │487 108 │ case :random.seed(hash, sec, micro) do488 │ ~489 │490 └─ lib/db_connection/backoff.ex:108:18: DBConnection.Backoff.random_seed/0491492Generated 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)686687 warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead688 │689 2400 │ surround_many("#Ecto.Changeset<", list, ">", opts, fn690 │ ~691 │692 └─ lib/ecto/changeset.ex:2400:5: Inspect.Ecto.Changeset.inspect/2693694 warning: the following clause will never match:695696 [{^module, :changeset, args_or_arity, _}] when args_or_arity == 2 when length(args_or_arity) == 2 ->697698 because it attempts to match on the result of:699700 System.stacktrace()701702 which has type:703704 empty_list()705706 where "args_or_arity" was given the type:707708 # type: float() or integer() or non_empty_list(term())709 # from: lib/ecto/changeset.ex710 (_() when args_or_arity == 2) when length(args_or_arity) == 2711712 where "module" was given the type:713714 # type: dynamic()715 # from: lib/ecto/changeset.ex:733:30716 module717718 type warning found at:719 │720 741 │ ... when length(args_or_arity) == 2 ->721 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~722 │723 └─ lib/ecto/changeset.ex:741: Ecto.Changeset.on_cast_default/2724725 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead726 │727 739 │ case System.stacktrace do728 │ ~729 │730 └─ lib/ecto/changeset.ex:739:23: Ecto.Changeset.on_cast_default/2731732 warning: incompatible types given to Mix.Ecto.ensure_started/2:733734 Mix.Ecto.ensure_started(repo, opts)735736 given types:737738 -dynamic(atom())-, dynamic(empty_list() or non_empty_list(term(), term()))739740 but expected one of:741742 %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())743744 where "opts" was given the type:745746 # type: dynamic(747 %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or748 non_struct_map()749 )750 # from: lib/mix/tasks/ecto.rollback.ex:64:10751 opts =752 if opts[:quiet] do753 Keyword.merge(opts, log: false, log_sql: false)754 else755 opts756 end757758 where "repo" was given the type:759760 # type: dynamic(atom())761 # from: lib/mix/tasks/ecto.rollback.ex:70:7762 Mix.Ecto.ensure_repo(repo, args)763764 type warning found at:765 │766 72 │ {:ok, pid, apps} = ensure_started(repo, opts)767 │ ~768 │769 └─ lib/mix/tasks/ecto.rollback.ex:72:26: Mix.Tasks.Ecto.Rollback.run/2770771 warning: incompatible types given to Mix.Ecto.ensure_started/2:772773 Mix.Ecto.ensure_started(repo, all: true)774775 given types:776777 -dynamic(atom())-, non_empty_list({:all, true})778779 but expected one of:780781 %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())782783 where "repo" was given the type:784785 # type: dynamic(atom())786 # from: lib/mix/tasks/ecto.migrations.ex:37:7787 Mix.Ecto.ensure_repo(repo, args)788789 type warning found at:790 │791 39 │ {:ok, pid, _} = ensure_started(repo, all: true)792 │ ~793 │794 └─ lib/mix/tasks/ecto.migrations.ex:39:23: Mix.Tasks.Ecto.Migrations.run/3795796 warning: incompatible types given to Mix.Ecto.ensure_started/2:797798 Mix.Ecto.ensure_started(repo, opts)799800 given types:801802 -dynamic(atom())-, dynamic(empty_list() or non_empty_list(term(), term()))803804 but expected one of:805806 %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())807808 where "opts" was given the type:809810 # type: dynamic(811 %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or812 non_struct_map()813 )814 # from: lib/mix/tasks/ecto.migrate.ex:68:10815 opts =816 if opts[:quiet] do817 Keyword.merge(opts, log: false, log_sql: false)818 else819 opts820 end821822 where "repo" was given the type:823824 # type: dynamic(atom())825 # from: lib/mix/tasks/ecto.migrate.ex:74:7826 Mix.Ecto.ensure_repo(repo, args)827828 type warning found at:829 │830 76 │ {:ok, pid, apps} = ensure_started(repo, opts)831 │ ~832 │833 └─ lib/mix/tasks/ecto.migrate.ex:76:26: Mix.Tasks.Ecto.Migrate.run/2834835 warning: incompatible types given to Mix.Ecto.source_repo_priv/1:836837 Mix.Ecto.source_repo_priv(repo)838839 given types:840841 -dynamic(%{..., __adapter__: atom(), config: empty_list() or non_empty_list(term(), term())})-842843 but expected one of:844845 atom()846847 where "repo" was given the types:848849 # type: dynamic(%{..., config: empty_list() or non_empty_list(term(), term())})850 # from: lib/mix/tasks/ecto.load.ex:70:22851 Keyword.merge(repo.config, opts)852853 # type: dynamic(%{..., __adapter__: atom(), config: empty_list() or non_empty_list(term(), term())})854 # from: lib/mix/tasks/ecto.load.ex:72:27855 repo.__adapter__.structure_load(Mix.Ecto.source_repo_priv(repo), config)856857 type warning found at:858 │859 72 │ case repo.__adapter__.structure_load(source_repo_priv(repo), config) do860 │ ~861 │862 └─ lib/mix/tasks/ecto.load.ex:72:42: Mix.Tasks.Ecto.Load.load_structure/2863864 warning: expected a map or struct when accessing .__adapter__ in expression:865866 repo.__adapter__867868 where "repo" was given the type:869870 # type: dynamic(atom())871 # from: lib/mix/tasks/ecto.load.ex:53:7872 Mix.Ecto.ensure_repo(repo, args)873874 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()875876 type warning found at:877 │878 54 │ ensure_implements(repo.__adapter__, Ecto.Adapter.Structure,879 │ ~880 │881 └─ lib/mix/tasks/ecto.load.ex:54:30: Mix.Tasks.Ecto.Load.run/1882883 warning: expected a map or struct when accessing .__adapter__ in expression:884885 repo.__adapter__886887 where "repo" was given the type:888889 # type: dynamic(atom())890 # from: lib/mix/tasks/ecto.dump.ex:50:7891 Mix.Ecto.ensure_repo(repo, args)892893 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()894895 type warning found at:896 │897 51 │ ensure_implements(repo.__adapter__, Ecto.Adapter.Structure,898 │ ~899 │900 └─ lib/mix/tasks/ecto.dump.ex:51:30: Mix.Tasks.Ecto.Dump.run/1901902 warning: expected a map or struct when accessing .__adapter__ in expression:903904 repo.__adapter__905906 where "repo" was given the type:907908 # type: dynamic(atom())909 # from: lib/mix/tasks/ecto.drop.ex:39:7910 Mix.Ecto.ensure_repo(repo, args)911912 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()913914 type warning found at:915 │916 40 │ ensure_implements(repo.__adapter__, Ecto.Adapter.Storage,917 │ ~918 │919 └─ lib/mix/tasks/ecto.drop.ex:40:30: Mix.Tasks.Ecto.Drop.run/1920921 warning: expected a map or struct when accessing .__adapter__ in expression:922923 repo.__adapter__924925 where "repo" was given the type:926927 # type: dynamic(atom())928 # from: lib/mix/tasks/ecto.create.ex:37:7929 Mix.Ecto.ensure_repo(repo, args)930931 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()932933 type warning found at:934 │935 38 │ ensure_implements(repo.__adapter__, Ecto.Adapter.Storage,936 │ ~937 │938 └─ lib/mix/tasks/ecto.create.ex:38:30: Mix.Tasks.Ecto.Create.run/1939940 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)941 │942 856 │ not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->943 │ ~944 │945 └─ lib/ecto/association.ex:856:78: Ecto.Association.ManyToMany.after_compile_validation/2946 └─ lib/ecto/association.ex:860:45: Ecto.Association.ManyToMany.after_compile_validation/2947948 warning: incompatible types given to get_source/1:949950 get_source(repo)951952 given types:953954 -dynamic(atom())-955956 but expected one of:957958 %{..., config: empty_list() or non_empty_list(term(), term())}959960 where "repo" was given the type:961962 # type: dynamic(atom())963 # from: lib/ecto/migration/schema_migration.ex:24:13964 repo.all(965 Map.put(966 (967 query =968 (969 query = {get_source(repo), Ecto.Migration.SchemaMigration}970 Ecto.Query.Builder.From.apply(query, 1)971 )972 973 Ecto.Query.Builder.Select.apply(query, %Ecto.Query.SelectExpr{974 ...,975 expr: {{:., [], [{:&, [], [0]}, :version]}, [], []},976 file: "/work/proj/deps_mangopi_mq_pro/ecto/lib/ecto/migration/schema_migration.ex",977 line: 22,978 take: %{}979 })980 ),981 :prefix,982 prefix983 ), timeout: :infinity, log: false)984985 type warning found at:986 │987 22 │ from(p in {get_source(repo), __MODULE__}, select: p.version)988 │ ~989 │990 └─ lib/ecto/migration/schema_migration.ex:22:16: Ecto.Migration.SchemaMigration.migrated_versions/2991992 warning: incompatible types given to get_source/1:993994 get_source(repo)995996 given types:997998 -dynamic(atom())-9991000 but expected one of:10011002 %{..., config: empty_list() or non_empty_list(term(), term())}10031004 where "repo" was given the type:10051006 # type: dynamic(atom())1007 # from: lib/ecto/migration/schema_migration.ex:30:131008 repo.insert!(1009 Ecto.put_meta(%Ecto.Migration.SchemaMigration{..., version: version},1010 prefix: prefix,1011 source: get_source(repo)1012 ), timeout: :infinity, log: false)10131014 type warning found at:1015 │1016 29 │ |> Ecto.put_meta(prefix: prefix, source: get_source(repo))1017 │ ~1018 │1019 └─ lib/ecto/migration/schema_migration.ex:29:46: Ecto.Migration.SchemaMigration.up/310201021 warning: incompatible types given to get_source/1:10221023 get_source(repo)10241025 given types:10261027 -dynamic(atom())-10281029 but expected one of:10301031 %{..., config: empty_list() or non_empty_list(term(), term())}10321033 where "repo" was given the type:10341035 # type: dynamic(atom())1036 # from: lib/ecto/migration/schema_migration.ex:36:131037 repo.delete_all(1038 Map.put(1039 (1040 query =1041 (1042 query = {get_source(repo), Ecto.Migration.SchemaMigration}1043 Ecto.Query.Builder.From.apply(query, 1)1044 )1045 1046 Ecto.Query.Builder.Filter.apply(query, :where, %Ecto.Query.BooleanExpr{1047 expr: {:==, [], [{{:., [], [{:&, [], [0]}, :version]}, [], []}, {:^, [], [0]}]},1048 op: :and,1049 params: [{Ecto.Query.Builder.not_nil!(version), {0, :version}}],1050 file: "/work/proj/deps_mangopi_mq_pro/ecto/lib/ecto/migration/schema_migration.ex",1051 line: 341052 })1053 ),1054 :prefix,1055 prefix1056 ), timeout: :infinity, log: false)10571058 type warning found at:1059 │1060 34 │ from(p in {get_source(repo), __MODULE__}, where: p.version == ^version)1061 │ ~1062 │1063 └─ lib/ecto/migration/schema_migration.ex:34:16: Ecto.Migration.SchemaMigration.down/310641065 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1066 │1067 715 │ not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->1068 │ ~1069 │1070 └─ lib/ecto/association.ex:715:78: Ecto.Association.BelongsTo.after_compile_validation/210711072 warning: this clause of defp type_to_module/1 is never used (or it will always fail/warn when invoked)1073 │1074 1422 │ defp type_to_module(:naive_datetime), do: NaiveDateTime1075 │ ~1076 │1077 └─ lib/ecto/schema.ex:1422:8: Ecto.Schema.type_to_module/110781079 warning: the following conditional expression:10801081 is_atom(related)10821083 will always evaluate to:10841085 dynamic(true)10861087 where "related" was given the type:10881089 # type: dynamic(atom())1090 # from: lib/ecto/association.ex:730:151091 related = Ecto.Association.related_from_query(queryable)10921093 type warning found at:1094 │1095 732 │ unless is_atom(related) do1096 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~1097 │1098 └─ lib/ecto/association.ex:732: Ecto.Association.BelongsTo.struct/310991100 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1101 │1102 430 │ not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->1103 │ ~1104 │1105 └─ lib/ecto/association.ex:430:78: Ecto.Association.Has.after_compile_validation/211061107 warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1108 │1109 1885 │ if Code.ensure_compiled?(type) and function_exported?(type, :type, 0) do1110 │ ~1111 │1112 └─ lib/ecto/schema.ex:1885:17: Ecto.Schema.check_type!/311131114 warning: Mix.Project.compile/1 is deprecated. Use Mix.Task.run("compile", args) instead1115 │1116 62 │ Mix.Project.compile(args)1117 │ ~1118 │1119 └─ lib/mix/ecto.ex:62:19: Mix.Ecto.ensure_repo/211201121 warning: expected a module (an atom) when invoking start_link/1 in expression:11221123 repo.start_link(pool_size: pool_size)11241125 where "pool_size" was given the type:11261127 # type: dynamic()1128 # from: lib/mix/ecto.ex:101:151129 pool_size = Keyword.get(opts, :pool_size, 1)11301131 where "repo" was given the type:11321133 # type: dynamic(%{..., __adapter__: atom()})1134 # from: lib/mix/ecto.ex:99:361135 repo.__adapter__.ensure_all_started(repo, :temporary)11361137 type warning found at:1138 │1139 102 │ case repo.start_link(pool_size: pool_size) do1140 │ ~1141 │1142 └─ lib/mix/ecto.ex:102:15: Mix.Ecto.ensure_started/211431144 warning: Logger.remove_backend/1 is deprecated. Use LoggerBackends.remove/2 from :logger_backends dependency1145 │1146 146 │ Logger.remove_backend(:console)1147 │ ~1148 │1149 └─ lib/mix/ecto.ex:146:12: Mix.Ecto.restart_apps_if_migrated/211501151 warning: Logger.add_backend/2 is deprecated. Use LoggerBackends.add/2 from :logger_backends dependency1152 │1153 155 │ Logger.add_backend(:console, flush: true)1154 │ ~1155 │1156 └─ lib/mix/ecto.ex:155:12: Mix.Ecto.restart_apps_if_migrated/211571158 warning: the following clause will never match:11591160 {:error, _} = error ->11611162 because it attempts to match on the result of:11631164 apply(changeset, adapter, :insert, args)11651166 which has type:11671168 dynamic({:invalid or :ok, term()})11691170 type warning found at:1171 │1172 219 │ {:error, _} = error ->1173 │ ~1174 │1175 └─ lib/ecto/repo/schema.ex:219:23: Ecto.Repo.Schema.do_insert/411761177 warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead1178 │1179 29 │ surround_many("#Ecto.Query<", list, ">", opts, fn str, _ -> str end)1180 │ ~1181 │1182 └─ lib/ecto/query/inspect.ex:29:5: Inspect.Ecto.Query.inspect/211831184 warning: the following clause will never match:11851186 {:error, _} = error ->11871188 because it attempts to match on the result of:11891190 apply(changeset, adapter, action, args)11911192 which has type:11931194 dynamic({:invalid or :ok, term()})11951196 type warning found at:1197 │1198 297 │ {:error, _} = error ->1199 │ ~1200 │1201 └─ lib/ecto/repo/schema.ex:297:25: Ecto.Repo.Schema.do_update/412021203 warning: Macro.to_string/2 is deprecated. Use Macro.to_string/1 instead1204 │1205 144 │ Macro.to_string(expr, &expr_to_string(&1, &2, names, part))1206 │ ~1207 │1208 └─ lib/ecto/query/inspect.ex:144:11: Inspect.Ecto.Query.expr/312091210 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1211 │1212 54 │ filter_and_reraise e, System.stacktrace1213 │ ~1214 │1215 └─ lib/ecto/repo/preloader.ex:54:36: Ecto.Repo.Preloader.normalize_and_preload_each/512161217 warning: Map.size/1 is deprecated. Use Kernel.map_size/1 instead1218 │1219 44 │ index = Map.size(params)1220 │ ~1221 │1222 └─ lib/ecto/query/builder.ex:44:18: Ecto.Query.Builder.escape/51223 └─ lib/ecto/query/builder.ex:53:17: Ecto.Query.Builder.escape/512241225 warning: Decimal.minus/1 is deprecated. Use Decimal.negate/1 instead1226 │1227 614 │ Decimal.minus(decimal)1228 │ ~1229 │1230 └─ lib/ecto/query/builder.ex:614:13: Ecto.Query.Builder.negate!/112311232 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)1233 │1234 228 │ raise BadStructError, struct: struct, term: data1235 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1236 │1237 └─ lib/ecto/repo/queryable.ex:228: Ecto.Repo.Queryable.process/512381239 warning: the following clause will never match:12401241 {:error, _} ->12421243 because it attempts to match on the result of:12441245 NaiveDateTime.new(date, time)12461247 which has type:12481249 dynamic({:ok, %NaiveDateTime{}})12501251 type warning found at:1252 │1253 803 │ {:error, _} -> :error1254 │ ~~~~~~~~~~~~~~~~~~~~~1255 │1256 └─ lib/ecto/type.ex:803: Ecto.Type.cast_naive_datetime/112571258 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1259 │1260 214 │ filter_and_reraise e, System.stacktrace1261 │ ~1262 │1263 └─ lib/ecto/query/planner.ex:214:36: Ecto.Query.Planner.prepare/41264 └─ lib/ecto/query/planner.ex:709:36: Ecto.Query.Planner.normalize/412651266 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1267 │1268 159 │ supervise(children, strategy: :one_for_one)1269 │ ~1270 │1271 └─ lib/ecto/repo/supervisor.ex:159:9: Ecto.Repo.Supervisor.init/112721273 warning: expected a map or struct when accessing .__struct__ in expression:12741275 schema.__struct__12761277 where "schema" was given the types:12781279 # type: dynamic(atom() and not nil)1280 # from: lib/ecto/query/planner.ex:1186:411281 schema12821283 # type: atom()1284 # from: lib/ecto/query/planner.ex:1186:611285 is_atom(schema)12861287 hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()12881289 type warning found at:1290 │1291 1190 │ Map.has_key?(schema.__struct__, field) ->1292 │ ~1293 │1294 └─ lib/ecto/query/planner.ex:1190:27: Ecto.Query.Planner.type!/612951296 warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead1297 │1298 15 │ surround_many("dynamic(", [Macro.to_string(binding), inspected], ")", opts, fn str, _ -> str end)1299 │ ~1300 │1301 └─ lib/ecto/query/inspect.ex:15:5: Inspect.Ecto.Query.DynamicExpr.inspect/213021303 warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead1304 │1305 12 │ worker(Ecto.Migration.Runner, [], restart: :temporary)1306 │ ~1307 │1308 └─ lib/ecto/migration/supervisor.ex:12:7: Ecto.Migration.Supervisor.init/113091310 warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1311 │1312 15 │ supervise(children, strategy: :simple_one_for_one)1313 │ ~1314 │1315 └─ lib/ecto/migration/supervisor.ex:15:5: Ecto.Migration.Supervisor.init/113161317 warning: incompatible types given to Ecto.Migration.SchemaMigration.migrated_versions/2:13181319 Ecto.Migration.SchemaMigration.migrated_versions(repo, opts[:prefix])13201321 given types:13221323 (1324 -dynamic(%{..., __adapter__: term(), config: empty_list() or non_empty_list(term(), term())})-,1325 dynamic()1326 )13271328 but expected one of:13291330 atom(), term()13311332 where "opts" was given the type:13331334 # type: dynamic(1335 %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or1336 non_struct_map()1337 )1338 # from: lib/ecto/migrator.ex:44:651339 opts[:prefix]13401341 where "repo" was given the type:13421343 # type: dynamic(%{..., __adapter__: term(), config: empty_list() or non_empty_list(term(), term())})1344 # from: lib/ecto/migrator.ex:44:231345 Ecto.Migration.SchemaMigration.ensure_schema_migrations_table!(repo, opts[:prefix])13461347 type warning found at:1348 │1349 45 │ SchemaMigration.migrated_versions(repo, opts[:prefix])1350 │ ~1351 │1352 └─ lib/ecto/migrator.ex:45:23: Ecto.Migrator.migrated_versions/213531354 warning: expected a module (an atom) when invoking transaction/2 in expression:13551356 repo.transaction(fun, log: false, timeout: :infinity)13571358 where "fun" was given the type:13591360 # type: dynamic()1361 # from: lib/ecto/migrator.ex:114:471362 fun13631364 where "repo" was given the types:13651366 # type: dynamic(%{..., __adapter__: %{..., supports_ddl_transaction?: term()}})1367 # from: lib/ecto/migrator.ex:118:241368 repo.__adapter__.supports_ddl_transaction?13691370 # type: dynamic(%{..., __adapter__: %{..., supports_ddl_transaction?: not false and not nil}})1371 # from: lib/ecto/migrator.ex:118:241372 repo.__adapter__.supports_ddl_transaction?13731374 type warning found at:1375 │1376 119 │ repo.transaction(fun, [log: false, timeout: :infinity])1377 │ ~1378 │1379 └─ lib/ecto/migrator.ex:119:14: Ecto.Migrator.run_maybe_in_transaction/313801381 warning: Code.load_file/1 is deprecated. Use Code.require_file/2 or Code.compile_file/2 instead1382 │1383 291 │ modules = Code.load_file(file)1384 │ ~1385 │1386 └─ lib/ecto/migrator.ex:291:20: Ecto.Migrator.extract_module/213871388 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1389 │1390 321 │ reraise error, System.stacktrace1391 │ ~1392 │1393 └─ lib/ecto/migrator.ex:321:31: Ecto.Migrator.verbose_schema_migration/313941395 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1396 │1397 10 │ worker(Ecto.Registry, []),1398 │ ~1399 │1400 └─ lib/ecto/application.ex:10:7: Ecto.Application.start/214011402 warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1403 │1404 260 │ reraise %{err | message: message}, System.stacktrace1405 │ ~1406 │1407 └─ lib/ecto/adapters/sql.ex:260:51: Ecto.Adapters.SQL.sql_call/614081409 warning: Supervisor.Spec.supervisor/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1410 │1411 11 │ supervisor(Ecto.Migration.Supervisor, [])1412 │ ~1413 │1414 └─ lib/ecto/application.ex:11:7: Ecto.Application.start/214151416Generated ecto app1417==> tds1418Compiling NIF crate :tds_encoding (native/tds_encoding)...1419could 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"1420** (ErlangError) Erlang error: :enoent1421 (elixir 1.20.3) lib/system.ex:1141: System.cmd("cargo", ["rustc", "--release"], [cd: "/work/proj/deps_mangopi_mq_pro/tds/native/tds_encoding", stderr_to_stdout: true, env: [{"CARGO_TARGET_DIR", "/work/proj/_build/mangopi_mq_pro/rustler_crates/tds_encoding"}], into: %IO.Stream{device: :standard_io, raw: false, line_or_bytes: :line}])1422 (rustler 0.20.0) lib/mix/tasks/compile.rustler.ex:58: Mix.Tasks.Compile.Rustler.compile_crate/11423 (elixir 1.20.3) lib/enum.ex:1725: Enum."-map/2-lists^map/1-1-"/21424 (rustler 0.20.0) lib/mix/tasks/compile.rustler.ex:14: Mix.Tasks.Compile.Rustler.run/11425 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51426 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21427 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41428 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2