diff --git a/compiler/semexprs.nim b/compiler/semexprs.nim index dfd6372091..aea1227d0f 100755 --- a/compiler/semexprs.nim +++ b/compiler/semexprs.nim @@ -906,7 +906,7 @@ proc semSubscript(c: PContext, n: PNode, flags: TExprFlags): PNode = n.sons[i] = semExprWithType(c, n.sons[i], flags) var indexType = if arr.kind == tyArray: arr.sons[0] else: getSysType(tyInt) var arg = IndexTypesMatch(c, indexType, n.sons[1].typ, n.sons[1]) - if arg != nil: + if arg != nil: n.sons[1] = arg result = n result.typ = elemType(arr) diff --git a/compiler/sigmatch.nim b/compiler/sigmatch.nim index bb3a24823d..d841561ed9 100755 --- a/compiler/sigmatch.nim +++ b/compiler/sigmatch.nim @@ -324,10 +324,11 @@ proc typeRel(mapping: var TIdTable, f, a: PType): TTypeRelation = of tyBool, tyChar: if a.kind == f.kind: result = isEqual elif skipTypes(a, {tyRange}).kind == f.kind: result = isSubtype - of tyRange: - if a.kind == f.kind: - result = typeRel(mapping, base(a), base(f)) - if result < isGeneric: result = isNone + of tyRange: + if a.kind == f.kind: + result = typeRel(mapping, base(f), base(a)) + # bugfix: accept integer conversions here + #if result < isGeneric: result = isNone elif skipTypes(f, {tyRange}).kind == a.kind: result = isIntConv elif isConvertibleToRange(skipTypes(f, {tyRange}), a): diff --git a/lib/pure/encodings.nim b/lib/pure/encodings.nim index 6bc0005e96..afc34ed62c 100755 --- a/lib/pure/encodings.nim +++ b/lib/pure/encodings.nim @@ -368,7 +368,7 @@ when defined(windows): lpWideCharStr = cstring(result), cchWideChar = cint(result.len div 2), lpMultiByteStr = cstring(res), - cbMultiByte = cap) + cbMultiByte = cap.cint) if m == 0: # try again; ask for capacity: cap = WideCharToMultiByte( @@ -386,7 +386,7 @@ when defined(windows): lpWideCharStr = cstring(result), cchWideChar = cint(result.len div 2), lpMultiByteStr = cstring(res), - cbMultiByte = cap) + cbMultiByte = cap.cint) if m == 0: OSError() setLen(res, m) result = res diff --git a/tests/compile/tnewlibs.nim b/tests/compile/tnewlibs.nim index c742caeaa8..ab358f5570 100755 --- a/tests/compile/tnewlibs.nim +++ b/tests/compile/tnewlibs.nim @@ -10,7 +10,7 @@ import osproc, cairowin32, cairoxlib, gl, glut, glu, glx, glext, wingl, - lua, lualib, lauxlib, mysql, sqlite3, db_mongo, osproc + lua, lualib, lauxlib, mysql, sqlite3, db_mongo, md5 writeln(stdout, "test compilation of binding modules")