summary refs log tree commit diff stats
path: root/compiler/sigmatch.nim
diff options
context:
space:
mode:
authorAraq <rumpf_a@web.de>2011-07-08 01:29:15 +0200
committerAraq <rumpf_a@web.de>2011-07-08 01:29:15 +0200
commit99bcc233cd8fb3bb9b6f3f0857e477dd9b33c9e8 (patch)
tree2259a14b53ec4fc6f8dedc311eb5e6b837f44180 /compiler/sigmatch.nim
parent170573a87f0df749bdb91126c930826ba5329e95 (diff)
downloadNim-99bcc233cd8fb3bb9b6f3f0857e477dd9b33c9e8.tar.gz
bugfix: 'set' overloadable; further steps for multi threading support
Diffstat (limited to 'compiler/sigmatch.nim')
-rwxr-xr-xcompiler/sigmatch.nim3
1 files changed, 3 insertions, 0 deletions
diff --git a/compiler/sigmatch.nim b/compiler/sigmatch.nim
index ac1429e4e..ec689d315 100755
--- a/compiler/sigmatch.nim
+++ b/compiler/sigmatch.nim
@@ -220,6 +220,9 @@ proc procTypeRel(mapping: var TIdTable, f, a: PType): TTypeRelation =
       result = isNone
     if tfNoSideEffect in f.flags and tfNoSideEffect notin a.flags:
       result = isNone
+    elif tfThread in f.flags and a.flags * {tfThread, tfNoSideEffect} == {}:
+      # noSideEffect implies ``tfThread``!
+      result = isNone
   else: nil
 
 proc typeRel(mapping: var TIdTable, f, a: PType): TTypeRelation =