Open GloamZz opened 2 years ago
Message that will be displayed on users' first issue
For example
I diff [1, 2, 3, 4, 5] to [1]
I will get changes in order that [.delete(Index1), .delete(Index2), , .delete(Index3), , .delete(Index4)]
I traverse the changes in order
for change in changes { if case let .delete(delete) = change { old.remove(at: delete.index) } }
I will get crashed when remove index3 because of out of range.
Of course, I can sort the changes by index. But I can't convert the old to the new if the changes mixed with insert&move
In my situation, I make diffing between two different classes packaged by the same enum. As: enum PackagingEnum: DiffAware { case a(ClassA) case b(ClassB)
} in this case, I want to make diffing [ClassA] to [ClassB] via DeepDiff.
but when I get the changes by 'diff(old: [Enum-B], new: [Enum-A])'
I traverse the changes, and invoke 'insert/remove/move' in [Enum-B](the old), I get crashed because of 'Out of Range'