re: result.setLen(ms.size) doesn't compile with experimental:strictDefs anyway (the default for the Nim compiler itself). Run
Interesting... I would have thought the implicit _result_ was defined at proc invocation...so I'm not sure of the purpose of the generated **warning** (_yes _warning_ see below_). My primary concern is the **IndexDefect** The following revised test case is provided for your _enjoyment_ :-) **Test harness** {.experimental: "strictDefs".} import memfiles when defined ORIGINAL: # as per v2.0.8 distribution proc `$`*(ms: MemSlice): string {.inline.} = ## Return a Nim string built from a MemSlice. result.setLen(ms.size) copyMem(addr(result[0]), ms.data, ms.size) when defined FIX_STRICT: proc `$`*(ms: MemSlice): string {.inline.} = ## Return a Nim string built from a MemSlice. var stringCopy = newStringofCap(ms.size) copyMem(addr(stringCopy[0]), ms.data, ms.size) return stringCopy when defined FIX_STRICT_AND_INDEX_DEFECT: ## Return a Nim string built from a MemSlice. proc `$`*(ms: MemSlice): string {.inline.} = var stringCopy = newStringofCap(ms.size) copyMem(cast[pointer](stringCopy.cstring), ms.data, ms.size) return stringCopy var memSlice: MemSlice echo '"', memSlice, '"' Run **Run outputs** : dennismisener@Denniss-iMac nim % nim r --hints:off -d:ORIGINAL test.nim /Users/dennismisener/work/Nim/test.nim(30, 5) Warning: use explicit initialization of 'result' for clarity [Uninit] /Users/dennismisener/work/Nim/test.nim(48) test /Users/dennismisener/work/Nim/test.nim(31) $ /Users/dennismisener/.choosenim/toolchains/nim-2.0.8/lib/system/fatal.nim(53) sysFatal Error: unhandled exception: index out of bounds, the container is empty [IndexDefect] Error: execution of an external program failed: '/Users/dennismisener/.cache/nim/test_d/test_8CCE2A0870ED811731F82CA462C0169516801EBE' dennismisener@Denniss-iMac nim % nim r --hints:off -d:FIX_STRICT test.nim /Users/dennismisener/work/Nim/test.nim(48) test /Users/dennismisener/work/Nim/test.nim(37) $ /Users/dennismisener/.choosenim/toolchains/nim-2.0.8/lib/system/fatal.nim(53) sysFatal Error: unhandled exception: index out of bounds, the container is empty [IndexDefect] Error: execution of an external program failed: '/Users/dennismisener/.cache/nim/test_d/test_0456A2BEC846E58ECC3E8ADAFE7FAF30EFE9A87D' dennismisener@Denniss-iMac nim % nim r --hints:off -d:FIX_STRICT_AND_INDEX_DEFECT test.nim "" Run