This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author serhiy.storchaka
Recipients serhiy.storchaka
Date 2017-11-12.17:50:16
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1510509016.94.0.213398074469.issue32011@psf.upfronthosting.co.za>
In-reply-to
Content
TYPE_INT64 is supported in the marshal module since Python 1.5. Since its use causes instability of marhalled files produced on different platforms, the marshal module in Python 3.3 no longer use it when write new files (see issue15466). And in Python 3.4 it stopped reading files containing the TYPE_INT64 code (see issue15480).

This is backward incompatible change. Python 2.7 still produce files containing the TYPE_INT64 code (though this code is rare, because integers in ranges -9223372036854775808..-2147483649 and 2147483648..9223372036854775807 are rare), and there may be marshal files produced by older versions of Python 3, Python 2 and Python 1. Formally Python 3 supports marshal formats produced by all previous versions, except the code objects and the TYPE_INT64 code.

Supporting loading the TYPE_INT64 code don't create problems like using it for saving data. But it is needed for backward compatibility.

I think that removing the TYPE_INT64 code was a mistake.
History
Date User Action Args
2017-11-12 17:50:16serhiy.storchakasetrecipients: + serhiy.storchaka
2017-11-12 17:50:16serhiy.storchakasetmessageid: <1510509016.94.0.213398074469.issue32011@psf.upfronthosting.co.za>
2017-11-12 17:50:16serhiy.storchakalinkissue32011 messages
2017-11-12 17:50:16serhiy.storchakacreate