tds_ecto

Build log

nerves_system_rpi5

tds_ecto 2.3.0 · fail · run tds_ecto-2.3.0-1791129015595
1429 of 1429 lines
1Resolving Hex dependencies...2Resolution completed in 0.406s3Unchanged: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/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead322    │323 96 │     Supervisor.Spec.worker(__MODULE__, [mod, opts, mode], child_opts)324    │                     ~325    │326    └─ lib/db_connection/connection.ex:96:21: DBConnection.Connection.child_spec/4327328    warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead329    │330 30 │     worker(DBConnection.Watcher, [owner])331    │     ~332    │333    └─ lib/db_connection/sojourn/pool.ex:30:5: DBConnection.Sojourn.Pool.watcher/1334335     warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead336     │337 138 │         case System.stacktrace() do338     │                     ~339     │340     └─ lib/db_connection/connection.ex:138:21: DBConnection.Connection.connect/2341342    warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead343    │344 37 │     worker(:sregulator, [regulator, opts, start_opts], child_opts)345    │     ~346    │347    └─ lib/db_connection/sojourn/pool.ex:37:5: DBConnection.Sojourn.Pool.regulator/1348    └─ lib/db_connection/sojourn/pool.ex:49:5: DBConnection.Sojourn.Pool.starter/2349350     warning: the following clause will never match:351352         [{_, _, arity, _} | _rest] = stacktrace when is_integer(arity) ->353354     because it attempts to match on the result of:355356         System.stacktrace()357358     which has type:359360         empty_list()361362     where "arity" was given the type:363364         # type: integer()365         # from: lib/db_connection/connection.ex:139:56366         is_integer(arity)367368     type warning found at:369     │370 139 │           [{_, _, arity, _} | _rest] = stacktrace when is_integer(arity) -> stacktrace371     │                                      ~372     │373     └─ lib/db_connection/connection.ex:139:38: DBConnection.Connection.connect/2374375    warning: Supervisor.Spec.supervisor/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead376    │377 45 │     supervisor(Supervisor, [[conn], sup_opts], [id: :conn_sup])378    │     ~379    │380    └─ lib/db_connection/sojourn/pool.ex:45:5: DBConnection.Sojourn.Pool.conn_sup/2381382     warning: the following clause will never match:383384         [{a, b, params, c} | rest] when is_list(params) ->385386     because it attempts to match on the result of:387388         System.stacktrace()389390     which has type:391392         empty_list()393394     where "params" was given the type:395396         # type: empty_list() or non_empty_list(term(), term())397         # from: lib/db_connection/connection.ex:140:43398         is_list(params)399400     type warning found at:401     │402 140 │           [{a, b, params, c} | rest] when is_list(params) ->403     │           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~404     │405     └─ lib/db_connection/connection.ex:140: DBConnection.Connection.connect/2406407    warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead408    │409 55 │     worker(:sbroker, broker_args(mod, opts), child_opts ++ [modules: :dynamic])410    │     ~411    │412    └─ lib/db_connection/sojourn.ex:55:5: DBConnection.Sojourn.child_spec/3413414    warning: Supervisor.Spec.supervisor/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead415    │416  6 │     children  = [supervisor(DBConnection.Ownership.Proxy, [], [restart: :temporary])]417    │                  ~418    │419    └─ lib/db_connection/ownership/proxy_supervisor.ex:6:18: DBConnection.Ownership.ProxySupervisor.start_link/0420421     warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead422     │423 117 │     Supervisor.Spec.worker(Manager, [module, opts], child_opts)424     │                     ~425     │426     └─ lib/db_connection/ownership.ex:117:21: DBConnection.Ownership.child_spec/3427428     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:3679680Compiling lib/ecto.ex (it's taking more than 10s)681    warning: Module.eval_quoted/2 is deprecated. Use Code.eval_quoted/3 instead682    │683  9 │   schema "schema_migrations" do684    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~685    │686    └─ lib/ecto/migration/schema_migration.ex:9: Ecto.Migration.SchemaMigration (module)687688    warning: incompatible types given to Mix.Ecto.ensure_started/2:689690        Mix.Ecto.ensure_started(repo, all: true)691692    given types:693694        -dynamic(atom())-, non_empty_list({:all, true})695696    but expected one of:697698        %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())699700    where "repo" was given the type:701702        # type: dynamic(atom())703        # from: lib/mix/tasks/ecto.migrations.ex:37:7704        Mix.Ecto.ensure_repo(repo, args)705706    type warning found at:707    │708 39 │       {:ok, pid, _} = ensure_started(repo, all: true)709    │                       ~710    │711    └─ lib/mix/tasks/ecto.migrations.ex:39:23: Mix.Tasks.Ecto.Migrations.run/3712713    warning: incompatible types given to Mix.Ecto.ensure_started/2:714715        Mix.Ecto.ensure_started(repo, opts)716717    given types:718719        -dynamic(atom())-, dynamic(empty_list() or non_empty_list(term(), term()))720721    but expected one of:722723        %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())724725    where "opts" was given the type:726727        # type: dynamic(728          %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or729            non_struct_map()730        )731        # from: lib/mix/tasks/ecto.migrate.ex:68:10732        opts =733          if opts[:quiet] do734            Keyword.merge(opts, log: false, log_sql: false)735          else736            opts737          end738739    where "repo" was given the type:740741        # type: dynamic(atom())742        # from: lib/mix/tasks/ecto.migrate.ex:74:7743        Mix.Ecto.ensure_repo(repo, args)744745    type warning found at:746    │747 76 │       {:ok, pid, apps} = ensure_started(repo, opts)748    │                          ~749    │750    └─ lib/mix/tasks/ecto.migrate.ex:76:26: Mix.Tasks.Ecto.Migrate.run/2751752    warning: incompatible types given to Mix.Ecto.source_repo_priv/1:753754        Mix.Ecto.source_repo_priv(repo)755756    given types:757758        -dynamic(%{..., __adapter__: atom(), config: empty_list() or non_empty_list(term(), term())})-759760    but expected one of:761762        atom()763764    where "repo" was given the types:765766        # type: dynamic(%{..., config: empty_list() or non_empty_list(term(), term())})767        # from: lib/mix/tasks/ecto.load.ex:70:22768        Keyword.merge(repo.config, opts)769770        # type: dynamic(%{..., __adapter__: atom(), config: empty_list() or non_empty_list(term(), term())})771        # from: lib/mix/tasks/ecto.load.ex:72:27772        repo.__adapter__.structure_load(Mix.Ecto.source_repo_priv(repo), config)773774    type warning found at:775    │776 72 │     case repo.__adapter__.structure_load(source_repo_priv(repo), config) do777    │                                          ~778    │779    └─ lib/mix/tasks/ecto.load.ex:72:42: Mix.Tasks.Ecto.Load.load_structure/2780781    warning: expected a map or struct when accessing .__adapter__ in expression:782783        repo.__adapter__784785    where "repo" was given the type:786787        # type: dynamic(atom())788        # from: lib/mix/tasks/ecto.load.ex:53:7789        Mix.Ecto.ensure_repo(repo, args)790791    hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()792793    type warning found at:794    │795 54 │       ensure_implements(repo.__adapter__, Ecto.Adapter.Structure,796    │                              ~797    │798    └─ lib/mix/tasks/ecto.load.ex:54:30: Mix.Tasks.Ecto.Load.run/1799800    warning: incompatible types given to Mix.Ecto.ensure_started/2:801802        Mix.Ecto.ensure_started(repo, opts)803804    given types:805806        -dynamic(atom())-, dynamic(empty_list() or non_empty_list(term(), term()))807808    but expected one of:809810        %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())811812    where "opts" was given the type:813814        # type: dynamic(815          %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or816            non_struct_map()817        )818        # from: lib/mix/tasks/ecto.rollback.ex:64:10819        opts =820          if opts[:quiet] do821            Keyword.merge(opts, log: false, log_sql: false)822          else823            opts824          end825826    where "repo" was given the type:827828        # type: dynamic(atom())829        # from: lib/mix/tasks/ecto.rollback.ex:70:7830        Mix.Ecto.ensure_repo(repo, args)831832    type warning found at:833    │834 72 │       {:ok, pid, apps} = ensure_started(repo, opts)835    │                          ~836    │837    └─ lib/mix/tasks/ecto.rollback.ex:72:26: Mix.Tasks.Ecto.Rollback.run/2838839    warning: expected a map or struct when accessing .__adapter__ in expression:840841        repo.__adapter__842843    where "repo" was given the type:844845        # type: dynamic(atom())846        # from: lib/mix/tasks/ecto.dump.ex:50:7847        Mix.Ecto.ensure_repo(repo, args)848849    hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()850851    type warning found at:852    │853 51 │       ensure_implements(repo.__adapter__, Ecto.Adapter.Structure,854    │                              ~855    │856    └─ lib/mix/tasks/ecto.dump.ex:51:30: Mix.Tasks.Ecto.Dump.run/1857858    warning: expected a map or struct when accessing .__adapter__ in expression:859860        repo.__adapter__861862    where "repo" was given the type:863864        # type: dynamic(atom())865        # from: lib/mix/tasks/ecto.drop.ex:39:7866        Mix.Ecto.ensure_repo(repo, args)867868    hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()869870    type warning found at:871    │872 40 │       ensure_implements(repo.__adapter__, Ecto.Adapter.Storage,873    │                              ~874    │875    └─ lib/mix/tasks/ecto.drop.ex:40:30: Mix.Tasks.Ecto.Drop.run/1876877      warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead878      │879 2400 │     surround_many("#Ecto.Changeset<", list, ">", opts, fn880      │     ~881      │882      └─ lib/ecto/changeset.ex:2400:5: Inspect.Ecto.Changeset.inspect/2883884    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: Mix.Project.compile/1 is deprecated. Use Mix.Task.run("compile", args) instead904    │905 62 │       Mix.Project.compile(args)906    │                   ~907    │908    └─ lib/mix/ecto.ex:62:19: Mix.Ecto.ensure_repo/2909910     warning: expected a module (an atom) when invoking start_link/1 in expression:911912         repo.start_link(pool_size: pool_size)913914     where "pool_size" was given the type:915916         # type: dynamic()917         # from: lib/mix/ecto.ex:101:15918         pool_size = Keyword.get(opts, :pool_size, 1)919920     where "repo" was given the type:921922         # type: dynamic(%{..., __adapter__: atom()})923         # from: lib/mix/ecto.ex:99:36924         repo.__adapter__.ensure_all_started(repo, :temporary)925926     type warning found at:927     │928 102 │     case repo.start_link(pool_size: pool_size) do929     │               ~930     │931     └─ lib/mix/ecto.ex:102:15: Mix.Ecto.ensure_started/2932933     warning: Logger.remove_backend/1 is deprecated. Use LoggerBackends.remove/2 from :logger_backends dependency934     │935 146 │     Logger.remove_backend(:console)936     │            ~937     │938     └─ lib/mix/ecto.ex:146:12: Mix.Ecto.restart_apps_if_migrated/2939940     warning: Logger.add_backend/2 is deprecated. Use LoggerBackends.add/2 from :logger_backends dependency941     │942 155 │     Logger.add_backend(:console, flush: true)943     │            ~944     │945     └─ lib/mix/ecto.ex:155:12: Mix.Ecto.restart_apps_if_migrated/2946947     warning: the following clause will never match:948949         [{^module, :changeset, args_or_arity, _}] when args_or_arity == 2 when length(args_or_arity) == 2 ->950951     because it attempts to match on the result of:952953         System.stacktrace()954955     which has type:956957         empty_list()958959     where "args_or_arity" was given the type:960961         # type: float() or integer() or non_empty_list(term())962         # from: lib/ecto/changeset.ex963         (_() when args_or_arity == 2) when length(args_or_arity) == 2964965     where "module" was given the type:966967         # type: dynamic()968         # from: lib/ecto/changeset.ex:733:30969         module970971     type warning found at:972     │973 741 │ ...                   when length(args_or_arity) == 2 ->974     │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~975     │976     └─ lib/ecto/changeset.ex:741: Ecto.Changeset.on_cast_default/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_rpi5/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_rpi5/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: this clause of defp type_to_module/1 is never used (or it will always fail/warn when invoked)1139      │1140 1422 │   defp type_to_module(:naive_datetime), do: NaiveDateTime1141      │        ~1142      │1143      └─ lib/ecto/schema.ex:1422:8: Ecto.Schema.type_to_module/111441145     warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1146     │1147 430 │       not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->1148     │                                                                              ~1149     │1150     └─ lib/ecto/association.ex:430:78: Ecto.Association.Has.after_compile_validation/211511152      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: the following clause will never match:11791180         {:error, _} = error ->11811182     because it attempts to match on the result of:11831184         apply(changeset, adapter, action, args)11851186     which has type:11871188         dynamic({:invalid or :ok, term()})11891190     type warning found at:1191     │1192 297 │             {:error, _} = error ->1193     │                         ~1194     │1195     └─ lib/ecto/repo/schema.ex:297:25: Ecto.Repo.Schema.do_update/411961197    warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead1198    │1199 29 │     surround_many("#Ecto.Query<", list, ">", opts, fn str, _ -> str end)1200    │     ~1201    │1202    └─ lib/ecto/query/inspect.ex:29:5: Inspect.Ecto.Query.inspect/212031204     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: the following clause will never match:12411242         {:error, _} ->12431244     because it attempts to match on the result of:12451246         NaiveDateTime.new(date, time)12471248     which has type:12491250         dynamic({:ok, %NaiveDateTime{}})12511252     type warning found at:1253     │1254 803 │         {:error, _} -> :error1255     │         ~~~~~~~~~~~~~~~~~~~~~1256     │1257     └─ lib/ecto/type.ex:803: Ecto.Type.cast_naive_datetime/112581259     warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1260     │1261 214 │       filter_and_reraise e, System.stacktrace1262     │                                    ~1263     │1264     └─ lib/ecto/query/planner.ex:214:36: Ecto.Query.Planner.prepare/41265     └─ lib/ecto/query/planner.ex:709:36: Ecto.Query.Planner.normalize/412661267     warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1268     │1269 159 │         supervise(children, strategy: :one_for_one)1270     │         ~1271     │1272     └─ lib/ecto/repo/supervisor.ex:159:9: Ecto.Repo.Supervisor.init/112731274      warning: expected a map or struct when accessing .__struct__ in expression:12751276          schema.__struct__12771278      where "schema" was given the types:12791280          # type: dynamic(atom() and not nil)1281          # from: lib/ecto/query/planner.ex:1186:411282          schema12831284          # type: atom()1285          # from: lib/ecto/query/planner.ex:1186:611286          is_atom(schema)12871288      hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()12891290      type warning found at:1291      │1292 1190 │       Map.has_key?(schema.__struct__, field) ->1293      │                           ~1294      │1295      └─ lib/ecto/query/planner.ex:1190:27: Ecto.Query.Planner.type!/612961297    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: incompatible types given to Ecto.Migration.SchemaMigration.migrated_versions/2:13051306        Ecto.Migration.SchemaMigration.migrated_versions(repo, opts[:prefix])13071308    given types:13091310        (1311          -dynamic(%{..., __adapter__: term(), config: empty_list() or non_empty_list(term(), term())})-,1312          dynamic()1313        )13141315    but expected one of:13161317        atom(), term()13181319    where "opts" was given the type:13201321        # type: dynamic(1322          %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or1323            non_struct_map()1324        )1325        # from: lib/ecto/migrator.ex:44:651326        opts[:prefix]13271328    where "repo" was given the type:13291330        # type: dynamic(%{..., __adapter__: term(), config: empty_list() or non_empty_list(term(), term())})1331        # from: lib/ecto/migrator.ex:44:231332        Ecto.Migration.SchemaMigration.ensure_schema_migrations_table!(repo, opts[:prefix])13331334    type warning found at:1335    │1336 45 │       SchemaMigration.migrated_versions(repo, opts[:prefix])1337    │                       ~1338    │1339    └─ lib/ecto/migrator.ex:45:23: Ecto.Migrator.migrated_versions/213401341    warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead1342    │1343 12 │       worker(Ecto.Migration.Runner, [], restart: :temporary)1344    │       ~1345    │1346    └─ lib/ecto/migration/supervisor.ex:12:7: Ecto.Migration.Supervisor.init/113471348     warning: expected a module (an atom) when invoking transaction/2 in expression:13491350         repo.transaction(fun, log: false, timeout: :infinity)13511352     where "fun" was given the type:13531354         # type: dynamic()1355         # from: lib/ecto/migrator.ex:114:471356         fun13571358     where "repo" was given the types:13591360         # type: dynamic(%{..., __adapter__: %{..., supports_ddl_transaction?: term()}})1361         # from: lib/ecto/migrator.ex:118:241362         repo.__adapter__.supports_ddl_transaction?13631364         # type: dynamic(%{..., __adapter__: %{..., supports_ddl_transaction?: not false and not nil}})1365         # from: lib/ecto/migrator.ex:118:241366         repo.__adapter__.supports_ddl_transaction?13671368     type warning found at:1369     │1370 119 │         repo.transaction(fun, [log: false, timeout: :infinity])1371     │              ~1372     │1373     └─ lib/ecto/migrator.ex:119:14: Ecto.Migrator.run_maybe_in_transaction/313741375    warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1376    │1377 15 │     supervise(children, strategy: :simple_one_for_one)1378    │     ~1379    │1380    └─ lib/ecto/migration/supervisor.ex:15:5: Ecto.Migration.Supervisor.init/113811382     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: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1397     │1398 260 │         reraise %{err | message: message}, System.stacktrace1399     │                                                   ~1400     │1401     └─ lib/ecto/adapters/sql.ex:260:51: Ecto.Adapters.SQL.sql_call/614021403    warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1404    │1405 10 │       worker(Ecto.Registry, []),1406    │       ~1407    │1408    └─ lib/ecto/application.ex:10:7: Ecto.Application.start/214091410    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_rpi5/tds/native/tds_encoding", stderr_to_stdout: true, env: [{"CARGO_TARGET_DIR", "/work/proj/_build/rpi5/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