Files
swift-mirror/test/embedded/self-referential-managed-buffer.swift
T
Max Desiatov 33bc1be125 Embedded: fix OOM in swift-frontend with recursive generics (#88296)
**Explanation**: Provides an error diagnostic that notifies the user that recursive generics are not supported in Embedded Swift. This prevents current OOM behavior in `swift-frontend`.
**Scope**: limited to a rarely used pattern in Embedded Swift
**Risk**: low due to limited scope.
**Testing**: added new lit test
**Issue**: rdar://174011486
2026-04-06 22:57:00 +01:00

11 lines
610 B
Swift

// RUN: %target-swift-frontend -typecheck %s -enable-experimental-feature Embedded -verify
// REQUIRES: swift_in_compiler
// REQUIRES: swift_feature_Embedded
// Self-referential generic superclass should be diagnosed in Embedded Swift
// because it creates a circular metadata dependency.
final class Tree: ManagedBuffer<Int, Tree> { // expected-error {{class 'Tree' cannot inherit from 'ManagedBuffer<Int, Tree>' in Embedded Swift because a generic argument of the superclass refers to the subclass itself, creating a circular metadata dependency}}
var children: AnySequence<Tree> { AnySequence([]) }
}