Equivalência de tupla singleton
Para evitar ambiguidade entre tuplas e parênteses que agrupam subexpressões, uma tupla com um só elemento é considerada equivalente ao item contido, incluindo o respectivo tipo. Por exemplo, os tipos Int
, (Int)
e ((Int))
são tratados como idênticos. O mesmo ocorre para os valores 5
, (5)
e (((5)))
ou para (5, (6))
e (5, 6)
. Essa equivalência se aplica a todas as finalidades, incluindo atribuição. Como não há nenhuma expedição dinâmica ou reflexão em Q# e todos os tipos em Q# podem ser resolvidos em tempo de compilação, a equivalência de tupla singleton pode ser prontamente implementada durante a compilação.