Compiling using elixir 1.15.2 produces the following deprecation warnings:
Warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.
This error happens when you have function calls without parentheses inside keywords. For example:
function(arg, one: nested_call a, b, c)
function(arg, one: if expr, do: :this, else: :that)
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:
Ambiguity found at:
lib/pow/ecto/schema/password.ex:102
The above warning is also reported in the following locations:
lib/pow/extension/ecto/schema.ex:237
lib/pow/plug/message_verifier.ex:49
lib/pow/plug/message_verifier.ex:51
warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead
lib/pow/store/backend/mnesia_cache/unsplit.ex:168: Pow.Store.Backend.MnesiaCache.Unsplit.reset_node/2
warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead
lib/pow/store/backend/mnesia_cache/unsplit.ex:186: Pow.Store.Backend.MnesiaCache.Unsplit.autoheal/2
warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead
lib/pow/store/backend/mnesia_cache.ex:464: Pow.Store.Backend.MnesiaCache.init_invalidators/2
warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead
lib/pow/store/backend/mnesia_cache.ex:471: Pow.Store.Backend.MnesiaCache.init_invalidators/2
Compiling using elixir 1.15.2 produces the following deprecation warnings:
Warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.
This error happens when you have function calls without parentheses inside keywords. For example:
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:
Ambiguity found at: lib/pow/ecto/schema/password.ex:102
The above warning is also reported in the following locations: lib/pow/extension/ecto/schema.ex:237 lib/pow/plug/message_verifier.ex:49 lib/pow/plug/message_verifier.ex:51
warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead lib/pow/store/backend/mnesia_cache/unsplit.ex:168: Pow.Store.Backend.MnesiaCache.Unsplit.reset_node/2
warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead lib/pow/store/backend/mnesia_cache/unsplit.ex:186: Pow.Store.Backend.MnesiaCache.Unsplit.autoheal/2
warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead lib/pow/store/backend/mnesia_cache.ex:464: Pow.Store.Backend.MnesiaCache.init_invalidators/2
warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead lib/pow/store/backend/mnesia_cache.ex:471: Pow.Store.Backend.MnesiaCache.init_invalidators/2
warning: :functions option in eval is deprecated (elixir 1.15.2) src/elixir.erl:293: :elixir.env_for_eval/1 (elixir 1.15.2) lib/code.ex:998: Code.eval_quoted/3 (eex 1.15.2) lib/eex.ex:344: EEx.do_eval/3 lib/pow/phoenix/template.ex:115: Pow.Phoenix.Template."MACRO-template"/4 (elixir 1.15.2) src/elixir_dispatch.erl:224: :elixir_dispatch.expand_macro_fun/7 (elixir 1.15.2) src/elixir_dispatch.erl:187: :elixir_dispatch.do_expand_import/7