| 1 | interface Value {} |
| 2 | |
| 3 | fn parse_verb(v Value) !Value { |
| 4 | match v { |
| 5 | string { |
| 6 | if v.len < 4 || (v.len >= 4 && v[3] != `:`) { |
| 7 | return error('bad verb') |
| 8 | } |
| 9 | return v[4..] |
| 10 | } |
| 11 | else { |
| 12 | return v |
| 13 | } |
| 14 | } |
| 15 | } |
| 16 | |
| 17 | fn test_interface_match_string_slice_regression() { |
| 18 | got := parse_verb('txt:hello') or { panic(err) } |
| 19 | assert got as string == 'hello' |
| 20 | } |
| 21 |