class_docstr: The result of resolving query inputs to specs.
class_docstr_tok: ["The","result","of","resolving","query","inputs","to","specs","."]
code: def has_errors(self) -> bool:  # noqa: D
      return (
          self.input_to_issue_set.has_issues
          or self.filter_spec_lookup.has_errors
      )
  
imports: from __future__ import annotations
  from dataclasses import dataclass
  from typing import Optional, Sized, Tuple
  from typing_extensions import override
  from metricflow.collection_helpers.merger import Mergeable
  from metricflow.mf_logging.pretty_print import mf_pformat
  from metricflow.query.group_by_item.filter_spec_resolution.filter_spec_lookup import FilterSpecResolutionLookUp
  from metricflow.query.group_by_item.resolution_dag.dag import GroupByItemResolutionDag
  from metricflow.query.issues.issues_base import MetricFlowQueryResolutionIssueSet
  from metricflow.query.resolver_inputs.base_resolver_inputs import MetricFlowQueryResolverInput
  from metricflow.specs.specs import MetricFlowQuerySpec
label_desc: Use image node_id 2 for calling the MetricFlowQueryResolution obj's underlying member method code with example usage: obj.has_errors() and returns: unknown