Some namespaces are added by extensions. Users can be partially blocked against namespaces, including extension namespaces.
If a block blocks namespaces, the namespaces are shown in Special:BlockList:
If the extension is then uninstalled, the namespaces no longer appear, but instead we see empty bullet points:
The empty bullet points should not display if the namespace doesn't exist.
Loading the block into Special:Block/Blockable in order to edit Blockable's block also doesn't work properly, and on submission there is an error:
(The workaround is to open Special:Block, and enter Blockable as the target, instead of opening Special:Block/Blockable.)
It's worth comparing what happens when a user is blocked against editing a page,**What needs doing**
* The list of partial block restrictions is built in `BlockListPager::getRestrictionListHTML`. There's handling for PageRestrictions where the title no longer exists, and we should add something similar for NamespaceRestrictions and ActionRestrictions.
* The Special:Block form is populated in `SpecialBlock::maybeAlterFormDefaults`. then the page gets deleted.Again, Inthere's a check for whether this casetitle exists, the page details are removed from Special:BlockList and Special:Block works fineand we should add something similar for the namespace and action.