New submission from Alex Jurkiewicz:

The typing.AnyStr documentation:

https://docs.python.org/3/library/typing.html#typing.AnyStr

It gives some examples using u-strings (u'foo') but doesn't make explicit some 
subtleties about behaviour with Python 2. Specifically, with Python 2 all the 
given examples work, and even this works:

concat("foo", u"bar")

Which seems contrary to the goal of AnyStr being "used for functions that may 
accept any kind of string without allowing different kinds of strings to mix".

I think the documentation should call out that for Python 2, AnyStr doesn't 
distinguish between str & unicode, and mention that in python 2, b'str' is 
equivalent to 'str' (I know this is mentioned elsewhere, but it seems useful to 
repeat it here).

----------
assignee: docs@python
components: Documentation
messages: 283524
nosy: aj, docs@python
priority: normal
severity: normal
status: open
title: typing.AnyStr doc is unclear about python2 unicode support
type: enhancement
versions: Python 2.7, Python 3.3, Python 3.4, Python 3.5, Python 3.6, Python 3.7

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

Reply via email to