diff options
author | Eksperimental <eksperimental@autistici.org> | 2021-11-30 05:25:19 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-30 11:25:19 +0100 |
commit | a1e794fce583396c14ef21c384bcd7e43c076257 (patch) | |
tree | 46da562af9f21d5612a92042c1a53ffdc776bb48 | |
parent | b131f874640775fdf08707d5b2fbbc1e91722cd0 (diff) | |
download | elixir-a1e794fce583396c14ef21c384bcd7e43c076257.tar.gz |
Improve Version.compile_requirement/1 (#11427)
-rw-r--r-- | lib/elixir/lib/version.ex | 2 | ||||
-rw-r--r-- | lib/elixir/test/elixir/version_test.exs | 9 |
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) |