Skip to content

missing_docs warns about actors not documenting public protocol properties #5422

@bobbradley

Description

@bobbradley

New Issue Checklist

Describe the bug

If you use the "actor" keyword, it implicitly conforms to the "Actor" protocol, but SwiftLint still warns about not documenting public properties from the Actor protocol. For example, if you provide a public "unownedExecutor", it warns about it not documenting it. But if you explicitly conform to "Actor" then it doesn't warn.

It seems like SwiftLint should treat actors as if they explicitly specified they conform to the "Actor" protocol.

Generates warnings

/// Documentation for MyActor.
public final actor MyActor {
    public nonisolated var unownedExecutor: UnownedSerialExecutor { ... } // Warns here
}

No warnings

/// Documentation for MyActor.
public final actor MyActor: Actor {
    public nonisolated var unownedExecutor: UnownedSerialExecutor { ... }
}
Complete output when running SwiftLint, including the stack trace and command used
$ swiftlint lint

Environment

  • SwiftLint version (run swiftlint version to be sure)? 0.53.0
  • Installation method used (Homebrew, CocoaPods, building from source, etc)? homebrew
  • Paste your configuration file:
opt_in_rules:
  - missing_docs
  • Are you using nested configurations?
    No

  • Which Xcode version are you using (check xcodebuild -version)?
    Invoking SwiftLint directly.

  • Do you have a sample that shows the issue?
    Pasted above.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementIdeas for improvements of existing features and rules.good first issueIssue to be taken up by new contributors yet unfamiliar with the project.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions