diff --git a/concrete_syntax/textual_cd/parser.py b/concrete_syntax/textual_cd/parser.py index 1a3d4d9..51af346 100644 --- a/concrete_syntax/textual_cd/parser.py +++ b/concrete_syntax/textual_cd/parser.py @@ -86,7 +86,10 @@ def parse_cd(state, m_text): return True def INT_OR_INF(self, el): - return float('inf') if el == "*" else int(el) + # infinity only used for upper cardinality, + # where the default value (None) represents infinity + # cannot use `float('inf')` because then it violates the constraint of type 'Integer' + return None if el == "*" else int(el) def multiplicity(self, el): [lower, upper] = el