When a module deregisters an option, the validation process should ensure that it is not present when the module runs. It datastore['DEREGISTERED_OPTION'] should probably be nil but at the very least it should be #blank?.
Allowing the caller to pass datastore options that the module explicitly deregistered can break the module authors assumption of how library methods will behave.
Steps to reproduce
See this comment which includes modules for demonstrating the issue: #21313 (comment)
When a module deregisters an option, the validation process should ensure that it is not present when the module runs. It
datastore['DEREGISTERED_OPTION']should probably benilbut at the very least it should be#blank?.Allowing the caller to pass datastore options that the module explicitly deregistered can break the module authors assumption of how library methods will behave.
Steps to reproduce
See this comment which includes modules for demonstrating the issue: #21313 (comment)