To use just the TLD, the domain will need to be fully qualified with a trailing dot, "x@tld.". Otherwise, the domain can get confused with just the hostname in the local domain (tld.example.com). Just the hostname is a valid email address but wouldn't need to be accepted by most signup forms.
My guess is that nobody will use just the TLD because of the confusion. And because a lot of software does not support fully qualified names.
As far as I know the new tlds will still have a dot between tld and actual domain (I could be wrong though) but it's just been pointed out that IPv6 emails addresses could fail on my regex.
The reason I don't currently use x@y is just to have a better shot at catching typos without being too restrictive.
Why not just check for x@x?