[Python-Dev] PEP 591 discussion (final qualifier) happening at typing-sig@ (original) (raw)
Nathaniel Smith njs at pobox.com
Mon Apr 15 23:12:33 EDT 2019
- Previous message (by thread): [Python-Dev] PEP 591 discussion (final qualifier) happening at typing-sig@
- Next message (by thread): [Python-Dev] PEP 591 discussion (final qualifier) happening at typing-sig@
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Mon, Apr 15, 2019 at 5:00 PM Michael Sullivan <sully at msully.net> wrote:
I've submitted PEP 591 (Adding a final qualifier to typing) for discussion to typing-sig [1].
I'm not on typing-sig [1] so I'm replying here.
Here's the abstract: This PEP proposes a "final" qualifier to be added to the
typing
module---in the form of afinal
decorator and aFinal
type annotation---to serve three related purposes:* Declaring that a method should not be overridden * Declaring that a class should not be subclassed * Declaring that a variable or attribute should not be reassigned
I've been meaning to start blocking subclassing at runtime (e.g. like [2]), so being able to express that to the typechecker seems like a nice addition. I'm assuming though that the '@final' decorator doesn't have any runtime effect, so I'd have to say it twice?
@typing.final class MyClass(metaclass=othermod.Final): ...
Or on 3.6+ with init_subclass, it's easy to define a @final decorator that works at runtime, but I guess this would have to be a different decorator?
@typing.final @alsoruntime.final class MyClass: ...
This seems kinda awkward. Have you considered giving it a runtime effect, or providing some way for users to combine these two things together on their own?
-n
[1] https://github.com/willingc/pep-communication/issues/1 [2] https://stackoverflow.com/a/3949004/1925449
-- Nathaniel J. Smith -- https://vorpus.org
- Previous message (by thread): [Python-Dev] PEP 591 discussion (final qualifier) happening at typing-sig@
- Next message (by thread): [Python-Dev] PEP 591 discussion (final qualifier) happening at typing-sig@
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]