Skip to content

Suspected "conflicting type declarations" #1396

Open
@SimplyDanny

Description

I found a few issues mentioning this problem as well, yet they are more focused on the documentation aspect of this warning printed by Jazzy:

Found conflicting type declarations with the same name, which may indicate a build issue or a bug in Jazzy: instance method print(), instance method print()

The code causing this looks like:

/// A protocol
public protocol Printable {
    /// A method
    func print()
}

public extension Printable where Self: CustomStringConvertible {
   func print() {
       Swift.print(self)
   }
}

Other than that, Jazzy reports 100% documentation coverage with 0 undocumented symbols and included 4 public or open symbols. So it seems to be happy with the fact that the print implementation in the extension is undocumented even though it has discovered it. It also doesn't create any documentation for it.

Now, if I document the print implementation like

public extension Printable where Self: CustomStringConvertible {
   /// A method implementation
   func print() {
       Swift.print(self)
   }
}

the warning doesn't appear in the output and the method get its own section in the documentation.

So the documentation side seems to be okay and reasonable. However, the warning is still there in the first case. This is what I want to address in this report.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions