diff --git a/Lib/asyncio/streams.py b/Lib/asyncio/streams.py index f03441b6b11..204eaf7394c 100644 --- a/Lib/asyncio/streams.py +++ b/Lib/asyncio/streams.py @@ -1293,10 +1293,8 @@ class Stream: is_server_side=False, _asyncio_internal=False): if not _asyncio_internal: - warnings.warn(f"{self.__class__} should be instaniated " - "by asyncio internals only, " - "please avoid its creation from user code", - DeprecationWarning) + raise RuntimeError(f"{self.__class__} should be instantiated " + "by asyncio internals only") self._mode = mode self._transport = transport self._protocol = protocol diff --git a/Lib/test/test_asyncio/test_streams.py b/Lib/test/test_asyncio/test_streams.py index a1c62ecee66..eab71e80308 100644 --- a/Lib/test/test_asyncio/test_streams.py +++ b/Lib/test/test_asyncio/test_streams.py @@ -1779,6 +1779,12 @@ os.close(fd) self.loop.run_until_complete(test()) + def test_stream_ctor_forbidden(self): + with self.assertRaisesRegex(RuntimeError, + "should be instantiated " + "by asyncio internals only"): + asyncio.Stream(asyncio.StreamMode.READWRITE) + if __name__ == '__main__': unittest.main()