From 38ef961f902b53c2285b2783b03fea5cbf580523 Mon Sep 17 00:00:00 2001 From: metagn Date: Fri, 27 Sep 2024 15:11:16 +0300 Subject: [PATCH] Revert "make default values typed in proc AST same as param sym AST (#24184)" This reverts commit c21bf7f41babcdb049c54d4e148883606764947e. --- compiler/semtypes.nim | 2 - tests/errmsgs/tunknown_named_parameter.nim | 4 +- tests/proc/tdefaultvalueprocast.nim | 50 ---------------------- 3 files changed, 2 insertions(+), 54 deletions(-) delete mode 100644 tests/proc/tdefaultvalueprocast.nim diff --git a/compiler/semtypes.nim b/compiler/semtypes.nim index 25ce73b513e2..857521232dc1 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") diff --git a/tests/errmsgs/tunknown_named_parameter.nim b/tests/errmsgs/tunknown_named_parameter.nim index 9ec8bc9cd021..d3dd6cd2d339 100644 --- a/tests/errmsgs/tunknown_named_parameter.nim +++ b/tests/errmsgs/tunknown_named_parameter.nim @@ -10,8 +10,8 @@ func rsplit(s: string; sep: string; maxsplit: int = -1): seq[string] first type mismatch at position: 2 required type for sep: string but expression '{':'}' is of type: set[char] -func rsplit(s: string; seps: set[char] = {' ', '\t', '\v', '\r', '\n', '\f'}; - maxsplit: int = -1): seq[string] +func rsplit(s: string; seps: set[char] = Whitespace; maxsplit: int = -1): seq[ + string] first type mismatch at position: 3 unknown named parameter: maxsplits diff --git a/tests/proc/tdefaultvalueprocast.nim b/tests/proc/tdefaultvalueprocast.nim deleted file mode 100644 index cc5c4df253dd..000000000000 --- a/tests/proc/tdefaultvalueprocast.nim +++ /dev/null @@ -1,50 +0,0 @@ -discard """ - nimout: ''' -ProcDef - Sym "foo" - Empty - Empty - FormalParams - Empty - IdentDefs - Sym "x" - Empty - Call - Sym "none" - Sym "Natural" - Empty - Empty - DiscardStmt - Empty -ProcDef - Sym "example" - Empty - Empty - FormalParams - Empty - IdentDefs - Sym "a" - Empty - Sym "thing" - Empty - Empty - DiscardStmt - TupleConstr - Sym "a" - Sym "thing" -''' -""" - -import options, macros - -macro typedTree(n: typed): untyped = - result = n - echo treeRepr n - -# issue #19118 -proc foo(x = none(Natural)) {.typedTree.} = discard - -# issue #12942 -var thing = 2 -proc example(a = thing) {.typedTree.} = - discard (a, thing)