Release 1.1.7
1.1.7
-
[TRLC, LRM] Fixed a missing restriction on tuple types that
permitted interesting nesting of tuples with separators and optional
components. The restriction forbids any tuple with declared
separators from having components that are themselves tuples with
separators. We may relax this restriction in the future to permit
some combinations where this doesn't lead to parsing problems for
values.The problem can be seen in this example:
tuple T { a String separator @ b optional Integer } tuple Q { a T separator @ b optional Integer }
If we now write
"foo" @ 12
then there is no possible way to
specify if you meant:- Instance of Q where
a
is"foo" @ 12
andb
is unspecified - Instance of Q where
a
is just"foo"
andb
is12
- Instance of Q where
-
[TRLC, LRM] Fixed LRM and tools allowing empty enumerations. This is
now explicitly forbidden. It was always unreasonable to do this as
it would have been impossible to use the enumeration type, and there
is no legitimate use-case anyway since you cannot add more literals
later through e.g. a type extension. -
[TRLC] Add alternative entry-point for users who cannot modify their
PATH. You can now dopython3 -m trlc [args...]
and it works just
liketrlc [args...]
. -
[TRLC] Fix tool crash when encountering a file not in UTF-8
encoding. We now print an error message indicating the issue. -
[TRLC] Fix bug when parsing arrays: arrays without comma separators
were accapted when they should have been rejected. -
[TRLC] Fix tool crash when parsing a file with an unterminated
/*
comment. -
[LRM] Fix typo in in several places:
.rls
should be.rsl
.