PyCQA / PyCQA/pycodestyle

E115, Expected an indented block (comment), not detected

Open
#1,137 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
5.2k
Forks
754
PR merge metrics
No merged PRs in 30d

Description

According to PEP-8 on block styles, it merely says:

Block comments generally apply to some (or all) code that follows them, and are indented to the same level as that code. 

The existing E115 is supposed to check this. However, the following test code does not trigger it:

class SomeBase:
    pass


class SomeClass(SomeBase):

    def method(self, arg):
        if not arg:
            return "arg is false"
# Will return true on truthy
        return "arg is true"

I think that should be caught. It does cause a problem with building documentation with Sphinx that includes source code snippets. The generated RST has the de-dented line signalling the end of the code block.

Thanks!

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the provided Python snippet and trace the E115 checker in pycodestyle's single Python source file. Add or update a regression test for the de-dented comment case, and confirm that it is reported without incorrectly flagging valid block comments.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.