Set membership tests should error if the 'elem' does not exist in a mixed element type list as containment is equivalent to the macro exists() behavior:
Given 'elem' in [1u, 'str', 2, b'bytes'], the pair-wise comparison between elem and each value in the list should generate a series of false and error values which combine to an error. Note, this test would likely default to the existing behavior (returning false) if optimizations were enabled to change set membership to a hash lookup.
It's possible that only aggregate values with homogeneous types should be permitted with the set membership optimizations to ensure consistent behavior in the optimized and non-optimized states.
Set membership tests should error if the 'elem' does not exist in a mixed element type list as containment is equivalent to the macro exists() behavior:
Given
'elem' in [1u, 'str', 2, b'bytes'], the pair-wise comparison between elem and each value in the list should generate a series of false and error values which combine to an error. Note, this test would likely default to the existing behavior (returning false) if optimizations were enabled to change set membership to a hash lookup.It's possible that only aggregate values with homogeneous types should be permitted with the set membership optimizations to ensure consistent behavior in the optimized and non-optimized states.