tds_ecto

Build log

nerves_system_rpi0

tds_ecto 2.3.0 · fail · run tds_ecto-2.3.0-1791129015595
1428 of 1428 lines
1Resolving Hex dependencies...2Resolution completed in 0.367s3Unchanged:4  circular_buffer 1.1.05  connection 1.0.46  db_connection 1.1.37  decimal 1.9.0 VULNERABLE!8    EEF-CVE-2026-32686 (MEDIUM)9    aka: CVE-2026-32686, GHSA-rhv4-8758-jx7v10    Unbounded exponent in decimal enables unauthenticated DoS11    https://osv.dev/vulnerability/EEF-CVE-2026-3268612  ecto 2.2.1213  elixir_make 0.10.014  interactive_cmd 0.1.415  nerves 2.0.0-pre.216  nerves_discovery 0.1.517  nerves_logging 0.2.418  nerves_runtime 0.13.1319  nerves_system_bbb 2.30.220  nerves_system_br 1.34.421  nerves_system_mangopi_mq_pro 0.17.222  nerves_system_qemu_aarch64 0.4.223  nerves_system_rpi0 2.1.224  nerves_system_rpi4 2.1.225  nerves_system_rpi5 2.1.226  nerves_system_trellis 0.5.027  nerves_system_x86_64 1.34.228  nerves_toolchain_aarch64_nerves_linux_gnu 15.3.129  nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.130  nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.131  nerves_toolchain_riscv64_nerves_linux_gnu 15.3.132  nerves_toolchain_x86_64_nerves_linux_musl 15.3.133  nerves_uevent 0.1.734  poolboy 1.5.235  property_table 0.3.436  ring_logger 0.11.737  rustler 0.20.038  tablet 0.3.339  tds 1.2.440  tds_ecto 2.3.041  toolshed 0.5.042  uboot_env 1.0.243* Getting tds_ecto (Hex package)44* Getting nerves (Hex package)45* Getting ring_logger (Hex package)46* Getting toolshed (Hex package)47* Getting nerves_runtime (Hex package)48* Getting nerves_system_bbb (Hex package)49* Getting nerves_system_mangopi_mq_pro (Hex package)50* Getting nerves_system_qemu_aarch64 (Hex package)51* Getting nerves_system_rpi0 (Hex package)52* Getting nerves_system_rpi4 (Hex package)53* Getting nerves_system_rpi5 (Hex package)54* Getting nerves_system_trellis (Hex package)55* Getting nerves_system_x86_64 (Hex package)56* Getting nerves_system_br (Hex package)57* Getting nerves_toolchain_x86_64_nerves_linux_musl (Hex package)58* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)59* Getting nerves_toolchain_aarch64_nerves_linux_gnu (Hex package)60* Getting nerves_toolchain_armv6_nerves_linux_gnueabihf (Hex package)61* Getting nerves_toolchain_riscv64_nerves_linux_gnu (Hex package)62* Getting nerves_logging (Hex package)63* Getting nerves_uevent (Hex package)64* Getting uboot_env (Hex package)65* Getting elixir_make (Hex package)66* Getting property_table (Hex package)67* Getting circular_buffer (Hex package)68* Getting interactive_cmd (Hex package)69* Getting nerves_discovery (Hex package)70* Getting tablet (Hex package)71* Getting ecto (Hex package)72* Getting tds (Hex package)73* Getting db_connection (Hex package)74* Getting decimal (Hex package)75* Getting rustler (Hex package)76* Getting connection (Hex package)77* Getting poolboy (Hex package)78Found packages with security advisories, see above for details79==> nerves_system_br80Generated nerves_system_br app81==> connection82Compiling 1 file (.ex)83     warning: using single-quoted strings to represent charlists is deprecated.84     Use ~c"" if you indeed want a charlist or use "" instead.85     You may run "mix format --migrate" to change all single-quoted86     strings to use the ~c sigil and fix this warning.87     │88 553 │         [{:data, [{'State', mod_state}]}]89     │                    ~90     │91     └─ lib/connection.ex:553:209293     warning: using single-quoted strings to represent charlists is deprecated.94     Use ~c"" if you indeed want a charlist or use "" instead.95     You may run "mix format --migrate" to change all single-quoted96     strings to use the ~c sigil and fix this warning.97     │98 680 │     format = '** Generic server ~p terminating \n' ++99     │              ~100     │101     └─ lib/connection.ex:680:14102103     warning: using single-quoted strings to represent charlists is deprecated.104     Use ~c"" if you indeed want a charlist or use "" instead.105     You may run "mix format --migrate" to change all single-quoted106     strings to use the ~c sigil and fix this warning.107     │108 681 │       '** Last message in was ~p~n' ++ ## No last message109     │       ~110     │111     └─ lib/connection.ex:681:7112113     warning: using single-quoted strings to represent charlists is deprecated.114     Use ~c"" if you indeed want a charlist or use "" instead.115     You may run "mix format --migrate" to change all single-quoted116     strings to use the ~c sigil and fix this warning.117     │118 682 │       '** When Server state == ~p~n' ++119     │       ~120     │121     └─ lib/connection.ex:682:7122123     warning: using single-quoted strings to represent charlists is deprecated.124     Use ~c"" if you indeed want a charlist or use "" instead.125     You may run "mix format --migrate" to change all single-quoted126     strings to use the ~c sigil and fix this warning.127     │128 683 │       '** Reason for termination == ~n** ~p~n'129     │       ~130     │131     └─ lib/connection.ex:683:7132133     warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead134     │135 429 │         init_stop(starter, name, {reason, System.stacktrace()})136     │                                                  ~137     │138     └─ lib/connection.ex:429:50: Connection.init_it/6139     └─ lib/connection.ex:431:45: Connection.init_it/6140     └─ lib/connection.ex:491:57: Connection.handle_call/3141     └─ lib/connection.ex:540:41: Connection.code_change/3142     └─ lib/connection.ex:581:57: Connection.terminate/2143     └─ lib/connection.ex:625:49: Connection.enter_connect/5144     └─ lib/connection.ex:628:34: Connection.enter_connect/5145     └─ lib/connection.ex:631:45: Connection.enter_connect/5146     └─ lib/connection.ex:657:49: Connection.enter_terminate/5147     └─ lib/connection.ex:660:34: Connection.enter_terminate/5148     └─ lib/connection.ex:663:45: Connection.enter_terminate/5149     └─ lib/connection.ex:744:24: Connection.connect/3150     └─ lib/connection.ex:770:24: Connection.disconnect/3151     └─ lib/connection.ex:813:57: Connection.handle_async/3152153Generated connection app154==> circular_buffer155Compiling 1 file (.ex)156Generated circular_buffer app157==> rustler158warning: in order to compile .yrl files, you must add "compilers: [:yecc] ++ Mix.compilers()" to the "def project" section of rustler's mix.exs159Compiling 1 file (.yrl)160warning: in order to compile .xrl files, you must add "compilers: [:leex] ++ Mix.compilers()" to the "def project" section of rustler's mix.exs161Compiling 1 file (.xrl)162Compiling 2 files (.erl)163Compiling 6 files (.ex)164    warning: using single-quoted strings to represent charlists is deprecated.165    Use ~c"" if you indeed want a charlist or use "" instead.166    You may run "mix format --migrate" to change all single-quoted167    strings to use the ~c sigil and fix this warning.168    │169 60 │     '2.7',170    │     ~171    │172    └─ lib/rustler.ex:60:5173174    warning: using single-quoted strings to represent charlists is deprecated.175    Use ~c"" if you indeed want a charlist or use "" instead.176    You may run "mix format --migrate" to change all single-quoted177    strings to use the ~c sigil and fix this warning.178    │179 61 │     '2.8',180    │     ~181    │182    └─ lib/rustler.ex:61:5183184    warning: using single-quoted strings to represent charlists is deprecated.185    Use ~c"" if you indeed want a charlist or use "" instead.186    You may run "mix format --migrate" to change all single-quoted187    strings to use the ~c sigil and fix this warning.188    │189 62 │     '2.9',190    │     ~191    │192    └─ lib/rustler.ex:62:5193194    warning: using single-quoted strings to represent charlists is deprecated.195    Use ~c"" if you indeed want a charlist or use "" instead.196    You may run "mix format --migrate" to change all single-quoted197    strings to use the ~c sigil and fix this warning.198    │199 63 │     '2.10',200    │     ~201    │202    └─ lib/rustler.ex:63:5203204    warning: using single-quoted strings to represent charlists is deprecated.205    Use ~c"" if you indeed want a charlist or use "" instead.206    You may run "mix format --migrate" to change all single-quoted207    strings to use the ~c sigil and fix this warning.208    │209 64 │     '2.11',210    │     ~211    │212    └─ lib/rustler.ex:64:5213214    warning: using single-quoted strings to represent charlists is deprecated.215    Use ~c"" if you indeed want a charlist or use "" instead.216    You may run "mix format --migrate" to change all single-quoted217    strings to use the ~c sigil and fix this warning.218    │219 65 │     '2.12',220    │     ~221    │222    └─ lib/rustler.ex:65:5223224    warning: using single-quoted strings to represent charlists is deprecated.225    Use ~c"" if you indeed want a charlist or use "" instead.226    You may run "mix format --migrate" to change all single-quoted227    strings to use the ~c sigil and fix this warning.228    │229 66 │     '2.13',230    │     ~231    │232    └─ lib/rustler.ex:66:5233234    warning: using single-quoted strings to represent charlists is deprecated.235    Use ~c"" if you indeed want a charlist or use "" instead.236    You may run "mix format --migrate" to change all single-quoted237    strings to use the ~c sigil and fix this warning.238    │239 67 │     '2.14',240    │     ~241    │242    └─ lib/rustler.ex:67:5243244Generated rustler app245==> tablet246Compiling 2 files (.ex)247Generated tablet app248==> elixir_make249Compiling 8 files (.ex)250Generated elixir_make app251==> nerves_logging252 CC kmsg_tailer.o253 LD kmsg_tailer254Compiling 5 files (.ex)255Generated nerves_logging app256==> nerves_discovery257Compiling 5 files (.ex)258Generated nerves_discovery app259==> ring_logger260Compiling 7 files (.ex)261Generated ring_logger app262==> nerves_compatibility_test263===> Analyzing applications...264===> Compiling poolboy265warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"266  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2267  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1268  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5269  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2270  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4271  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2272273==> db_connection274Compiling 23 files (.ex)275warning: cannot infer signatures from :poolboy because it is not loaded276277    warning: unused require Bitwise278    │279 31 │     require Bitwise280    │     ~281    │282    └─ lib/db_connection/backoff.ex:31:5283284     warning: using single-quoted strings to represent charlists is deprecated.285     Use ~c"" if you indeed want a charlist or use "" instead.286     You may run "mix format --migrate" to change all single-quoted287     strings to use the ~c sigil and fix this warning.288     │289 406 │       :normal    -> [{:data, [{'Module', mod}]}]290     │                                ~291     │292     └─ lib/db_connection/connection.ex:406:32293294     warning: using single-quoted strings to represent charlists is deprecated.295     Use ~c"" if you indeed want a charlist or use "" instead.296     You may run "mix format --migrate" to change all single-quoted297     strings to use the ~c sigil and fix this warning.298     │299 661 │     [{:data, [{'Module', mod}, {'State', state}]}]300     │                ~301     │302     └─ lib/db_connection/connection.ex:661:16303304     warning: using single-quoted strings to represent charlists is deprecated.305     Use ~c"" if you indeed want a charlist or use "" instead.306     You may run "mix format --migrate" to change all single-quoted307     strings to use the ~c sigil and fix this warning.308     │309 661 │     [{:data, [{'Module', mod}, {'State', state}]}]310     │                                 ~311     │312     └─ lib/db_connection/connection.ex:661:33313314    warning: Supervisor.Spec.supervisor/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead315    │316  8 │     children  = [supervisor(child_mod, [], [restart: :temporary])]317    │                  ~318    │319    └─ lib/db_connection/sojourn/supervisor.ex:8:18: DBConnection.Sojourn.Supervisor.start_link/0320321    warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead322    │323 30 │     worker(DBConnection.Watcher, [owner])324    │     ~325    │326    └─ lib/db_connection/sojourn/pool.ex:30:5: DBConnection.Sojourn.Pool.watcher/1327328    warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead329    │330 37 │     worker(:sregulator, [regulator, opts, start_opts], child_opts)331    │     ~332    │333    └─ lib/db_connection/sojourn/pool.ex:37:5: DBConnection.Sojourn.Pool.regulator/1334    └─ lib/db_connection/sojourn/pool.ex:49:5: DBConnection.Sojourn.Pool.starter/2335336    warning: Supervisor.Spec.supervisor/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead337    │338 45 │     supervisor(Supervisor, [[conn], sup_opts], [id: :conn_sup])339    │     ~340    │341    └─ lib/db_connection/sojourn/pool.ex:45:5: DBConnection.Sojourn.Pool.conn_sup/2342343    warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead344    │345 96 │     Supervisor.Spec.worker(__MODULE__, [mod, opts, mode], child_opts)346    │                     ~347    │348    └─ lib/db_connection/connection.ex:96:21: DBConnection.Connection.child_spec/4349350    warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead351    │352 55 │     worker(:sbroker, broker_args(mod, opts), child_opts ++ [modules: :dynamic])353    │     ~354    │355    └─ lib/db_connection/sojourn.ex:55:5: DBConnection.Sojourn.child_spec/3356357     warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead358     │359 138 │         case System.stacktrace() do360     │                     ~361     │362     └─ lib/db_connection/connection.ex:138:21: DBConnection.Connection.connect/2363364     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: incompatible types given to Mix.Ecto.ensure_started/2:695696        Mix.Ecto.ensure_started(repo, opts)697698    given types:699700        -dynamic(atom())-, dynamic(empty_list() or non_empty_list(term(), term()))701702    but expected one of:703704        %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())705706    where "opts" was given the type:707708        # type: dynamic(709          %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or710            non_struct_map()711        )712        # from: lib/mix/tasks/ecto.rollback.ex:64:10713        opts =714          if opts[:quiet] do715            Keyword.merge(opts, log: false, log_sql: false)716          else717            opts718          end719720    where "repo" was given the type:721722        # type: dynamic(atom())723        # from: lib/mix/tasks/ecto.rollback.ex:70:7724        Mix.Ecto.ensure_repo(repo, args)725726    type warning found at:727    │728 72 │       {:ok, pid, apps} = ensure_started(repo, opts)729    │                          ~730    │731    └─ lib/mix/tasks/ecto.rollback.ex:72:26: Mix.Tasks.Ecto.Rollback.run/2732733    warning: incompatible types given to Mix.Ecto.ensure_started/2:734735        Mix.Ecto.ensure_started(repo, all: true)736737    given types:738739        -dynamic(atom())-, non_empty_list({:all, true})740741    but expected one of:742743        %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())744745    where "repo" was given the type:746747        # type: dynamic(atom())748        # from: lib/mix/tasks/ecto.migrations.ex:37:7749        Mix.Ecto.ensure_repo(repo, args)750751    type warning found at:752    │753 39 │       {:ok, pid, _} = ensure_started(repo, all: true)754    │                       ~755    │756    └─ lib/mix/tasks/ecto.migrations.ex:39:23: Mix.Tasks.Ecto.Migrations.run/3757758     warning: the following clause will never match:759760         [{^module, :changeset, args_or_arity, _}] when args_or_arity == 2 when length(args_or_arity) == 2 ->761762     because it attempts to match on the result of:763764         System.stacktrace()765766     which has type:767768         empty_list()769770     where "args_or_arity" was given the type:771772         # type: float() or integer() or non_empty_list(term())773         # from: lib/ecto/changeset.ex774         (_() when args_or_arity == 2) when length(args_or_arity) == 2775776     where "module" was given the type:777778         # type: dynamic()779         # from: lib/ecto/changeset.ex:733:30780         module781782     type warning found at:783     │784 741 │ ...                   when length(args_or_arity) == 2 ->785     │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~786     │787     └─ lib/ecto/changeset.ex:741: Ecto.Changeset.on_cast_default/2788789    warning: incompatible types given to Mix.Ecto.ensure_started/2:790791        Mix.Ecto.ensure_started(repo, opts)792793    given types:794795        -dynamic(atom())-, dynamic(empty_list() or non_empty_list(term(), term()))796797    but expected one of:798799        %{..., __adapter__: atom()}, empty_list() or non_empty_list(term(), term())800801    where "opts" was given the type:802803        # type: dynamic(804          %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or805            non_struct_map()806        )807        # from: lib/mix/tasks/ecto.migrate.ex:68:10808        opts =809          if opts[:quiet] do810            Keyword.merge(opts, log: false, log_sql: false)811          else812            opts813          end814815    where "repo" was given the type:816817        # type: dynamic(atom())818        # from: lib/mix/tasks/ecto.migrate.ex:74:7819        Mix.Ecto.ensure_repo(repo, args)820821    type warning found at:822    │823 76 │       {:ok, pid, apps} = ensure_started(repo, opts)824    │                          ~825    │826    └─ lib/mix/tasks/ecto.migrate.ex:76:26: Mix.Tasks.Ecto.Migrate.run/2827828     warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead829     │830 739 │           case System.stacktrace do831     │                       ~832     │833     └─ lib/ecto/changeset.ex:739:23: Ecto.Changeset.on_cast_default/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: Mix.Project.compile/1 is deprecated. Use Mix.Task.run("compile", args) instead941    │942 62 │       Mix.Project.compile(args)943    │                   ~944    │945    └─ lib/mix/ecto.ex:62:19: Mix.Ecto.ensure_repo/2946947     warning: expected a module (an atom) when invoking start_link/1 in expression:948949         repo.start_link(pool_size: pool_size)950951     where "pool_size" was given the type:952953         # type: dynamic()954         # from: lib/mix/ecto.ex:101:15955         pool_size = Keyword.get(opts, :pool_size, 1)956957     where "repo" was given the type:958959         # type: dynamic(%{..., __adapter__: atom()})960         # from: lib/mix/ecto.ex:99:36961         repo.__adapter__.ensure_all_started(repo, :temporary)962963     type warning found at:964     │965 102 │     case repo.start_link(pool_size: pool_size) do966     │               ~967     │968     └─ lib/mix/ecto.ex:102:15: Mix.Ecto.ensure_started/2969970     warning: Logger.remove_backend/1 is deprecated. Use LoggerBackends.remove/2 from :logger_backends dependency971     │972 146 │     Logger.remove_backend(:console)973     │            ~974     │975     └─ lib/mix/ecto.ex:146:12: Mix.Ecto.restart_apps_if_migrated/2976977     warning: Logger.add_backend/2 is deprecated. Use LoggerBackends.add/2 from :logger_backends dependency978     │979 155 │     Logger.add_backend(:console, flush: true)980     │            ~981     │982     └─ lib/mix/ecto.ex:155:12: Mix.Ecto.restart_apps_if_migrated/2983984     warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)985     │986 856 │       not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->987     │                                                                              ~988     │989     └─ lib/ecto/association.ex:856:78: Ecto.Association.ManyToMany.after_compile_validation/2990     └─ lib/ecto/association.ex:860:45: Ecto.Association.ManyToMany.after_compile_validation/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:24:131008        repo.all(1009          Map.put(1010            (1011              query =1012                (1013                  query = {get_source(repo), Ecto.Migration.SchemaMigration}1014                  Ecto.Query.Builder.From.apply(query, 1)1015                )1016        1017              Ecto.Query.Builder.Select.apply(query, %Ecto.Query.SelectExpr{1018                ...,1019                expr: {{:., [], [{:&, [], [0]}, :version]}, [], []},1020                file: "/work/proj/deps_rpi0/ecto/lib/ecto/migration/schema_migration.ex",1021                line: 22,1022                take: %{}1023              })1024            ),1025            :prefix,1026            prefix1027          ), timeout: :infinity, log: false)10281029    type warning found at:1030    │1031 22 │     from(p in {get_source(repo), __MODULE__}, select: p.version)1032    │                ~1033    │1034    └─ lib/ecto/migration/schema_migration.ex:22:16: Ecto.Migration.SchemaMigration.migrated_versions/210351036    warning: incompatible types given to get_source/1:10371038        get_source(repo)10391040    given types:10411042        -dynamic(atom())-10431044    but expected one of:10451046        %{..., config: empty_list() or non_empty_list(term(), term())}10471048    where "repo" was given the type:10491050        # type: dynamic(atom())1051        # from: lib/ecto/migration/schema_migration.ex:30:131052        repo.insert!(1053          Ecto.put_meta(%Ecto.Migration.SchemaMigration{..., version: version},1054            prefix: prefix,1055            source: get_source(repo)1056          ), timeout: :infinity, log: false)10571058    type warning found at:1059    │1060 29 │     |> Ecto.put_meta(prefix: prefix, source: get_source(repo))1061    │                                              ~1062    │1063    └─ lib/ecto/migration/schema_migration.ex:29:46: Ecto.Migration.SchemaMigration.up/310641065    warning: incompatible types given to get_source/1:10661067        get_source(repo)10681069    given types:10701071        -dynamic(atom())-10721073    but expected one of:10741075        %{..., config: empty_list() or non_empty_list(term(), term())}10761077    where "repo" was given the type:10781079        # type: dynamic(atom())1080        # from: lib/ecto/migration/schema_migration.ex:36:131081        repo.delete_all(1082          Map.put(1083            (1084              query =1085                (1086                  query = {get_source(repo), Ecto.Migration.SchemaMigration}1087                  Ecto.Query.Builder.From.apply(query, 1)1088                )1089        1090              Ecto.Query.Builder.Filter.apply(query, :where, %Ecto.Query.BooleanExpr{1091                expr: {:==, [], [{{:., [], [{:&, [], [0]}, :version]}, [], []}, {:^, [], [0]}]},1092                op: :and,1093                params: [{Ecto.Query.Builder.not_nil!(version), {0, :version}}],1094                file: "/work/proj/deps_rpi0/ecto/lib/ecto/migration/schema_migration.ex",1095                line: 341096              })1097            ),1098            :prefix,1099            prefix1100          ), timeout: :infinity, log: false)11011102    type warning found at:1103    │1104 34 │     from(p in {get_source(repo), __MODULE__}, where: p.version == ^version)1105    │                ~1106    │1107    └─ lib/ecto/migration/schema_migration.ex:34:16: Ecto.Migration.SchemaMigration.down/311081109     warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1110     │1111 715 │       not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->1112     │                                                                              ~1113     │1114     └─ lib/ecto/association.ex:715:78: Ecto.Association.BelongsTo.after_compile_validation/211151116     warning: the following conditional expression:11171118         is_atom(related)11191120     will always evaluate to:11211122         dynamic(true)11231124     where "related" was given the type:11251126         # type: dynamic(atom())1127         # from: lib/ecto/association.ex:730:151128         related = Ecto.Association.related_from_query(queryable)11291130     type warning found at:1131     │1132 732 │     unless is_atom(related) do1133     │     ~~~~~~~~~~~~~~~~~~~~~~~~~~1134     │1135     └─ lib/ecto/association.ex:732: Ecto.Association.BelongsTo.struct/311361137      warning: this clause of defp type_to_module/1 is never used (or it will always fail/warn when invoked)1138      │1139 1422 │   defp type_to_module(:naive_datetime), do: NaiveDateTime1140      │        ~1141      │1142      └─ lib/ecto/schema.ex:1422:8: Ecto.Schema.type_to_module/111431144     warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1145     │1146 430 │       not is_atom(queryable) or queryable in env.context_modules or not Code.ensure_compiled?(queryable) ->1147     │                                                                              ~1148     │1149     └─ lib/ecto/association.ex:430:78: Ecto.Association.Has.after_compile_validation/211501151      warning: Code.ensure_compiled?/1 is deprecated. Use Code.ensure_compiled/1 instead (see the proper disclaimers in its docs)1152      │1153 1885 │         if Code.ensure_compiled?(type) and function_exported?(type, :type, 0) do1154      │                 ~1155      │1156      └─ lib/ecto/schema.ex:1885:17: Ecto.Schema.check_type!/311571158     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: the following clause will never match:11781179         {:error, _} = error ->11801181     because it attempts to match on the result of:11821183         apply(changeset, adapter, action, args)11841185     which has type:11861187         dynamic({:invalid or :ok, term()})11881189     type warning found at:1190     │1191 297 │             {:error, _} = error ->1192     │                         ~1193     │1194     └─ lib/ecto/repo/schema.ex:297:25: Ecto.Repo.Schema.do_update/411951196    warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead1197    │1198 29 │     surround_many("#Ecto.Query<", list, ">", opts, fn str, _ -> str end)1199    │     ~1200    │1201    └─ lib/ecto/query/inspect.ex:29:5: Inspect.Ecto.Query.inspect/212021203    warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1204    │1205 54 │       filter_and_reraise e, System.stacktrace1206    │                                    ~1207    │1208    └─ lib/ecto/repo/preloader.ex:54:36: Ecto.Repo.Preloader.normalize_and_preload_each/512091210     warning: Macro.to_string/2 is deprecated. Use Macro.to_string/1 instead1211     │1212 144 │     Macro.to_string(expr, &expr_to_string(&1, &2, names, part))1213     │           ~1214     │1215     └─ lib/ecto/query/inspect.ex:144:11: Inspect.Ecto.Query.expr/312161217    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: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead1240     │1241 214 │       filter_and_reraise e, System.stacktrace1242     │                                    ~1243     │1244     └─ lib/ecto/query/planner.ex:214:36: Ecto.Query.Planner.prepare/41245     └─ lib/ecto/query/planner.ex:709:36: Ecto.Query.Planner.normalize/412461247     warning: the following clause will never match:12481249         {:error, _} ->12501251     because it attempts to match on the result of:12521253         NaiveDateTime.new(date, time)12541255     which has type:12561257         dynamic({:ok, %NaiveDateTime{}})12581259     type warning found at:1260     │1261 803 │         {:error, _} -> :error1262     │         ~~~~~~~~~~~~~~~~~~~~~1263     │1264     └─ lib/ecto/type.ex:803: Ecto.Type.cast_naive_datetime/112651266      warning: expected a map or struct when accessing .__struct__ in expression:12671268          schema.__struct__12691270      where "schema" was given the types:12711272          # type: dynamic(atom() and not nil)1273          # from: lib/ecto/query/planner.ex:1186:411274          schema12751276          # type: atom()1277          # from: lib/ecto/query/planner.ex:1186:611278          is_atom(schema)12791280      hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()12811282      type warning found at:1283      │1284 1190 │       Map.has_key?(schema.__struct__, field) ->1285      │                           ~1286      │1287      └─ lib/ecto/query/planner.ex:1190:27: Ecto.Query.Planner.type!/612881289    warning: Inspect.Algebra.surround_many/5 is deprecated. Use Inspect.Algebra.container_doc/6 instead1290    │1291 15 │     surround_many("dynamic(", [Macro.to_string(binding), inspected], ")", opts, fn str, _ -> str end)1292    │     ~1293    │1294    └─ lib/ecto/query/inspect.ex:15:5: Inspect.Ecto.Query.DynamicExpr.inspect/212951296     warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1297     │1298 159 │         supervise(children, strategy: :one_for_one)1299     │         ~1300     │1301     └─ lib/ecto/repo/supervisor.ex:159:9: Ecto.Repo.Supervisor.init/113021303    warning: incompatible types given to Ecto.Migration.SchemaMigration.migrated_versions/2:13041305        Ecto.Migration.SchemaMigration.migrated_versions(repo, opts[:prefix])13061307    given types:13081309        (1310          -dynamic(%{..., __adapter__: term(), config: empty_list() or non_empty_list(term(), term())})-,1311          dynamic()1312        )13131314    but expected one of:13151316        atom(), term()13171318    where "opts" was given the type:13191320        # type: dynamic(1321          %{..., __struct__: atom()} or nil or empty_list() or non_empty_list(term(), term()) or1322            non_struct_map()1323        )1324        # from: lib/ecto/migrator.ex:44:651325        opts[:prefix]13261327    where "repo" was given the type:13281329        # type: dynamic(%{..., __adapter__: term(), config: empty_list() or non_empty_list(term(), term())})1330        # from: lib/ecto/migrator.ex:44:231331        Ecto.Migration.SchemaMigration.ensure_schema_migrations_table!(repo, opts[:prefix])13321333    type warning found at:1334    │1335 45 │       SchemaMigration.migrated_versions(repo, opts[:prefix])1336    │                       ~1337    │1338    └─ lib/ecto/migrator.ex:45:23: Ecto.Migrator.migrated_versions/213391340    warning: Supervisor.Spec.worker/3 is deprecated. Use the new child specifications outlined in the Supervisor module instead1341    │1342 12 │       worker(Ecto.Migration.Runner, [], restart: :temporary)1343    │       ~1344    │1345    └─ lib/ecto/migration/supervisor.ex:12:7: Ecto.Migration.Supervisor.init/113461347     warning: expected a module (an atom) when invoking transaction/2 in expression:13481349         repo.transaction(fun, log: false, timeout: :infinity)13501351     where "fun" was given the type:13521353         # type: dynamic()1354         # from: lib/ecto/migrator.ex:114:471355         fun13561357     where "repo" was given the types:13581359         # type: dynamic(%{..., __adapter__: %{..., supports_ddl_transaction?: term()}})1360         # from: lib/ecto/migrator.ex:118:241361         repo.__adapter__.supports_ddl_transaction?13621363         # type: dynamic(%{..., __adapter__: %{..., supports_ddl_transaction?: not false and not nil}})1364         # from: lib/ecto/migrator.ex:118:241365         repo.__adapter__.supports_ddl_transaction?13661367     type warning found at:1368     │1369 119 │         repo.transaction(fun, [log: false, timeout: :infinity])1370     │              ~1371     │1372     └─ lib/ecto/migrator.ex:119:14: Ecto.Migrator.run_maybe_in_transaction/313731374    warning: Supervisor.Spec.supervise/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead1375    │1376 15 │     supervise(children, strategy: :simple_one_for_one)1377    │     ~1378    │1379    └─ lib/ecto/migration/supervisor.ex:15:5: Ecto.Migration.Supervisor.init/113801381     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_rpi0/tds/native/tds_encoding", stderr_to_stdout: true, env: [{"CARGO_TARGET_DIR", "/work/proj/_build/rpi0/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