// IGNORE_BACKEND: JS private object EmptyList : List { override fun contains(element: Nothing): Boolean = false override fun containsAll(elements: Collection): Boolean = elements.isEmpty() override fun indexOf(element: Nothing): Int = -2 override fun lastIndexOf(element: Nothing): Int = -2 override val size: Int get() = 0 override fun isEmpty(): Boolean = true override fun iterator(): Iterator = throw UnsupportedOperationException() override fun get(index: Int): Nothing = throw UnsupportedOperationException() override fun listIterator(): ListIterator = throw UnsupportedOperationException() override fun listIterator(index: Int): ListIterator = throw UnsupportedOperationException() override fun subList(fromIndex: Int, toIndex: Int): List = throw UnsupportedOperationException() } fun box(): String { val n = EmptyList as List if (n.contains("")) return "fail 1" if (n.indexOf("") != -1) return "fail 2" if (n.lastIndexOf("") != -1) return "fail 3" val nullAny = EmptyList as List if (nullAny.contains(null)) return "fail 4" if (nullAny.indexOf(null) != -1) return "fail 5" if (nullAny.lastIndexOf(null) != -1) return "fail 6" return "OK" }