swiftlang/swift

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

开放

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

 (6 条评论) (0 个反应) (1 位负责人)Swift (10,719 个派生)batch import
bugcompilerdiagnostics qualitygood first issuetype checker

仓库指标

星标
 (69,989 个星标)
PR 合并指标
 (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.

贡献者指南