From 379c731743587ca94beae744a4a9656ac6d42511 Mon Sep 17 00:00:00 2001 From: Marcell Perger Date: Fri, 20 Jun 2025 15:01:48 +0100 Subject: [PATCH 1/3] Complete `tkinter.commondialog` stub --- stdlib/tkinter/commondialog.pyi | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/stdlib/tkinter/commondialog.pyi b/stdlib/tkinter/commondialog.pyi index d5fc2f05ceec..f6762897ecc3 100644 --- a/stdlib/tkinter/commondialog.pyi +++ b/stdlib/tkinter/commondialog.pyi @@ -1,12 +1,12 @@ -from _typeshed import Incomplete from collections.abc import Mapping -from typing import ClassVar +from tkinter import Misc +from typing import Any, ClassVar __all__ = ["Dialog"] class Dialog: command: ClassVar[str | None] - master: Incomplete | None - options: Mapping[str, Incomplete] - def __init__(self, master=None, **options) -> None: ... - def show(self, **options): ... + master: Misc | None + options: Mapping[str, Any] + def __init__(self, master: Misc = None, **options: Any) -> None: ... + def show(self, **options: Any): ... From e73fa4534d5b5e27b90278b5935d7f0a9021812a Mon Sep 17 00:00:00 2001 From: Marcell Perger Date: Thu, 26 Jun 2025 18:47:51 +0100 Subject: [PATCH 2/3] Fix stubtest error --- stdlib/tkinter/commondialog.pyi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stdlib/tkinter/commondialog.pyi b/stdlib/tkinter/commondialog.pyi index f6762897ecc3..bbe574bf93e9 100644 --- a/stdlib/tkinter/commondialog.pyi +++ b/stdlib/tkinter/commondialog.pyi @@ -8,5 +8,5 @@ class Dialog: command: ClassVar[str | None] master: Misc | None options: Mapping[str, Any] - def __init__(self, master: Misc = None, **options: Any) -> None: ... + def __init__(self, master: Misc | None = None, **options: Any) -> None: ... def show(self, **options: Any): ... From 751014017b5455b2bc40af8e0f68db66346b5047 Mon Sep 17 00:00:00 2001 From: Marcell Perger <102254594+MarcellPerger1@users.noreply.github.com> Date: Thu, 26 Jun 2025 22:26:11 +0100 Subject: [PATCH 3/3] Add comment explaining use of `Any` Co-authored-by: Akuli --- stdlib/tkinter/commondialog.pyi | 2 ++ 1 file changed, 2 insertions(+) diff --git a/stdlib/tkinter/commondialog.pyi b/stdlib/tkinter/commondialog.pyi index bbe574bf93e9..2891f7fa8023 100644 --- a/stdlib/tkinter/commondialog.pyi +++ b/stdlib/tkinter/commondialog.pyi @@ -7,6 +7,8 @@ __all__ = ["Dialog"] class Dialog: command: ClassVar[str | None] master: Misc | None + # Types of options are very dynamic. They depend on the command and are + # sometimes changed to a different type. options: Mapping[str, Any] def __init__(self, master: Misc | None = None, **options: Any) -> None: ... def show(self, **options: Any): ...