Serhiy Storchaka added the comment:

PyUnicode_FSDecoder() is used in following functions in the stdlib:

compile()
symtable.symtable()
parser.compile()
parser.compilest()
zipimporter.zipimporter()
_imp.load_dynamic() (before 3.5)

This is behavior of PyUnicode_FSDecoder() from the start (issue9542). All above 
functions accepted only str in 3.1, thus accepting bytes object and others was 
new feature.

None tests are failed if reject non-str and non-bytes argument in 
PyUnicode_FSDecoder(). But none tests are failed even if disable support of 
bytes argument (there is a lack of tests for bytes path).

What should we do?

1. Add a warning when the argument neither str nor supporting the buffer 
protocol.

2. Drop support of non-str and not supporting the buffer protocol arguments 
without a warning.

3. Drop support of non-str and not supporting the buffer protocol arguments 
without a warning, and add a warning when the argument neither str nor bytes.

4. Drop support of non-str and non-bytes arguments without a warning.

----------
nosy: +haypo

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

Reply via email to