summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Meadows-Jönsson <eric.meadows.jonsson@gmail.com>2020-11-02 14:45:39 +0100
committerEric Meadows-Jönsson <eric.meadows.jonsson@gmail.com>2020-11-02 14:45:39 +0100
commitdc54919b9eeea5f2fcd2a3373ab90e4eba0304b4 (patch)
tree666f777465c4e037cac89d409b3c22ac4cff1e07
parent17e098b9fd8a4d4c92a9c5db8b10ba51b9aa0d0b (diff)
downloadelixir-emj/match-unify-context.tar.gz
Add test for multi-clause guardsemj/match-unify-context
-rw-r--r--lib/elixir/test/elixir/module/types/pattern_test.exs5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/elixir/test/elixir/module/types/pattern_test.exs b/lib/elixir/test/elixir/module/types/pattern_test.exs
index b6d7f9099..85cb7d570 100644
--- a/lib/elixir/test/elixir/module/types/pattern_test.exs
+++ b/lib/elixir/test/elixir/module/types/pattern_test.exs
@@ -343,6 +343,11 @@ defmodule Module.Types.PatternTest do
quoted_head([x], [is_tuple(is_atom(x))])
end
+ test "multi-clause guards" do
+ assert quoted_head([x], [:erlang.rem(x, 2)]) == {:ok, [:integer]}
+ assert quoted_head([x], [:erlang.rem(x + x, 2)]) == {:ok, {:union, [:integer, :float]}}
+ end
+
test "erlang-only guards" do
assert quoted_head([x], [:erlang.size(x)]) ==
{:ok, [{:union, [:binary, :tuple]}]}