Discussing with @griesemer, we're not sure why that guard is necessary. Certainly it seems OK to add an exception for any there. If this doesn't work out, we may need to revert #49583, which would be unfortunate.
Looked at this a bit more. The original problem is that we use the LHS of type declaration as the receiver type in interface methods on the RHS, so such RHS interfaces can't be reused. Possibly we could stop doing this, but that's not a decision for now. To fix this bug, we can just allow reusing empty interfaces.
This is a port of CL 367851 to x/tools. The test set-up is slightly
different; I added a TODO to converge.
Trust: Robert Findley <firstname.lastname@example.org>
Run-TryBot: Robert Findley <email@example.com>
gopls-CI: kokoro <firstname.lastname@example.org>
TryBot-Result: Go Bot <email@example.com>
Reviewed-by: Robert Griesemer <firstname.lastname@example.org>