New submission from mesheb82:

When I run the following code on Windows/Linux for < Python 3.6, I have no 
problems.  When I run in Python 3.6.0, I get the subsequent traceback.

I checked the release notes and only saw the following struct module note 
related to half-floats: Issue #11734

from struct import Struct
import copy
this_fails = Struct('<i')
copy.deepcopy(this_fails)


Traceback (most recent call last):
  File "test_script.py", line 12, in <module>
    copy.deepcopy(this_fails)
  File "F:\Anaconda\envs\py36\lib\copy.py", line 169, in deepcopy
    rv = reductor(4)
TypeError: can't pickle Struct objects


To be clear, I'm copying struct objects as part of a larger class.  As I'm 
running many function calls where I create the same struct objects, saving the 
common struct objects allows me to get a factor of 2x speedup on my code.  
Deleting the saved struct objects at the end of file reading (and before the 
deepcopy takes place) fixes the problem.

----------
components: Windows
messages: 288401
nosy: mesheb82, paul.moore, steve.dower, tim.golden, zach.ware
priority: normal
severity: normal
status: open
title: struct objects can no longer be pickled
type: crash
versions: Python 3.6

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue29628>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to