diff options
author | metagn <metagngn@gmail.com> | 2024-09-27 16:34:09 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-27 15:34:09 +0200 |
commit | 821d0806feb3648ced5809a78b07581ea3bd7880 (patch) | |
tree | f8d6e773d730e0c390626df0c8db6835c8149f78 /compiler | |
parent | 2cdc0e913fc6d7b3486b907de502faa508820c42 (diff) | |
download | Nim-821d0806feb3648ced5809a78b07581ea3bd7880.tar.gz |
Revert "make default values typed in proc AST same as param sym AST" (#24191)
Reverts #24184, reopens #12942, reopens #19118 #24184 seems to have caused a regression in https://github.com/c-blake/thes and https://github.com/c-blake/bu/blob/main/rp.nim#L84 reproducible with `git clone https://github.com/c-blake/cligen; git clone https://github.com/c-blake/thes; cd thes; nim c -p=../cligen thes`. Changing the `const` to `let` makes it compile. A minimization that is probably the same issue is: ```nim const a: seq[string] = @[] proc foo(x = a) = echo typeof(x) echo x import macros macro resemFoo() = result = getImpl(bindSym"foo") block: resemFoo() # Error: cannot infer the type of parameter 'x' ``` This should be a regression test in a future reimplementation of #24184.
Diffstat (limited to 'compiler')
-rw-r--r-- | compiler/semtypes.nim | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/compiler/semtypes.nim b/compiler/semtypes.nim index 25ce73b51..857521232 100644 --- a/compiler/semtypes.nim +++ b/compiler/semtypes.nim @@ -1409,8 +1409,6 @@ proc semProcTypeNode(c: PContext, n, genericParams: PNode, elif typ.kind == tyStatic: def = semConstExpr(c, def) def = fitNode(c, typ, def, def.info) - # keep proc AST updated - a[^1] = def if not hasType and not hasDefault: if isType: localError(c.config, a.info, "':' expected") |