!7 set flag OurSubLists. set flag NoIllegalAccesses. module > DynTestModule { void test { LS list = ll("a", "b", "a", "b"); LS sublist = subList(list, 2, 4); // Note that we couldn't find this out without the magic trick // (comparison by elements would yield 0 instead of 2). assertEqualsVerbose("Index", 2, magicIndexOfSubList(list, sublist)); assertEqualsVerbose("Index", 0, magicIndexOfSubList(list, list)); LS sublist2 = subList(sublist, 1, 2); print(className(sublist2)); assertEqualsVerbose("Index", 1, magicIndexOfSubList(sublist, sublist2)); assertEqualsVerbose("Index", 3, magicIndexOfSubList(list, sublist2)); assertEqualsVerbose("Index", -1, magicIndexOfSubList(list, subList(ll("a", "b"), 0, 1))); } }