From 7722ae1d713baa9c3ea268151085ba49c63ad0b4 Mon Sep 17 00:00:00 2001
From: Fiddle-Config Team
Date: Tue, 25 Oct 2022 11:49:33 -0700
Subject: [PATCH] Fix a small bug in `unintern_tuples_of_literals` where we
were not actually typechecking value ...
PiperOrigin-RevId: 483736848
---
fiddle/experimental/transform.py | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/fiddle/experimental/transform.py b/fiddle/experimental/transform.py
index 387a09c2..db27b7b8 100644
--- a/fiddle/experimental/transform.py
+++ b/fiddle/experimental/transform.py
@@ -44,10 +44,10 @@ def unintern_tuples_of_literals(buildable: AnyBuildable) -> AnyBuildable:
def transform(value, state: Optional[daglish.State] = None):
state = state or daglish.MemoizedTraversal.begin(
transform, value, memoize_internables=False)
- # pylint: disable-next=unidiomatic-typecheck
# We want tuples only and not things like NamedTuples which are not
- # interned by Python.
- if type(tuple) is tuple and daglish.is_internable(value):
+ # interned by Python. So we're using type() instead of isinstance().
+ # pylint: disable-next=unidiomatic-typecheck
+ if type(value) is tuple and daglish.is_internable(value):
value = tuple(list(value))
return state.map_children(value)