1234567891011121314151617181920212223242526272829303132333435363738 |
- discard """
- cmd: "nim c --experimental:views $file"
- output: '''(data: [1, 2, 3], other: 4)
- [1, 20, 3]'''
- """
- type
- Foo = object
- data: openArray[int]
- other: int
- const
- c = Foo(data: [1, 2, 3], other: 4)
- c2 = Foo(data: [1, 20, 3], other: 4)
- proc `$`(x: openArray[int]): string =
- result = "["
- for i in x:
- if result.len > 1: result.add ", "
- result.add $i
- result.add "]"
- echo c
- echo c2.data
- type MyObj = object
- data: openarray[char]
- const
- val1 = Foo(data: toOpenArray([1, 2, 3], 1, 1))
- val2 = Foo(data: toOpenArray([1, 2, 3], 0, 2))
- val3 = MyObj(data: "Hello".toOpenArray(0, 2))
- assert val1.data == [2]
- assert val2.data == [1, 2, 3]
- assert val3.data == "Hel"
|