From 8fe825bc42064b01eef2887a1a00ee6da4383954 Mon Sep 17 00:00:00 2001 From: Cyril Sobierajewicz Date: Sat, 18 Jul 2020 18:44:07 +0200 Subject: [PATCH] Add roles declarations to forbid unsafe coercions --- src/Data/Enum.purs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Data/Enum.purs b/src/Data/Enum.purs index 0bb9287..d2a8d4d 100644 --- a/src/Data/Enum.purs +++ b/src/Data/Enum.purs @@ -162,6 +162,8 @@ toEnumWithDefaults low high x = case toEnum x of -- | A type for the size of finite enumerations. newtype Cardinality a = Cardinality Int +type role Cardinality representational + derive instance newtypeCardinality :: Newtype (Cardinality a) _ derive newtype instance eqCardinality :: Eq (Cardinality a) derive newtype instance ordCardinality :: Ord (Cardinality a)