swiftlang/swift

"Instance member cannot be used on type" diagnostic message could be more specific

Open

#62,909 创建于 2023年1月8日

在 GitHub 查看
 (6 评论) (0 反应) (1 负责人)Swift (10,719 fork)batch import
bugcompilerdiagnostics qualitygood first issuetype checker

仓库指标

Star
 (69,989 star)
PR 合并指标
 (平均合并 8天 17小时) (30 天内合并 510 个 PR)

描述

Motivation

It took me far too long to understand why the compiler was giving me this error (I was quickly trying something a bit less trivial than this example involving async/await, and thought the issue was around the execution context):

@main public struct Scraper
{
    public static func main()
    {
        let data = fetch()     //  Instance member 'fetch' cannot be used on type 'Scraper'
                   ^~~~~
    }
    
    func fetch() -> Data
    {
        return Data()
    }
}

Solution

A more precise wording, something like "Instance method cannot be called from static context", would be much more helpful.

贡献者指南