提交 78ccb6f9 authored 作者: Olivier Breuleux's avatar Olivier Breuleux

x.indestructible -> x.tag.indestructible

上级 5f13b082
......@@ -26,7 +26,7 @@ default_optimizer = _DefaultOptimizer()
def _mark_indestructible(results):
for r in results:
r.indestructible = True
r.tag.indestructible = True
def linker_cls_python_and_c(env, **kwargs):
"""Use this as the linker_cls argument to Function.__init__ to compare
......@@ -78,7 +78,7 @@ def std_env(inputs, outputs, disown_inputs = False):
input.destroyed_by_user = len(env.destroyers(input)) != 0
if not input.destroyed_by_user and not disown_inputs:
# prevent optimizations from destroying the inputs
input.indestructible = True
input.tag.indestructible = True
return env
def std_opt(env):
......
......@@ -205,9 +205,9 @@ class _test_all(unittest.TestCase):
def test_indestructible(self):
x, y, z = inputs()
x.indestructible = True
x.tag.indestructible = True
x = copy(x)
assert x.indestructible # checking if indestructible survives the copy!
assert x.tag.indestructible # checking if indestructible survives the copy!
e = add_in_place(x, y)
g = Env([x,y,z], [e], False)
assert not g.consistent()
......@@ -216,7 +216,7 @@ class _test_all(unittest.TestCase):
def test_indestructible_through_views(self):
x, y, z = inputs()
x.indestructible = True
x.tag.indestructible = True
tv = transpose_view(x)
e = add_in_place(tv, y)
g = Env([x,y,z], [e], False)
......
......@@ -374,7 +374,7 @@ class DestroyHandlerHelper(toolbox.Bookkeeper):
self.dups.add(foundation)
# results marked 'indestructible' must not be destroyed.
if getattr(foundation, 'indestructible', False) or isinstance(foundation, graph.Constant):
if getattr(foundation.tag, 'indestructible', False) or isinstance(foundation, graph.Constant):
self.illegal.add(foundation)
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论