In d87811c1320e929703deeda214b17611174e8c1b I made it so we could pass args and kwargs directly to the Unit initializer and these will be used to initialize the Unit's SETTINGS. However, if the kwargs are incorrect (e.g., typo), this raises a TypeError that gets swallowed by the try/catch block, and the unit ends up with no settings.
An easy solution is to scope the try/catch down to just the the final settings = self.__class__.__settings_type__() in the else condition in the if/else block.
Yeah, cool; your commit addresses this, and I can't fathom why this change would break anything. Another contribution I'd be happy to have in dev/main.
In d87811c1320e929703deeda214b17611174e8c1b I made it so we could pass args and kwargs directly to the Unit initializer and these will be used to initialize the Unit's SETTINGS. However, if the kwargs are incorrect (e.g., typo), this raises a TypeError that gets swallowed by the try/catch block, and the unit ends up with no settings.
An easy solution is to scope the try/catch down to just the the final
settings = self.__class__.__settings_type__()
in the else condition in the if/else block.