mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
Merge pull request #65845 from nate-chandler/eagermove_language_feature
[AST] Added language feature for @_eagerMove.
This commit is contained in:
35
test/ModuleInterface/feature-LexicalLifetimes.swift
Normal file
35
test/ModuleInterface/feature-LexicalLifetimes.swift
Normal file
@@ -0,0 +1,35 @@
|
||||
// RUN: %empty-directory(%t)
|
||||
|
||||
// RUN: %target-swift-emit-module-interface(%t/FeatureTest.swiftinterface) %s -module-name FeatureTest -disable-availability-checking
|
||||
// RUN: %target-swift-typecheck-module-from-interface(%t/FeatureTest.swiftinterface) -module-name FeatureTest -disable-availability-checking
|
||||
// RUN: %FileCheck %s < %t/FeatureTest.swiftinterface
|
||||
|
||||
// CHECK: #if compiler(>=5.3) && $LexicalLifetimes
|
||||
// CHECK-NEXT: @_noEagerMove public struct Permanent {
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: #else
|
||||
// CHECK-NEXT: public struct Permanent {
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: #endif
|
||||
@_noEagerMove
|
||||
public struct Permanent {}
|
||||
|
||||
// CHECK: #if compiler(>=5.3) && $LexicalLifetimes
|
||||
// CHECK-NEXT: @_hasMissingDesignatedInitializers @_eagerMove public class Transient {
|
||||
// CHECK-NEXT: deinit
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: #else
|
||||
// CHECK-NEXT: @_hasMissingDesignatedInitializers public class Transient {
|
||||
// CHECK-NEXT: deinit
|
||||
// CHECK-NEXT: }
|
||||
// CHECK-NEXT: #endif
|
||||
@_eagerMove
|
||||
public class Transient {}
|
||||
|
||||
// CHECK: #if compiler(>=5.3) && $LexicalLifetimes
|
||||
// CHECK-NEXT: @_lexicalLifetimes public func lexicalInAModuleWithoutLexicalLifetimes(_ t: FeatureTest.Transient)
|
||||
// CHECK-NEXT: #else
|
||||
// CHECK-NEXT: public func lexicalInAModuleWithoutLexicalLifetimes(_ t: FeatureTest.Transient)
|
||||
// CHECK-NEXT: #endif
|
||||
@_lexicalLifetimes
|
||||
public func lexicalInAModuleWithoutLexicalLifetimes(_ t: Transient) {}
|
||||
Reference in New Issue
Block a user