I added a comment to that bug and SR-8672 which I linked as related.
Seems to me like the seemingly protocol-related issues described in the following threads are caused by the simpler (non-protocol related) issue of type scope operators not working when the type is declared in function scope: