Hi, WDYT about adding a `strict: boolean` option to `Keyword.validate/2` that would make it return an error if a key that doesn't have a default value provided is absent? The returned value in case of an error could be `{:error, unknown_keys, missing_keys}`, for example:
{:error, [], [:b]} = Keyword.validate([a: :foo], [:a, :b], strict: true) {:error, [:c], [:b]} = Keyword.validate([a: :foo, c: :bar], [:a, :b], strict: true) {:error, [:c], []} = Keyword.validate([a: :foo, b: :foobar, c: :bar], [:a, :b], strict: true) in case of success, the result would remain as it is now: {:ok, [a: :foo, b: :bar]} = Keyword.validate([a: :foo, b: :bar], [:a, :b], strict: true) {:ok, [b: :bar, a: :foo]} = Keyword.validate([a: :foo], [:a, b: :bar], strict: true) The behaviour would be unchanged when the strict is set to false (default). The bang version would be adjusted accordingly. Thanks ;) -- You received this message because you are subscribed to the Google Groups "elixir-lang-core" group. To unsubscribe from this group and stop receiving emails from it, send an email to elixir-lang-core+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/elixir-lang-core/44d14235-d129-4f1c-b9de-7895c610d083n%40googlegroups.com.