Martin Panter added the comment:
“No public constructor” to me means that it is not defined how or if you can construct instances other than by the public subclasses. What do you expect to happen? How do you expect the public subclasses such as FileIO and BufferedReader to work if the base constructor does not work?
The other three base classes (RawIOBase, BufferedIOBase, TextIOBase) also say “there is no public constructor”. However allowing custom subclasses of these is very useful, so I would actually be for removing these restrictions from the documentation, and instead saying that each constructor accepts no arguments.
---------- assignee: -> docs@python components: +Documentation, IO -Library (Lib) nosy: +docs@python, martin.panter