Skip to content

value of type has no member 'quickLookPreview' #73048

Open
@paukala

Description

@paukala

Description

Compilation of a source file containing .quickLookPreview() leads to the following error:

ExampleViewModifier.swift:8:17: error: value of type 'ExampleViewModifier.Content' (aka '_ViewModifier_Content<ExampleViewModifier>') has no member 'quickLookPreview'
        content.quickLookPreview($quickLookItem)
        ~~~~~~~ ^~~~~~~~~~~~~~~~
error: fatalError

Reproduction

ExampleViewModifier.swift

import SwiftUI
import QuickLook

struct ExampleViewModifier: ViewModifier {
    @State private var quickLookItem: URL?

    func body(content: Content) -> some View {
        content.quickLookPreview($quickLookItem)
    }
}
$ xcrun -toolchain org.swift.5101202403041a swiftc ExampleViewModifier.swift

org.swift.5101202403041a is a toolchain built from the swift-5.10-RELEASE tag downloaded from here: https://download.swift.org/swift-5.10-release/xcode/swift-5.10-RELEASE/swift-5.10-RELEASE-osx.pkg
However, also other versions seem to produce the same error.

Expected behavior

Compiles successfully, i.e. same behaviour as when using toolchain distributed as part of Xcode 15.3:

$ swiftc --version
swift-driver version: 1.90.11.1 Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4)
Target: arm64-apple-macosx14.0

$ swiftc ExampleViewModifier.swift
<exit code 0>

Environment

$ xcrun -toolchain org.swift.5101202403041a swiftc --version
Apple Swift version 5.10 (swift-5.10-RELEASE)
Target: arm64-apple-macosx14.0

Additional information

When passing the -Rmodule-loading flag to swiftc, some differences in regards to the loaded modules can be observed:

Toolchain shipped with Xcode 15.3
$ swiftc ExampleViewModifier.swift -Rmodule-loading
...

ExampleViewModifier.swift:2:8: remark: loaded module 'QuickLook'; source: '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.4.sdk/System/Library/Frameworks/QuickLook.framework/Modules/module.modulemap', loaded: '/var/folders/jh/vhc819237asdhjauw_0auqw20000gn/C/clang/ModuleCache/2BQW784XUIRDS/QuickLook-1TH8O9AVEIM3C.pcm'
import QuickLook
       ^
ExampleViewModifier.swift:2:8: remark: '_QuickLook_SwiftUI' has a required transitive dependency on 'Quartz'
import QuickLook
       ^
<unknown>:0: remark: 'QuickLookUI' has a required transitive dependency on 'PDFKit'
<unknown>:0: remark: loaded module 'PDFKit'; source: '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.4.sdk/System/Library/Frameworks/PDFKit.framework/Modules/module.modulemap', loaded: '/var/folders/jh/vhc819237asdhjauw_0auqw20000gn/C/clang/ModuleCache/2BQW784XUIRDS/PDFKit-398FJ8DT2QBNH.pcm'
<unknown>:0: remark: 'QuickLookUI' has a required transitive dependency on 'QuickLookUI'
<unknown>:0: remark: 'QuickLookUI' has a required transitive dependency on 'Swift'
<unknown>:0: remark: 'QuickLookUI' has a required transitive dependency on '_Concurrency'
<unknown>:0: remark: 'QuickLookUI' has a required transitive dependency on '_StringProcessing'
<unknown>:0: remark: 'QuickLookUI' has a required transitive dependency on '_SwiftConcurrencyShims'
<unknown>:0: remark: loaded module 'QuickLookUI' (overlay for a clang dependency); source: '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.4.sdk/usr/lib/swift/QuickLookUI.swiftmodule/arm64e-apple-macos.swiftinterface', loaded: '/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/macosx/prebuilt-modules/14.4/QuickLookUI.swiftmodule/arm64e-apple-macos.swiftmodule'
<unknown>:0: remark: loaded module 'Quartz'; source: '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.4.sdk/System/Library/Frameworks/Quartz.framework/Modules/module.modulemap', loaded: '/var/folders/jh/vhc819237asdhjauw_0auqw20000gn/C/clang/ModuleCache/2BQW784XUIRDS/Quartz-154VNH160KV8P.pcm'
ExampleViewModifier.swift:2:8: remark: '_QuickLook_SwiftUI' has a required transitive dependency on 'QuickLook'
import QuickLook
       ^
ExampleViewModifier.swift:2:8: remark: '_QuickLook_SwiftUI' has a required transitive dependency on 'Swift'
import QuickLook
       ^
ExampleViewModifier.swift:2:8: remark: '_QuickLook_SwiftUI' has a required transitive dependency on 'SwiftUI'
import QuickLook
       ^
ExampleViewModifier.swift:2:8: remark: '_QuickLook_SwiftUI' has a required transitive dependency on '_Concurrency'
import QuickLook
       ^
ExampleViewModifier.swift:2:8: remark: '_QuickLook_SwiftUI' has a required transitive dependency on '_StringProcessing'
import QuickLook
       ^
ExampleViewModifier.swift:2:8: remark: '_QuickLook_SwiftUI' has a required transitive dependency on '_SwiftConcurrencyShims'
import QuickLook
       ^
ExampleViewModifier.swift:2:8: remark: loaded module '_QuickLook_SwiftUI'; source: '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.4.sdk/System/Library/Frameworks/_QuickLook_SwiftUI.framework/Modules/_QuickLook_SwiftUI.swiftmodule/arm64e-apple-macos.swiftinterface', loaded: '/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/macosx/prebuilt-modules/14.4/_QuickLook_SwiftUI.swiftmodule/arm64e-apple-macos.swiftmodule'
import QuickLook
       ^
"Open source" toolchain `org.swift.5101202403041a`
$ xcrun -toolchain org.swift.5101202403041a swiftc ExampleViewModifier.swift -Rmodule-loading
...

ExampleViewModifier.swift:2:8: remark: loaded module 'QuickLook'; source: '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.4.sdk/System/Library/Frameworks/QuickLook.framework/Modules/module.modulemap', loaded: '/var/folders/jh/vhc819237asdhjauw_0auqw20000gn/C/clang/ModuleCache/3MN83M481CP0T/QuickLook-1TH8O9AVEIM3C.pcm'
import QuickLook
       ^
ExampleViewModifier.swift:8:17: error: value of type 'ExampleViewModifier.Content' (aka '_ViewModifier_Content<ExampleViewModifier>') has no member 'quickLookPreview'
        content.quickLookPreview($quickLookItem)
        ~~~~~~~ ^~~~~~~~~~~~~~~~
error: fatalError

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugA deviation from expected or documented behavior. Also: expected but undesirable behavior.swift 5.10toolchainunexpected errorBug: Unexpected error

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions