Files
swift-mirror/test/SILGen/com-raw-pointer-errors.swift
Saleem Abdulrasool 624f151f2d SILGen: adopt raw pointers into COM-constrained generic values
Extend Builtin.takeFromRawPointer to COM-constrained archetypes. Take
ownership of the supplied reference without retaining it, whether the
result is represented as an address or an opaque SSA value.
2026-10-06 23:22:44 -07:00

14 lines
615 B
Swift

// RUN: %empty-directory(%t)
// RUN: %target-swift-frontend -enable-experimental-com-interop -module-name COM -emit-module-path %t/COM.swiftmodule %S/../Inputs/COM.swift
// RUN: %target-swift-frontend -enable-experimental-com-interop -enable-builtin-module -I %t -emit-silgen -verify %s
import Builtin
@com(interface: "51000000-0000-0000-0000-000000000001")
protocol IItem {}
func optional(_ pointer: Builtin.RawPointer) -> (any IItem)? {
Builtin.takeFromRawPointer(pointer)
// expected-error@-1 {{invalid use of builtin: takeFromRawPointer result must have an object or interface pointer representation}}
}