New submission from Elijah Rippeth <[email protected]>:
Sometimes it's desirable to couple classes together by nesting. Currently
there's no way to signal to an interface implementer that an inner class is a
required attribute to be implemented.
I propose a decorator for `abstractnestedclass` to fill this gap. A simple
example use-case is outlined below:
```
from abc import ABCMeta, abstractnestedclass
class BaseComponent(metaclass=ABCMeta):
@abstractnestedclass
class Config:
pass
class MissingNestedComponent(BaseComponent):
# This will raise when constructed because
# BaseComponent.Config is not implemented
pass
class NonraisingComponent(BaseComponent):
# This will be constructable
class NonraisingComponentConfig(BaseComponent.Config):
pass
pass
```
----------
components: Library (Lib)
messages: 369756
nosy: Elijah Rippeth
priority: normal
severity: normal
status: open
title: Consider adding decorator for required inner class
type: enhancement
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue40749>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com