From 49825a9057d8c52603e91f6b99e4de94ca3d8a66 Mon Sep 17 00:00:00 2001 From: Cibin Mathew <10793628+cibinmathew@users.noreply.github.com> Date: Tue, 22 Mar 2022 09:40:24 +0530 Subject: [PATCH] Fix: Empty reveal locals ouput (#12400) Fixes https://github.com/python/mypy/issues/12388 Co-authored-by: Cibin Mathew --- mypy/messages.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/mypy/messages.py b/mypy/messages.py index bb69771901056..f067e7e06bd4b 100644 --- a/mypy/messages.py +++ b/mypy/messages.py @@ -1171,9 +1171,12 @@ def reveal_locals(self, type_map: Dict[str, Optional[Type]], context: Context) - # To ensure that the output is predictable on Python < 3.6, # use an ordered dictionary sorted by variable name sorted_locals = OrderedDict(sorted(type_map.items(), key=lambda t: t[0])) - self.note("Revealed local types are:", context) - for line in [' {}: {}'.format(k, v) for k, v in sorted_locals.items()]: - self.note(line, context) + if sorted_locals: + self.note("Revealed local types are:", context) + for k, v in sorted_locals.items(): + self.note(' {}: {}'.format(k, v), context) + else: + self.note("There are no locals to reveal", context) def unsupported_type_type(self, item: Type, context: Context) -> None: self.fail('Cannot instantiate type "Type[{}]"'.format(format_type_bare(item)), context)