They are just pointer,size but the semantics of the language are such that they're memory safe.- In Nim 1.x without the --experimental:views option, openArrays are only usable as parameters. You cannot hold onto an openArray, therefore it cannot outlive the array/sequence whose data it refers to.
- In future Nim when views become non-experimental, you will be able to have openArray fields and variables, but there will be some form of borrow checking to ensure that they don't outlive the location they borrowed from.
I believe the term "open array" comes from Oberon, which is one of the languages that influenced Nim, but I'm not super familiar with it.