python3 doesn't allow dictionaries to be initialized with non-string keywords. This presents problems on systems in which "python" means "python3". We instead initalize the dictionary using the dict comprehension and then update it with the values from the tree. This will work with both python2 and python3. --- test/gen-threads.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/gen-threads.py b/test/gen-threads.py index 9fbb847..70fb1f6 100644 --- a/test/gen-threads.py +++ b/test/gen-threads.py @@ -2,7 +2,6 @@ # argv[1]. Each output line is a thread structure, where the n'th # field is either a number giving the parent of message n or "None" # for the root. - import sys from itertools import chain, combinations @@ -28,6 +27,7 @@ while queue: else: # Expand node to_expand[0] with each possible set of children for children in subsets(free): - ntree = dict(tree, **{child: to_expand[0] for child in children}) + ntree = {child: to_expand[0] for child in children} + ntree.update(tree) nfree = free.difference(children) queue.append((ntree, nfree, to_expand[1:] + tuple(children))) -- 2.1.2