You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In a Slack discussion there was an argument that this should not be supported at all and rejected since values in a set should be immutable (which a set is not). I'd argue that the usage here which does not modify the contained values at all could still be supported; we could still reject mutating operations on vs at runtime.
The text was updated successfully, but these errors were encountered:
Closes#3933
There are a couple ways to get a list, sometimes with `{}`, sometimes
with `[]`. You can use these to append to sets and vectors. But,
sometimes it's useful to expand the elements of a list, like if you pass
in a global when appending a set. So, those elements are evaluated and
possibly change the list.
This can, however, end up with an empty list that seems like it should
be impactful for construction. It seems useful to say that an empty list
is intentional, since the initial check is not able to catch those
cases. So, keep that in the list if it's empty.
Closes#3933
There are a couple ways to get a list, sometimes with `{}`, sometimes
with `[]`. You can use these to append to sets and vectors. But,
sometimes it's useful to expand the elements of a list, like if you pass
in a global when appending a set. So, those elements are evaluated and
possibly change the list.
This can, however, end up with an empty list that seems like it should
be impactful for construction. It seems useful to say that an empty list
is intentional, since the initial check is not able to catch those
cases. So, keep that in the list if it's empty.
I'm going to close this out since it's more "user misunderstanding" than an actual bug, since sets of sets are fully supported. It's just really really awkward with how these lists get expanded, but I don't think changing the list expansion behavior will ever be a good idea.
Not to say I love how these cases get expanded, but it's technically "correct" and hard to change.
I would expect the following code to either work at runtime or be outright rejected:
I originally saw this with an initialization of the form
In a Slack discussion there was an argument that this should not be supported at all and rejected since values in a
set
should be immutable (which aset
is not). I'd argue that the usage here which does not modify the contained values at all could still be supported; we could still reject mutating operations onvs
at runtime.The text was updated successfully, but these errors were encountered: