File tree Expand file tree Collapse file tree 1 file changed +42
-0
lines changed Expand file tree Collapse file tree 1 file changed +42
-0
lines changed Original file line number Diff line number Diff line change
1
+ //===--- BridgedArrayNonContiguous.swift ----------------------------------===//
2
+ //
3
+ // This source file is part of the Swift.org open source project
4
+ //
5
+ // Copyright (c) 2025 Apple Inc. and the Swift project authors
6
+ // Licensed under Apache License v2.0 with Runtime Library Exception
7
+ //
8
+ // See https://swift.org/LICENSE.txt for license information
9
+ // See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
10
+ //
11
+ //===----------------------------------------------------------------------===//
12
+
13
+ // RUN: %target-run-stdlib-swift(-enable-experimental-feature Span) -enable-experimental-feature Span
14
+
15
+ // REQUIRES: executable_test
16
+ // REQUIRES: objc_interop
17
+ // REQUIRES: swift_feature_LifetimeDependence
18
+ // REQUIRES: swift_feature_Span
19
+
20
+ import StdlibUnittest
21
+
22
+ import Foundation
23
+
24
+ var suite = TestSuite ( " EagerLazyBridgingTests " )
25
+ defer { runAllTests ( ) }
26
+
27
+ var x : NSObject ? = nil
28
+
29
+ suite. test ( " Bridged NSArray without direct memory sharing " ) {
30
+
31
+ var arr = Array ( repeating: NSObject ( ) , count: 100 ) as [ AnyObject ]
32
+ let nsArray : NSArray = NSArray ( objects: & arr, count: 100 )
33
+ for _ in 0 ..< 5 {
34
+ let tmp = nsArray as! [ NSObject ]
35
+ x = tmp. withContiguousStorageIfAvailable {
36
+ $0 [ 0 ]
37
+ }
38
+ expectNotNil ( x)
39
+ }
40
+
41
+ x = nil
42
+ }
You can’t perform that action at this time.
0 commit comments