diff options
author | Araq <rumpf_a@web.de> | 2015-02-08 13:23:47 +0100 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2015-02-08 13:38:05 +0100 |
commit | 52e297c4e186ad3c28583a5fd8a2a782cee1aed3 (patch) | |
tree | d23f1fb443352f9f12c39d6f7b35ede89457f785 /compiler | |
parent | 736a04c66b679c210551ba2921b43155a57db527 (diff) | |
download | Nim-52e297c4e186ad3c28583a5fd8a2a782cee1aed3.tar.gz |
fixes #1956
Diffstat (limited to 'compiler')
-rw-r--r-- | compiler/msgs.nim | 6 | ||||
-rw-r--r-- | compiler/semtypes.nim | 2 |
2 files changed, 5 insertions, 3 deletions
diff --git a/compiler/msgs.nim b/compiler/msgs.nim index 923c35170..be69f1ea5 100644 --- a/compiler/msgs.nim +++ b/compiler/msgs.nim @@ -113,7 +113,7 @@ type warnSmallLshouldNotBeUsed, warnUnknownMagic, warnRedefinitionOfLabel, warnUnknownSubstitutionX, warnLanguageXNotSupported, warnFieldXNotSupported, warnCommentXIgnored, - warnNilStatement, warnAnalysisLoophole, + warnNilStatement, warnTypelessParam, warnDifferentHeaps, warnWriteToForeignHeap, warnUnsafeCode, warnEachIdentIsTuple, warnShadowIdent, warnProveInit, warnProveField, warnProveIndex, warnGcUnsafe, warnGcUnsafe2, @@ -376,7 +376,7 @@ const warnFieldXNotSupported: "field \'$1\' not supported [FieldXNotSupported]", warnCommentXIgnored: "comment \'$1\' ignored [CommentXIgnored]", warnNilStatement: "'nil' statement is deprecated; use an empty 'discard' statement instead [NilStmt]", - warnAnalysisLoophole: "thread analysis incomplete due to unknown call '$1' [AnalysisLoophole]", + warnTypelessParam: "'$1' has no type. Typeless parameters are deprecated; only allowed for 'template' [TypelessParam]", warnDifferentHeaps: "possible inconsistency of thread local heaps [DifferentHeaps]", warnWriteToForeignHeap: "write to foreign heap [WriteToForeignHeap]", warnUnsafeCode: "unsafe code: '$1' [UnsafeCode]", @@ -418,7 +418,7 @@ const "RedefinitionOfLabel", "UnknownSubstitutionX", "LanguageXNotSupported", "FieldXNotSupported", "CommentXIgnored", "NilStmt", - "AnalysisLoophole", "DifferentHeaps", "WriteToForeignHeap", + "TypelessParam", "DifferentHeaps", "WriteToForeignHeap", "UnsafeCode", "EachIdentIsTuple", "ShadowIdent", "ProveInit", "ProveField", "ProveIndex", "GcUnsafe", "GcUnsafe2", "Uninit", "GcMem", "Destructor", "LockLevel", "User"] diff --git a/compiler/semtypes.nim b/compiler/semtypes.nim index 7908742db..d052700b2 100644 --- a/compiler/semtypes.nim +++ b/compiler/semtypes.nim @@ -911,6 +911,8 @@ proc semProcTypeNode(c: PContext, n, genericParams: PNode, if not hasType and not hasDefault: if isType: localError(a.info, "':' expected") let tdef = if kind in {skTemplate, skMacro}: tyExpr else: tyAnything + if tdef == tyAnything: + message(a.info, warnTypelessParam, renderTree(n)) typ = newTypeS(tdef, c) if skipTypes(typ, {tyGenericInst}).kind == tyEmpty: continue |