diff --git a/pyproject.toml b/pyproject.toml index 94b1f2455cd..d73e6fd4488 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -86,7 +86,7 @@ lint = [ "ruff==0.5.0", "mypy==1.10.1", "sphinx-lint", - "types-docutils==0.21.0.20240704", + "types-docutils==0.21.0.20240708", "types-requests", "importlib_metadata", # for mypy (Python<=3.9) "tomli", # for mypy (Python<=3.10) diff --git a/sphinx/ext/autodoc/directive.py b/sphinx/ext/autodoc/directive.py index f39b00f1ab5..9b0bf66a02c 100644 --- a/sphinx/ext/autodoc/directive.py +++ b/sphinx/ext/autodoc/directive.py @@ -13,10 +13,10 @@ if TYPE_CHECKING: from docutils.nodes import Node + from docutils.parsers.rst.states import RSTState from sphinx.config import Config from sphinx.environment import BuildEnvironment - from sphinx.util.typing import _RSTState as RSTState logger = logging.getLogger(__name__) diff --git a/sphinx/util/nodes.py b/sphinx/util/nodes.py index 5f4169458c7..9f3e827c827 100644 --- a/sphinx/util/nodes.py +++ b/sphinx/util/nodes.py @@ -20,13 +20,12 @@ from docutils.nodes import Element from docutils.parsers.rst import Directive - from docutils.parsers.rst.states import Inliner + from docutils.parsers.rst.states import Inliner, RSTState from docutils.statemachine import StringList from sphinx.builders import Builder from sphinx.environment import BuildEnvironment from sphinx.util.tags import Tags - from sphinx.util.typing import _RSTState as RSTState logger = logging.getLogger(__name__) diff --git a/sphinx/util/parsing.py b/sphinx/util/parsing.py index 432d9f3810b..a8f937f8fe1 100644 --- a/sphinx/util/parsing.py +++ b/sphinx/util/parsing.py @@ -11,7 +11,7 @@ if TYPE_CHECKING: from collections.abc import Iterator - from sphinx.util.typing import _RSTState as RSTState + from docutils.parsers.rst.states import RSTState def nested_parse_to_nodes( diff --git a/sphinx/util/typing.py b/sphinx/util/typing.py index dfffff20295..f19e054b30a 100644 --- a/sphinx/util/typing.py +++ b/sphinx/util/typing.py @@ -26,12 +26,10 @@ from collections.abc import Mapping from typing import Final, Literal, Protocol - from docutils.parsers.rst.states import RSTState as _RSTStateGeneric from typing_extensions import TypeAlias, TypeIs from sphinx.application import Sphinx - _RSTState: TypeAlias = _RSTStateGeneric[list[str]] _RestifyMode: TypeAlias = Literal[ 'fully-qualified-except-typing', 'smart', diff --git a/tests/test_util/test_util_docutils_sphinx_directive.py b/tests/test_util/test_util_docutils_sphinx_directive.py index 20c08191f35..8f5ab3f8e38 100644 --- a/tests/test_util/test_util_docutils_sphinx_directive.py +++ b/tests/test_util/test_util_docutils_sphinx_directive.py @@ -15,12 +15,12 @@ def make_directive(*, env: SimpleNamespace, input_lines: StringList | None = Non return directive -def make_directive_and_state(*, env: SimpleNamespace, input_lines: StringList | None = None) -> tuple[RSTState[list[str]], SphinxDirective]: +def make_directive_and_state(*, env: SimpleNamespace, input_lines: StringList | None = None) -> tuple[RSTState, SphinxDirective]: sm = RSTStateMachine(state_classes, initial_state='Body') sm.reporter = object() if input_lines is not None: sm.input_lines = input_lines - state: RSTState[list[str]] = RSTState(sm) + state = RSTState(sm) state.document = new_document('') state.document.settings.env = env state.document.settings.tab_width = 4