summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Cython/Compiler/ModuleNode.py2
-rw-r--r--tests/compile/ctuple_unused_T3543.pyx9
2 files changed, 10 insertions, 1 deletions
diff --git a/Cython/Compiler/ModuleNode.py b/Cython/Compiler/ModuleNode.py
index fe59836ac..8a1e1e718 100644
--- a/Cython/Compiler/ModuleNode.py
+++ b/Cython/Compiler/ModuleNode.py
@@ -580,7 +580,7 @@ class ModuleNode(Nodes.Node, Nodes.BlockNode):
definition = module is env
type_entries = []
for entry in module.type_entries:
- if entry.type.is_ctuple:
+ if entry.type.is_ctuple and entry.used:
if entry.name not in ctuple_names:
ctuple_names.add(entry.name)
type_entries.append(entry)
diff --git a/tests/compile/ctuple_unused_T3543.pyx b/tests/compile/ctuple_unused_T3543.pyx
new file mode 100644
index 000000000..88446dd64
--- /dev/null
+++ b/tests/compile/ctuple_unused_T3543.pyx
@@ -0,0 +1,9 @@
+# ticket: 3543
+# mode: compile
+
+# Views define unused ctuples, including (long,)
+from cython cimport view
+
+# Implicitly generate a ctuple (long,)
+obj = None
+obj or (1,)