lean4-htt/tests/compiler
Markus Himmel fa5d08b7de
refactor: use String.Slice in String.take and variants (#11180)
This PR redefines `String.take` and variants to operate on
`String.Slice`. While previously functions returning a substring of the
input sometimes returned `String` and sometimes returned
`Substring.Raw`, they now uniformly return `String.Slice`.

This is a BREAKING change, because many functions now have a different
return type. So for example, if `s` is a string and `f` is a function
accepting a string, `f (s.drop 1)` will no longer compile because
`s.drop 1` is a `String.Slice`. To fix this, insert a call to `copy` to
restore the old behavior: `f (s.drop 1).copy`.

Of course, in many cases, there will be more efficient options. For
example, don't write `f <| s.drop 1 |>.copy |>.dropEnd 1 |>.copy`, write
`f <| s.drop 1 |>.dropEnd 1 |>.copy` instead. Also, instead of `(s.drop
1).copy = "Hello"`, write `s.drop 1 == "Hello".toSlice` instead.
2025-11-18 16:13:48 +00:00
..
foreign
.gitignore
534.lean
534.lean.expected.out
append.lean
append.lean.expected.out chore(tests/compiler/append): add expected output 2019-02-09 20:02:26 +01:00
arity_bug1.lean
arity_bug1.lean.expected.out
array.lean
array.lean.expected.out
array_test.lean
array_test.lean.expected.out
array_test2.lean
array_test2.lean.expected.out
arrayMk.lean
arrayMk.lean.expected.out
bigctor.lean
bigctor.lean.expected.out
bytearray_bug.lean
bytearray_bug.lean.expected.out
closure_bug1.lean
closure_bug1.lean.expected.out
closure_bug2.lean
closure_bug2.lean.expected.out
closure_bug3.lean
closure_bug3.lean.expected.out
closure_bug4.lean
closure_bug4.lean.expected.out
closure_bug5.lean
closure_bug5.lean.expected.out
closure_bug6.lean
closure_bug6.lean.expected.out
closure_bug7.lean
closure_bug7.lean.expected.out
closure_bug8.lean
closure_bug8.lean.expected.out
computedFieldsExtern.lean.no_interpreter
escape.lean
escape.lean.expected.out
expr.lean
expr.lean.expected.out
extractClosedMutualBlock.lean
extractClosedMutualBlock.lean.expected.out
float.lean
float.lean.expected.out
float_cases_bug.lean
float_cases_bug.lean.expected.out
init.lean
init.lean.expected.out feat: expand initialize macro 2020-10-10 08:23:49 -07:00
init.lean.no_interpreter
initUnboxed.lean
initUnboxed.lean.expected.out
initUnboxed.lean.no_interpreter
large_closure_bug.lean
large_closure_bug.lean.expected.out
lazylist.lean
lazylist.lean.expected.out
lazylist.lean.no_interpreter
link_lake.lean
link_lake.lean.expected.out
map_big.lean chore: remove new_frontend from tests 2020-10-25 09:16:38 -07:00
map_big.lean.expected.out
map_big.lean.no_interpreter
nat_shiftr.lean
nat_shiftr.lean.expected.out
overflow1.lean
overflow1.lean.expected.out
overflow2.lean fix: panic in monadic polymorphic code 2021-09-28 17:46:19 -07:00
overflow2.lean.expected.out
overflow3.lean
overflow3.lean.expected.out
partial.lean
partial.lean.expected.out
phashmap.lean
phashmap.lean.expected.out
phashmap2.lean
phashmap2.lean.expected.out
phashmap3.lean
phashmap3.lean.expected.out
print_error.lean
print_error.lean.expected.out
print_error.lean.expected.ret
qsortBadLt.lean
qsortBadLt.lean.expected.out
rbmap_library.lean
rbmap_library.lean.expected.out
reduceArity_overapp.lean
reduceArity_overapp.lean.expected.out
reusebug.lean
reusebug.lean.expected.out
StackOverflow.lean
StackOverflow.lean.expected.out feat: detect stack overflows on all platforms and threads 2020-05-04 11:11:11 +02:00
StackOverflow.lean.expected.ret
StackOverflow.lean.no_interpreter
StackOverflowTask.lean
StackOverflowTask.lean.expected.out
StackOverflowTask.lean.expected.ret
StackOverflowTask.lean.no_interpreter
str.lean
str.lean.expected.out
strictAndOr.lean
strictAndOr.lean.expected.out
strictOrSimp.lean.expected.out
t1.lean
t1.lean.expected.out
t2.lean
t2.lean.expected.out
t4.lean
t4.lean.expected.out
test_single.sh
test_single_interpret.sh
thunk.lean
thunk.lean.expected.out
trie.lean
trie.lean.expected.out
trigraphs.lean
trigraphs.lean.expected.out
tuple.lean
tuple.lean.expected.out
typeFormerPolymorphism.lean
typeFormerPolymorphism.lean.expected.out
uint_fold.lean
uint_fold.lean.expected.out
unreachable.lean
unreachable.lean.expected.out
uset.lean
uset.lean.expected.out
utf8Path.lean
utf8Path.lean.expected.out
wait_dedicated.lean
wait_dedicated.lean.expected.out