1234567891011121314151617181920212223242526272829 |
- discard """
- output: '''12'''
- """
- {.emit: """
- NI sum(NI* a, NI len) {
- NI i, result = 0;
- for (i = 0; i < len; ++i) result += a[i];
- return result;
- }
- """.}
- proc sum(a: ptr int; len: int): int {.importc, nodecl.}
- proc main =
- let foo = [8, 3, 1]
- echo sum(unsafeAddr foo[0], foo.len)
- # bug #3736
- proc p(x: seq[int]) = discard x[0].unsafeAddr # works
- proc q(x: seq[SomeInteger]) = discard x[0].unsafeAddr # doesn't work
- p(@[1])
- q(@[1])
- main()
|