-
Notifications
You must be signed in to change notification settings - Fork 552
/
scan
93 lines (77 loc) · 846 Bytes
/
scan
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
# scan works on an empty engine, even when given indexes.
scan
scan 3..7
---
<empty>
<empty>
# Append a few entries.
set_term 1
append
append foo
set_term 2
append bar
---
append → 1@1 None
append → 2@1 foo
append → 3@2 bar
# Full scan.
scan
---
1@1 None
2@1 foo
3@2 bar
# Start bound.
scan 2..
---
2@1 foo
3@2 bar
scan 4..
---
<empty>
scan 0..
---
1@1 None
2@1 foo
3@2 bar
# End bound.
scan "..2"
---
1@1 None
scan "..=2"
---
1@1 None
2@1 foo
scan "..7"
---
1@1 None
2@1 foo
3@2 bar
scan "..1"
---
<empty>
scan "..0"
---
<empty>
# Both bounds.
scan 1..2
---
1@1 None
scan "1..=2"
---
1@1 None
2@1 foo
scan 0..7
---
1@1 None
2@1 foo
3@2 bar
scan 1..1
---
<empty>
# Bounds panics.
!scan 1..0
---
Panic: range start is greater than range end in BTreeMap
!scan 7..3
---
Panic: range start is greater than range end in BTreeMap