Files
swift-mirror/test/Interop/Cxx/foreign-reference/no-ctor-errors.swift
zoecarver 8df9fca041 [cxx-interop] Don't import constructors of foreign reference types.
The logic is here for this in the importer, which means the module interface tests make it appear that the behavior is correct, but lazy member lookup still finds the constructors, so this patch fixes that part.
2022-08-25 10:45:12 -07:00

25 lines
620 B
Swift

// RUN: rm -rf %t
// RUN: split-file %s %t
// RUN: not %target-swift-frontend -typecheck -I %t/Inputs %t/test.swift -enable-experimental-cxx-interop 2>&1 | %FileCheck %s
//--- Inputs/module.modulemap
module Test {
header "test.h"
requires cplusplus
}
//--- Inputs/test.h
struct
__attribute__((swift_attr("import_reference")))
__attribute__((swift_attr("retain:immortal")))
__attribute__((swift_attr("release:immortal")))
HasCtor {
HasCtor(int a) {}
};
//--- test.swift
import Test
// CHECK: error: 'HasCtor' cannot be constructed because it has no accessible initializers
let x = HasCtor(42)