Неустранимая ошибка: только BidirectionCollections может быть продвинут на отрицательную величину - PullRequest
0 голосов
/ 01 сентября 2018

Как преобразовать массив в набор с помощью Xcode Playground? Мы попробовали:

let a = Array(0 ..< 1000)
let s = Set(a)

Это производит во время выполнения:

Неустранимая ошибка: только BidirectionalCollections может быть продвинут на отрицательную величину

Проблема возникает как с игровой площадкой Xcode 9.4, так и с игровой площадкой Xcode 10 beta 3.

1 Ответ

0 голосов
/ 01 сентября 2018

Это исправлено в Xcode 10 beta 6 и новее, поэтому я обновил обходной путь, чтобы применять его только к более старым версиям Swift.


Для более старых версий Xcode (например, Xcode 9.4) это может быть вызвано количеством элементов, превышающим 100.

Обходной путь найден Карой Лорентей , чтобы настроить описание игровой площадки Set:

#if !swift(>=4.2)
extension Set: CustomPlaygroundDisplayConvertible {
    public var playgroundDescription: Any {
        return description
    }
}
#endif

let a = Array(0 ..< 1000)
let s = Set(a)

При этом не будет ошибок во время выполнения.

...