From 7a3d4c8af472f6432e73607a06f48b1c4b423f1b Mon Sep 17 00:00:00 2001 From: Lie Ryan Date: Fri, 8 Mar 2024 11:14:32 +1100 Subject: [PATCH] Fix 'ABCMeta' object is not subscriptable error in Python 3.8 --- rope/contrib/autoimport/sqlite.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/rope/contrib/autoimport/sqlite.py b/rope/contrib/autoimport/sqlite.py index d4ac4aa0..54a6d03c 100644 --- a/rope/contrib/autoimport/sqlite.py +++ b/rope/contrib/autoimport/sqlite.py @@ -1,5 +1,7 @@ """AutoImport module for rope.""" +from __future__ import annotations + import contextlib import json import re @@ -14,8 +16,16 @@ from itertools import chain from pathlib import Path from threading import local -from collections.abc import Collection -from typing import Generator, Iterable, Iterator, List, Optional, Set, Tuple +from typing import ( + Generator, + Iterable, + Iterator, + List, + Optional, + Set, + Tuple, + TYPE_CHECKING, +) from rope.base import exceptions, libutils, resourceobserver, taskhandle, versioning from rope.base.project import Project @@ -42,6 +52,10 @@ from rope.refactor import importutils +if TYPE_CHECKING: + from collections.abc import Collection + + def get_future_names( packages: List[Package], underlined: bool, job_set: taskhandle.BaseJobSet ) -> Generator[Future[Collection[Name]], None, None]: