On Thursday, 6 June 2019 at 20:52:42 UTC, Steven Schveighoffer
On 6/6/19 4:49 PM, Steven Schveighoffer wrote:
Oh wait! It's not empty, it has an empty string as a single
member! That's definitely a bug.
OK, not a bug, but not what I would have expected. From docs:
"If T isn't a struct, class, or union, an expression tuple with
an empty string is returned."
I wonder why that behavior is there, certainly it's intentional.
It is wrong, regardless if it is intentional. Every day people do
intentional things that are wrong.
The problem is that one returns a non-empty tuple and so loops
will be executed on the empty string. While one can test for the
empty string return there is absolutely no reason why one
shouldn't just return an empty tuple as it plays correctly with
the use case.