File tree Expand file tree Collapse file tree 6 files changed +73
-5
lines changed
test/Incremental/Fingerprints
Inputs/extension-changes-member Expand file tree Collapse file tree 6 files changed +73
-5
lines changed Original file line number Diff line number Diff line change
1
+ public struct S {
2
+ private
3
+ static func foo( _ i: Int ) { print ( " 1: other:2 commented out " ) }
4
+ }
5
+ extension S {
6
+ // private // commented out to ensure we see a change to the fingerprint
7
+ static func foo2( _ i: Int ) { print ( " 2: other:6 commented out " ) }
8
+ }
Original file line number Diff line number Diff line change
1
+ public struct S {
2
+ private // commenting out this line works
3
+ static func foo( _ i: Int ) { print ( " 1: other:2 commented out " ) }
4
+ }
5
+ extension S {
6
+ private // commenting out this line fails
7
+ static func foo2( _ i: Int ) { print ( " 2: other:6 commented out " ) }
8
+ }
Original file line number Diff line number Diff line change
1
+ extension S {
2
+ static func foo< I: SignedInteger > ( _ si: I ) {
3
+ print ( " 1: other:2 not commented out " )
4
+ }
5
+ static func foo2< I: SignedInteger > ( _ si: I ) {
6
+ print ( " 2: other:6 not commented out " )
7
+ }
8
+ }
9
+
10
+ S . foo ( 3 )
11
+ S . foo2 ( 3 )
Original file line number Diff line number Diff line change
1
+ {
2
+ "main.swift" : {
3
+ "object" : " ./main.o" ,
4
+ "swift-dependencies" : " ./main.swiftdeps"
5
+ },
6
+ "definesS.swift" : {
7
+ "object" : " ./definesS.o" ,
8
+ "swift-dependencies" : " ./definesS.swiftdeps"
9
+ },
10
+ "" : {
11
+ "swift-dependencies" : " ./main~buildrecord.swiftdeps"
12
+ }
13
+ }
14
+
Original file line number Diff line number Diff line change 1
- // Test per-type-body fingerprints using simple extensions
2
- //
3
- // If the parser is allowed to use a body fingerprint for an extension
4
- // this test will fail because usesA.swift won't be recompiled for the
5
- // last step.
1
+ // Test that adding an overloaded member to an extension causes the users
2
+ // depending on that extension to rebuild.
6
3
7
4
// Establish status quo
8
5
Original file line number Diff line number Diff line change
1
+ // Test that moving an overloaded member from one extension to another forces a
2
+ // rebuild of existing users. We do not strictly need this behavior to occur in
3
+ // all cases, but it's good to be safe.
4
+
5
+ // Establish status quo
6
+
7
+ // RUN: %empty-directory(%t)
8
+ // RUN: cp %S/Inputs/extension-changes-member/* %t
9
+ // RUN: cp %t/definesS{-before,}.swift
10
+
11
+ // Seeing weird failure on CI, so set the mod times
12
+ // RUN: touch -t 200101010101 %t/*.swift
13
+
14
+ // RUN: cd %t && %target-swiftc_driver -enable-batch-mode -j2 -incremental -driver-show-incremental main.swift definesS.swift -module-name main -output-file-map ofm.json >& %t/output3
15
+
16
+ // Change one type, only uses of that type get recompiled
17
+
18
+ // RUN: cp %t/definesS{-after,}.swift
19
+
20
+ // Seeing weird failure on CI, so ensure that definesS.swift is newer
21
+ // RUN: touch -t 200201010101 %t/*
22
+ // RUN: touch -t 200101010101 %t/*.swift
23
+ // RUN: touch -t 200301010101 %t/definesS.swift
24
+
25
+ // RUN: cd %t && %target-swiftc_driver -enable-batch-mode -j2 -incremental -driver-show-incremental main.swift definesS.swift -module-name main -output-file-map ofm.json >& %t/output4
26
+
27
+ // RUN: %FileCheck -check-prefix=CHECK-RECOMPILED-W %s < %t/output4
28
+
29
+ // CHECK-RECOMPILED-W: {compile: definesS.o <= definesS.swift}
30
+ // CHECK-RECOMPILED-W: {compile: main.o <= main.swift}
You can’t perform that action at this time.
0 commit comments