Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

gh-91896: Improve visibility ofByteString deprecation warnings#104294

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged

Conversation

AlexWaygood
Copy link
Member

@AlexWaygoodAlexWaygood commentedMay 8, 2023
edited by bedevere-bot
Loading

#102096 added deprecation warnings forcollections.abc.ByteString, but these warnings are currently only emitted on subclassingByteString or callingisinstance() against it. ImportingByteString or accessing it viaimport collections.abc; collections.abc.ByteString does not currently trigger any warnings, meaning somebody who's just using the class for type annotations might not get any warning that the class will be removed in 3.14. Moreover, theisinstance() deprecation warnings are only emitted onisinstance() checks againstcollections.abc.ByteString, not onisinstance() checks againsttyping.ByteString. The docs update that we just made in1f56795 says thattyping.ByteString will also be removed in Python 3.14, so we should emit the same deprecation warnings fortyping.ByteString.

This PR adds deprecation warnings for:

  • from collections.abc import ByteString
  • import collections.abc; collections.abc.ByteString
  • from typing import ByteString
  • import typing; typing.ByteString
  • isinstance(b"", typing.ByteString)

@AlexWaygood
Copy link
MemberAuthor

(Skipping news as I think the news entry in#102096 should be enough)

@AlexWaygoodAlexWaygood marked this pull request as draftMay 8, 2023 15:57
@AlexWaygoodAlexWaygoodforce-pushed themore-bytestring-warnings branch from8c469cf to8015ba3CompareMay 8, 2023 16:38
@AlexWaygoodAlexWaygood marked this pull request as ready for reviewMay 8, 2023 16:55
@rhettinger
Copy link
Contributor

I'm not opposed to this but think it isn't necessary. We aren't required to emit warnings. The deprecation notices in whatsnew and the docs will suffice. This doubly true for ByteString which like has low use.

@AlexWaygood
Copy link
MemberAuthor

AlexWaygood commentedMay 9, 2023
edited
Loading

I'm not opposed to this but think it isn't necessary. We aren't required to emit warnings. The deprecation notices in whatsnew and the docs will suffice. This doubly true for ByteString which like has low use.

I don't feel strongly about this, and perhaps it isn't strictly necessary, but I would prefer maximum visibility, personally. I think it will help users if they get a clear runtime warning when they use the symbol in a type annotation, before the symbol is removed.

Copy link
Contributor

@hauntsaninjahauntsaninja left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Thanks! Whilecollections.abc.ByteString is extremely low use, there is some use oftyping.ByteString as an annotation out there, for which this could help.

Either way we should lean on type checkers for this deprecation as well, since we won't get warnings in stub files or somefrom __future__ import annotations scenarios.

AlexWaygood reacted with thumbs up emoji
@hauntsaninjahauntsaninja merged commitf0f5bb3 intopython:mainMay 12, 2023
@AlexWaygoodAlexWaygood deleted the more-bytestring-warnings branchMay 12, 2023 07:30
carljm added a commit to carljm/cpython that referenced this pull requestMay 12, 2023
* main:pythongh-91896: Fixup some docs issues following ByteString deprecation (python#104422)pythonGH-104371: check return value of calling `mv.release` (python#104417)pythongh-104415: Fix refleak tests for `typing.ByteString` deprecation (python#104416)pythonGH-86275: Implementation of hypothesis stubs for property-based tests, with zoneinfo tests (python#22863)pythonGH-103082: Filter LINE events in VM, to simplify tool implementation. (pythonGH-104387)pythongh-93649: Split gc- and allocation tests from _testcapimodule.c (pythonGH-104403)pythongh-104389: Add 'unused' keyword to Argument Clinic C converters (python#104390)pythongh-101819: Prepare _io._IOBase for module state (python#104386)pythongh-104413: Fix refleak when super attribute throws AttributeError (python#104414)  Fix refleak in `super_descr_get` (python#104408)pythongh-87526: Remove dead initialization from _zoneinfo parse_abbr() (python#24700)pythongh-91896: Improve visibility of `ByteString` deprecation warnings (python#104294)pythongh-104371: Fix calls to `__release_buffer__` while an exception is active (python#104378)pythongh-104377: fix cell in comprehension that is free in outer scope (python#104394)pythongh-104392: Remove _paramspec_tvars from typing (python#104393)pythongh-104396: uuid.py to skip platform check for emscripten and wasi (pythongh-104397)pythongh-99108: Refresh HACL* from upstream (python#104401)pythongh-104301: Allow leading whitespace in disambiguated pdb statements (python#104342)
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Reviewers

@Eclips4Eclips4Eclips4 left review comments

@hauntsaninjahauntsaninjahauntsaninja approved these changes

@gvanrossumgvanrossumAwaiting requested review from gvanrossum

@Fidget-SpinnerFidget-SpinnerAwaiting requested review from Fidget-Spinner

@JelleZijlstraJelleZijlstraAwaiting requested review from JelleZijlstraJelleZijlstra is a code owner

@rhettingerrhettingerAwaiting requested review from rhettingerrhettinger is a code owner

Assignees
No one assigned
Projects
None yet
Milestone
No milestone
Development

Successfully merging this pull request may close these issues.

5 participants
@AlexWaygood@rhettinger@hauntsaninja@Eclips4@bedevere-bot

[8]ページ先頭

©2009-2025 Movatter.jp