Files
swift-mirror/test/embedded/classes-non-final-method-no-stdlib.swift
Doug Gregor 844ba5f4f8 [Embedded] Diagnose non-final generic methods in class in the type checker
Move the diagnostic about non-final generic methods in classes up to
the type checker, so that it is available to `-Wwarning
EmbeddedRestrictions` and earlier in the pipeline. The SIL version of
this is still available as a backstop.

Yet another part of rdar://133874555.
2025-09-18 10:05:33 -07:00

36 lines
782 B
Swift

// RUN: %target-swift-emit-ir -verify %s -parse-stdlib -enable-experimental-feature Embedded -target arm64e-apple-none -wmo
// REQUIRES: swift_in_compiler
// REQUIRES: swift_feature_Embedded
public class MyClass {
public func foo<T>(t: T) { } // expected-error {{generic instance method 'foo(t:)' in a class must be 'final' in Embedded Swift}}
public func bar() { }
}
final class C2<Element> {
init<T>(x: T) { }
}
struct S {}
public func testMyClass(_ c: MyClass) {
c.foo(t: S())
c.bar()
}
func testit2() -> C2<S> {
return C2(x: S())
}
open class C3<X> {
public func foo<T>(t: T) {} // expected-error {{generic instance method 'foo(t:)' in a class must be 'final' in Embedded Swift}}
}
func testit3() -> C3<S> {
let c = C3<S>()
c.foo(t: S())
return c
}