summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEksperimental <eksperimental@autistici.org>2021-11-30 05:25:19 -0500
committerGitHub <noreply@github.com>2021-11-30 11:25:19 +0100
commita1e794fce583396c14ef21c384bcd7e43c076257 (patch)
tree46da562af9f21d5612a92042c1a53ffdc776bb48
parentb131f874640775fdf08707d5b2fbbc1e91722cd0 (diff)
downloadelixir-a1e794fce583396c14ef21c384bcd7e43c076257.tar.gz
Improve Version.compile_requirement/1 (#11427)
-rw-r--r--lib/elixir/lib/version.ex2
-rw-r--r--lib/elixir/test/elixir/version_test.exs9
2 files changed, 10 insertions, 1 deletions
diff --git a/lib/elixir/lib/version.ex b/lib/elixir/lib/version.ex
index d798efbeb..c43fe02fd 100644
--- a/lib/elixir/lib/version.ex
+++ b/lib/elixir/lib/version.ex
@@ -440,7 +440,7 @@ defmodule Version do
The internal representation is opaque.
"""
@spec compile_requirement(Requirement.t()) :: Requirement.t()
- def compile_requirement(requirement) do
+ def compile_requirement(%Requirement{} = requirement) do
requirement
end
diff --git a/lib/elixir/test/elixir/version_test.exs b/lib/elixir/test/elixir/version_test.exs
index 60b073e01..f249519d7 100644
--- a/lib/elixir/test/elixir/version_test.exs
+++ b/lib/elixir/test/elixir/version_test.exs
@@ -308,6 +308,15 @@ defmodule VersionTest do
assert Version.match?("0.7.0", req)
end
+ test "compile_requirement/1" do
+ {:ok, req} = Version.parse_requirement("1.2.3")
+ assert req == Version.compile_requirement(req)
+
+ assert_raise(FunctionClauseError, fn ->
+ Version.compile_requirement("~> 1.2.3")
+ end)
+ end
+
test "compile requirement" do
{:ok, req} = Version.parse_requirement("1.2.3")
req = Version.compile_requirement(req)