* fix #14157 * Update compiler/jsgen.nim * add changelog * Update compiler/jsgen.nim * Update tests/js/tmodify_cstring.nim Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
This commit is contained in:
parent
826e62953f
commit
1f9bf43100
3 changed files with 12 additions and 0 deletions
|
|
@ -35,6 +35,8 @@
|
|||
|
||||
## Language changes
|
||||
|
||||
- The `cstring` doesn't support `[]=` operator in JS backend.
|
||||
|
||||
|
||||
|
||||
## Compiler changes
|
||||
|
|
|
|||
|
|
@ -1049,6 +1049,10 @@ proc genAsgnAux(p: PProc, x, y: PNode, noCopyNeeded: bool) =
|
|||
var a, b: TCompRes
|
||||
var xtyp = mapType(p, x.typ)
|
||||
|
||||
# disable `[]=` for cstring
|
||||
if x.kind == nkBracketExpr and x.len >= 2 and x[0].typ.skipTypes(abstractInst).kind == tyCString:
|
||||
localError(p.config, x.info, "cstring doesn't support `[]=` operator")
|
||||
|
||||
gen(p, x, a)
|
||||
genLineDir(p, y)
|
||||
gen(p, y, b)
|
||||
|
|
|
|||
6
tests/js/tmodify_cstring.nim
Normal file
6
tests/js/tmodify_cstring.nim
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
discard """
|
||||
errormsg: "cstring doesn't support `[]=` operator"
|
||||
"""
|
||||
|
||||
var x = cstring"abcd"
|
||||
x[0] = 'x'
|
||||
Loading…
Add table
Add a link
Reference in a new issue