Repository: mit-ll-responsible-ai/hydra-zen

Issue:
Bump pyright from 1.1.344 to 1.1.345 in /deps
Bumps [pyright](https://github.com/RobertCraigie/pyright-python) from 1.1.344 to 1.1.345.
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/RobertCraigie/pyright-python/commit/a13a839ccdbddfe4d1153a9ff7622dfcc3b7b4b7"><code>a13a839</code></a> [pyright updated to 1.1.345] Update Version (<a href="https://redirect.github.com/RobertCraigie/pyright-python/issues/244">#244</a>)</li>
<li>See full diff in <a href="https://github.com/RobertCraigie/pyright-python/compare/v1.1.344...v1.1.345">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pyright&package-manager=pip&previous-version=1.1.344&new-version=1.1.345)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>


Discussion:

Resolving patch:
diff --git a/src/hydra_zen/structured_configs/_implementations.py b/src/hydra_zen/structured_configs/_implementations.py
--- a/src/hydra_zen/structured_configs/_implementations.py
+++ b/src/hydra_zen/structured_configs/_implementations.py
@@ -53,6 +53,7 @@
     ParamSpecArgs,
     ParamSpecKwargs,
     Protocol,
+    Self,
     TypeAlias,
     Unpack,
     _AnnotatedAlias,
@@ -93,6 +94,7 @@
     DefaultsList,
     Field,
     HasTarget,
+    HasTargetInst,
     HydraSupportedType,
     InstOrType,
     Just as JustT,
@@ -1349,7 +1351,7 @@ def _get_sig_obj(cls, target: Any) -> Any:
     @overload
     @classmethod
     def builds(
-        cls,
+        cls: Type[Self],
         __hydra_target: Type[BuildsWithSig[Type[R], P]],
         *,
         zen_partial: Literal[False, None] = ...,
@@ -1370,7 +1372,7 @@ def builds(
     @overload
     @classmethod
     def builds(
-        cls,
+        cls: Type[Self],
         __hydra_target: Callable[P, R],
         *,
         zen_partial: Literal[False, None] = ...,
@@ -1392,7 +1394,7 @@ def builds(
     @overload
     @classmethod
     def builds(
-        cls,
+        cls: Type[Self],
         __hydra_target: Type[AnyBuilds[Importable]],
         *pos_args: T,
         zen_partial: Literal[False, None] = ...,
@@ -1415,7 +1417,7 @@ def builds(
     @overload
     @classmethod
     def builds(
-        cls,
+        cls: Type[Self],
         __hydra_target: Importable,
         *pos_args: T,
         zen_partial: Literal[False, None] = ...,
@@ -1438,7 +1440,7 @@ def builds(
     @overload
     @classmethod
     def builds(
-        cls,
+        cls: Type[Self],
         __hydra_target: Type[AnyBuilds[Importable]],
         *pos_args: T,
         zen_partial: Literal[True] = ...,
@@ -1461,7 +1463,7 @@ def builds(
     @overload
     @classmethod
     def builds(
-        cls,
+        cls: Type[Self],
         __hydra_target: Importable,
         *pos_args: T,
         zen_partial: Literal[True] = ...,
@@ -1484,7 +1486,7 @@ def builds(
     @overload
     @classmethod
     def builds(
-        cls,
+        cls: Type[Self],
         __hydra_target: Type[AnyBuilds[Importable]],
         *pos_args: T,
         zen_partial: Optional[bool] = ...,
@@ -1507,7 +1509,7 @@ def builds(
     @overload
     @classmethod
     def builds(
-        cls,
+        cls: Type[Self],
         __hydra_target: Importable,
         *pos_args: T,
         zen_partial: Optional[bool] = ...,
@@ -1530,7 +1532,7 @@ def builds(
     @overload
     @classmethod
     def builds(
-        cls,
+        cls: Type[Self],
         __hydra_target: Union[Callable[P, R], Type[Builds[Importable]], Importable],
         *pos_args: T,
         zen_partial: Optional[bool],
@@ -1555,7 +1557,7 @@ def builds(
 
     @classmethod
     def builds(
-        cls,
+        cls: Type[Self],
         *pos_args: Union[Importable, Callable[P, R], Type[AnyBuilds[Importable]], Any],
         zen_partial: Optional[bool] = None,
         zen_wrappers: ZenWrappers[Callable[..., Any]] = tuple(),
@@ -3289,7 +3291,7 @@ def make_config(
     @overload
     @classmethod
     def kwargs_of(
-        cls,
+        cls: Type[Self],
         __hydra_target: Callable[P, Any],
         *,
         zen_dataclass: Optional[DataclassOptions] = ...,
@@ -3300,7 +3302,7 @@ def kwargs_of(
     @overload
     @classmethod
     def kwargs_of(
-        cls,
+        cls: Type[Self],
         __hydra_target: Callable[Concatenate[Any, P], Any],
         *,
         zen_dataclass: Optional[DataclassOptions] = ...,
@@ -3311,7 +3313,7 @@ def kwargs_of(
     @overload
     @classmethod
     def kwargs_of(
-        cls,
+        cls: Type[Self],
         __hydra_target: Callable[Concatenate[Any, Any, P], Any],
         *,
         zen_dataclass: Optional[DataclassOptions] = ...,
@@ -3322,7 +3324,7 @@ def kwargs_of(
     @overload
     @classmethod
     def kwargs_of(
-        cls,
+        cls: Type[Self],
         __hydra_target: Callable[Concatenate[Any, Any, Any, P], Any],
         *,
         zen_dataclass: Optional[DataclassOptions] = ...,
@@ -3335,7 +3337,7 @@ def kwargs_of(
     @overload
     @classmethod
     def kwargs_of(
-        cls,
+        cls: Type[Self],
         __hydra_target: Callable[P, Any],
         *,
         zen_dataclass: Optional[DataclassOptions] = ...,
@@ -3346,7 +3348,7 @@ def kwargs_of(
     @overload
     @classmethod
     def kwargs_of(
-        cls,
+        cls: Type[Self],
         __hydra_target: Callable[P, Any],
         *,
         zen_dataclass: Optional[DataclassOptions] = ...,
@@ -3357,7 +3359,7 @@ def kwargs_of(
     @overload
     @classmethod
     def kwargs_of(
-        cls,
+        cls: Type[Self],
         __hydra_target: Callable[P, Any],
         *,
         zen_dataclass: Optional[DataclassOptions] = ...,
@@ -3370,7 +3372,7 @@ def kwargs_of(
 
     @classmethod
     def kwargs_of(
-        cls,
+        cls: Type[Self],
         __hydra_target: Callable[P, Any],
         *,
         zen_dataclass: Optional[DataclassOptions] = None,
@@ -3492,11 +3494,16 @@ def get_target(obj: InstOrType[Builds[_T]]) -> _T:
 
 
 @overload
-def get_target(obj: HasTarget) -> Any:
+def get_target(obj: HasTargetInst) -> Any:
     ...
 
 
+@overload
 def get_target(obj: HasTarget) -> Any:
+    ...
+
+
+def get_target(obj: Union[HasTarget, HasTargetInst]) -> Any:
     """
     Returns the target-object from a targeted config.
 
diff --git a/src/hydra_zen/typing/_implementations.py b/src/hydra_zen/typing/_implementations.py
--- a/src/hydra_zen/typing/_implementations.py
+++ b/src/hydra_zen/typing/_implementations.py
@@ -139,6 +139,11 @@ def __setattr__(self, __name: str, __value: Any) -> None:
 
 @runtime_checkable
 class HasTarget(Protocol):
+    _target_: ClassVar[str]
+
+
+@runtime_checkable
+class HasTargetInst(Protocol):
     _target_: str
 
 


Test patch: