I'm in the process of updating some code to use Xcode 13.3 and came across some new warnings that I'm unsure how to remove. Here's the gist of the code:

struct Link: Codable {
    let href: URL
}

struct FooLinks: Codable {
    let `self`: Link // <--- this is the culprit
}

struct Foo: Codable {
    let links: FooLinks
}

The warnings don't show up in the editor, only in the build log, and are as follows:

<unknown>:0: warning: 'self' refers to the method 'Foo.FooLinks.CodingKeys.self', which may be unexpected
<unknown>:0: note: use 'Foo.FooLinks.CodingKeys.self' to silence this warning
<unknown>:0: warning: 'self' refers to the method 'Foo.FooLinks.self', which may be unexpected
<unknown>:0: note: use 'Foo.FooLinks.self' to silence this warning
<unknown>:0: warning: 'self' refers to the method 'Foo.FooLinks.self', which may be unexpected
<unknown>:0: note: use 'Foo.FooLinks.self' to silence this warning

None of the suggested fixes make any sense to me. Is there a way to get rid of the warnings without renaming the offending self property?

1

There are 1 best solutions below

0
On BEST ANSWER

This issue has been resolved in Xcode 14.0 beta