diff --git a/conservancy_beancount/reports/accrual.py b/conservancy_beancount/reports/accrual.py index 806b1460a9a5a2200cee27952a3e1bccec9dda7d..ec2530679cc74cca5dea8d7e5f00e01a9ce71393 100644 --- a/conservancy_beancount/reports/accrual.py +++ b/conservancy_beancount/reports/accrual.py @@ -178,8 +178,6 @@ class AccrualPostings(core.RelatedPostings): _can_own: bool=False, ) -> None: super().__init__(source, _can_own=_can_own) - # The following type declarations tell mypy about values set in the for - # loop that are important enough to be referenced directly elsewhere. self.account = self._single_item(post.account for post in self) if isinstance(self.account, Sentinel): self.accrual_type: Optional[AccrualAccount] = None @@ -218,9 +216,7 @@ class AccrualPostings(core.RelatedPostings): # value like "FIXME". It can be refined if needed. invoice_ok = isinstance(self.invoice, str) and '/' in self.invoice if account_ok and entity_ok and invoice_ok: - # mypy loses track of the fact that self.invoice must be a str in - # this case (gated on the invoice_ok boolean) and complains it - # doesn't match the type of the return value. + # type ignore for yield (self.invoice, self) # type:ignore[misc] return groups = collections.defaultdict(list)