Skip to content
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 our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Check invalid-name for PEP 695 nodes #9196

Closed

Conversation

jacobtylerwalls
Copy link
Member

@jacobtylerwalls jacobtylerwalls commented Oct 28, 2023

Type of Changes

Type
βœ“ πŸ› Bug fix
βœ“ πŸ”¨ New feature

Description

Waiting on astroid 3.1, with pylint-dev/astroid#2330.

Adding these new test files necessitated moving them into a new subfolder to stay under the 50-file limit.

@jacobtylerwalls jacobtylerwalls added Needs astroid update Needs an astroid update (probably a release too) before being mergable C: invalid-name python 3.12 labels Oct 28, 2023
@codecov
Copy link

codecov bot commented Oct 28, 2023

Codecov Report

Merging #9196 (0de8dd8) into main (3de196c) will increase coverage by 0.02%.
Report is 13 commits behind head on main.
The diff coverage is 100.00%.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #9196      +/-   ##
==========================================
+ Coverage   95.76%   95.79%   +0.02%     
==========================================
  Files         173      173              
  Lines       18694    18726      +32     
==========================================
+ Hits        17903    17939      +36     
+ Misses        791      787       -4     
Files Coverage Ξ”
pylint/checkers/base/name_checker/checker.py 98.62% <100.00%> (+0.02%) ⬆️

... and 8 files with indirect coverage changes

@jacobtylerwalls jacobtylerwalls added this to the 3.1.0 milestone Oct 28, 2023
@github-actions

This comment has been minimized.

@jacobtylerwalls jacobtylerwalls changed the title [WIP] Prevent invalid-name for PEP 695 nodes Prevent invalid-name for PEP 695 nodes Nov 11, 2023
@jacobtylerwalls jacobtylerwalls marked this pull request as ready for review November 11, 2023 21:57
@jacobtylerwalls jacobtylerwalls changed the title Prevent invalid-name for PEP 695 nodes Check invalid-name for PEP 695 nodes Nov 11, 2023
Copy link
Contributor

πŸ€– According to the primer, this change has no effect on the checked open source code. πŸ€–πŸŽ‰

This comment was generated for commit 0de8dd8

@jacobtylerwalls
Copy link
Member Author

Handled in #9457

@jacobtylerwalls jacobtylerwalls deleted the invalid-name-pep695 branch February 23, 2024 20:12
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request Mar 3, 2024
New Features
------------

- Skip ``consider-using-join`` check for non-empty separators if an ``suggest-join-with-non-empty-separator`` option is set to ``no``.

  Closes #8701 (`#8701 <https://github.com/pylint-dev/pylint/issues/8701>`_)

- Discover ``.pyi`` files when linting.

  These can be ignored with the ``ignore-patterns`` setting.

  Closes #9097 (`#9097 <https://github.com/pylint-dev/pylint/issues/9097>`_)

- Check ``TypeAlias`` and ``TypeVar`` (PEP 695) nodes for ``invalid-name``.

  Refs #9196 (`#9196 <https://github.com/pylint-dev/pylint/issues/9196>`_)

- Support for resolving external toml files named pylintrc.toml and .pylintrc.toml.

  Closes #9228 (`#9228 <https://github.com/pylint-dev/pylint/issues/9228>`_)

- Check for `.clear`, `.discard`, `.pop` and `remove` methods being called on a set while it is being iterated over.

  Closes #9334 (`#9334 <https://github.com/pylint-dev/pylint/issues/9334>`_)



New Checks
----------

- New message `use-yield-from` added to the refactoring checker. This message is emitted when yielding from a loop can be replaced by `yield from`.

  Closes #9229. (`#9229 <https://github.com/pylint-dev/pylint/issues/9229>`_)

- Added a ``deprecated-attribute`` message to check deprecated attributes in the stdlib.

  Closes #8855 (`#8855 <https://github.com/pylint-dev/pylint/issues/8855>`_)


False Positives Fixed
---------------------

- Fixed false positive for ``inherit-non-class`` for generic Protocols.

  Closes #9106 (`#9106 <https://github.com/pylint-dev/pylint/issues/9106>`_)

- Exempt ``TypedDict`` from ``typing_extensions`` from ``too-many-ancestor`` checks.

  Refs #9167 (`#9167 <https://github.com/pylint-dev/pylint/issues/9167>`_)



False Negatives Fixed
---------------------

- Extend broad-exception-raised and broad-exception-caught to except*.

  Closes #8827 (`#8827 <https://github.com/pylint-dev/pylint/issues/8827>`_)

- Fix a false-negative for unnecessary if blocks using a different than expected ordering of arguments.

  Closes #8947. (`#8947 <https://github.com/pylint-dev/pylint/issues/8947>`_)



Other Bug Fixes
---------------

- Improve the message provided for wrong-import-order check.  Instead of the import statement ("import x"), the message now specifies the import that is out of order and which imports should come after it.  As reported in the issue, this is particularly helpful if there are multiple imports on a single line that do not follow the PEP8 convention.

  The message will report imports as follows:
  For "import X", it will report "(standard/third party/first party/local) import X"
  For "import X.Y" and "from X import Y", it will report "(standard/third party/first party/local) import X.Y"
  The import category is specified to provide explanation as to why pylint has issued the message and guidence to the developer on how to fix the problem.

  Closes #8808 (`#8808 <https://github.com/pylint-dev/pylint/issues/8808>`_)



Other Changes
-------------

- Print how many files were checked in verbose mode.

  Closes #8935 (`#8935 <https://github.com/pylint-dev/pylint/issues/8935>`_)

- Fix a crash when an enum class which is also decorated with a ``dataclasses.dataclass`` decorator is defined.

  Closes #9100 (`#9100 <https://github.com/pylint-dev/pylint/issues/9100>`_)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C: invalid-name Needs astroid update Needs an astroid update (probably a release too) before being mergable python 3.12
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant