From f8f1bd6f324a4e4ca0c691a36005e0e6798df9da Mon Sep 17 00:00:00 2001 From: claude Date: Thu, 25 Jun 2026 07:08:37 +0000 Subject: [PATCH] fix: resolve pyright reportUnnecessaryIsInstance in _resolve_one_bottle Validate list entries against object-typed raw_list before narrowing to list[str], so the isinstance(pname, str) check is not redundant. --- bot_bottle/manifest_extends.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/bot_bottle/manifest_extends.py b/bot_bottle/manifest_extends.py index ea2e6ff..bdf55c9 100644 --- a/bot_bottle/manifest_extends.py +++ b/bot_bottle/manifest_extends.py @@ -50,10 +50,11 @@ def _resolve_one_bottle( return bottle # Normalize to list, accepting both str and list[str]. + raw_list: list[object] if isinstance(parent_name_raw, str): - parent_names: list[str] = [parent_name_raw] + raw_list = [parent_name_raw] elif isinstance(parent_name_raw, list): - parent_names = parent_name_raw # type: ignore[assignment] + raw_list = parent_name_raw else: raise ManifestError( f"bottle '{name}' extends must be a string or list of strings " @@ -61,12 +62,14 @@ def _resolve_one_bottle( ) # Validate each entry before resolving any of them. - for i, pname in enumerate(parent_names): + parent_names: list[str] = [] + for i, pname in enumerate(raw_list): if not isinstance(pname, str): raise ManifestError( f"bottle '{name}' extends[{i}] must be a string " f"(was {type(pname).__name__})" ) + parent_names.append(pname) if pname == name: raise ManifestError( f"bottle '{name}' extends itself; remove the self-reference"