From d140885898ba10becf70b88d3b59f441bed394e6 Mon Sep 17 00:00:00 2001 From: Shantanu <12621235+hauntsaninja@users.noreply.github.com> Date: Fri, 2 Oct 2020 03:02:36 -0700 Subject: [PATCH] statvfs_result: type structseq better (#4587) Fixes #4572 Co-authored-by: hauntsaninja <> --- stdlib/3/os/__init__.pyi | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/stdlib/3/os/__init__.pyi b/stdlib/3/os/__init__.pyi index 332d32b42..69edd4368 100644 --- a/stdlib/3/os/__init__.pyi +++ b/stdlib/3/os/__init__.pyi @@ -25,7 +25,6 @@ from typing import ( List, Mapping, MutableMapping, - NamedTuple, NoReturn, Optional, Sequence, @@ -304,9 +303,16 @@ else: def stat(self, *, follow_symlinks: bool = ...) -> stat_result: ... if sys.platform != "win32": + _Tuple10Int = Tuple[int, int, int, int, int, int, int, int, int, int] + _Tuple11Int = Tuple[int, int, int, int, int, int, int, int, int, int, int] if sys.version_info >= (3, 7): # f_fsid was added in https://github.com/python/cpython/pull/4571 - class statvfs_result(NamedTuple): # Unix only + class statvfs_result(_Tuple10Int): # Unix only + def __new__(cls, seq: Union[_Tuple10Int, _Tuple11Int], dict: Dict[str, int] = ...) -> statvfs_result: ... + n_fields: int + n_sequence_fields: int + n_unnamed_fields: int + f_bsize: int f_frsize: int f_blocks: int @@ -317,9 +323,13 @@ if sys.platform != "win32": f_favail: int f_flag: int f_namemax: int - f_fsid: int + f_fsid: int = ... else: - class statvfs_result(NamedTuple): # Unix only + class statvfs_result(_Tuple10Int): # Unix only + n_fields: int + n_sequence_fields: int + n_unnamed_fields: int + f_bsize: int f_frsize: int f_blocks: int