Skip to content

Commit

Permalink
Export all tests from type_refinement_should_fail, fix specs
Browse files Browse the repository at this point in the history
  • Loading branch information
erszcz committed Oct 10, 2024
1 parent 8858c41 commit c63080a
Showing 1 changed file with 6 additions and 4 deletions.
10 changes: 6 additions & 4 deletions test/known_problems/should_fail/type_refinement_should_fail.erl
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
-module(type_refinement_should_fail).

-export([pattern_prevents_refinement/2]).
-export([guard_prevents_refinement/2,
guard_prevents_refinement2/1,
pattern_prevents_refinement/2]).

-spec guard_prevents_refinement(1..2, boolean()) -> 2.
guard_prevents_refinement(N, Guard) ->
Expand All @@ -9,11 +11,11 @@ guard_prevents_refinement(N, Guard) ->
M -> M %% 1 cannot be eliminated
end.

-spec guard_prevents_refinement2(erlang:timestamp()) -> ok.
-spec guard_prevents_refinement2(integer()) -> ok.
guard_prevents_refinement2(X) when is_integer(X), X rem 7 == 0 -> ok;
guard_prevents_refinement2(infinity) -> ok. % can still be an integer
guard_prevents_refinement2(X) -> ok. % X can still be an integer

-spec pattern_prevents_refinement(erlang:timestamp(), any()) -> atom().
-spec pattern_prevents_refinement(integer(), any()) -> atom().
pattern_prevents_refinement(X, X) when is_integer(X) -> ok;
pattern_prevents_refinement(X, {_Y}) when is_integer(X) -> ok;
pattern_prevents_refinement(Inf, _) -> Inf. % Inf can still be an integer

0 comments on commit c63080a

Please sign in to comment.