-
Notifications
You must be signed in to change notification settings - Fork 499
/
Copy paths.swift
96 lines (77 loc) · 2.18 KB
/
s.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
//
// s.swift
// RxDataSources
//
// Created by Krunoslav Zaher on 11/26/16.
// Copyright © 2016 kzaher. All rights reserved.
//
import Foundation
import Differentiator
import RxDataSources
/**
Test section. Name is so short for readability sake.
*/
struct s {
let identity: Int
let items: [i]
}
extension s {
init(_ identity: Int, _ items: [i]) {
self.identity = identity
self.items = items
}
}
extension s: AnimatableSectionModelType {
typealias Item = i
init(original: s, items: [Item]) {
self.identity = original.identity
self.items = items
}
}
extension s: Equatable {
}
func == (lhs: s, rhs: s) -> Bool {
return lhs.identity == rhs.identity && lhs.items == rhs.items
}
extension s: CustomDebugStringConvertible {
var debugDescription: String {
let itemDescriptions = items.map { "\n \($0)," }.joined(separator: "")
return "s(\(identity),\(itemDescriptions)\n)"
}
}
struct sInvalidInitializerImplementation1 {
let identity: Int
let items: [i]
init(_ identity: Int, _ items: [i]) {
self.identity = identity
self.items = items
}
}
func == (lhs: sInvalidInitializerImplementation1, rhs: sInvalidInitializerImplementation1) -> Bool {
return lhs.identity == rhs.identity && lhs.items == rhs.items
}
extension sInvalidInitializerImplementation1: AnimatableSectionModelType, Equatable {
typealias Item = i
init(original: sInvalidInitializerImplementation1, items: [Item]) {
self.identity = original.identity
self.items = items + items
}
}
struct sInvalidInitializerImplementation2 {
let identity: Int
let items: [i]
init(_ identity: Int, _ items: [i]) {
self.identity = identity
self.items = items
}
}
extension sInvalidInitializerImplementation2: AnimatableSectionModelType, Equatable {
typealias Item = i
init(original: sInvalidInitializerImplementation2, items: [Item]) {
self.identity = -1
self.items = items
}
}
func == (lhs: sInvalidInitializerImplementation2, rhs: sInvalidInitializerImplementation2) -> Bool {
return lhs.identity == rhs.identity && lhs.items == rhs.items
}