Skip to content

Commit fcd05bd

Browse files
beef331narimiran
authored andcommitted
StringStreams no longer errors when intialized with literals on arc/orc (#19708)
(cherry picked from commit 26acc97)
1 parent d38177b commit fcd05bd

File tree

2 files changed

+4
-0
lines changed

2 files changed

+4
-0
lines changed

lib/pure/streams.nim

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1271,6 +1271,8 @@ else: # after 1.3 or JS not defined
12711271

12721272
new(result)
12731273
result.data = s
1274+
when defined(gcOrc) or defined(gcArc):
1275+
prepareMutation(result.data) # Allows us to mutate using `addr` logic like `copyMem`, otherwise it errors.
12741276
result.pos = 0
12751277
result.closeImpl = ssClose
12761278
result.atEndImpl = ssAtEnd

tests/stdlib/tstreams.nim

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,3 +74,5 @@ block:
7474
doAssert(ss.peekLine(str))
7575
doAssert(str == "uick brown fox jumped over the lazy dog.")
7676
doAssert(ss.getPosition == 5) # haven't moved
77+
ss.setPosition(0) # Ensure we dont error with writing over literals on arc/orc #19707
78+
ss.write("hello")

0 commit comments

Comments
 (0)