mirror of
https://github.com/nim-lang/Nim.git
synced 2026-02-13 23:03:36 +00:00
bugfix: bug #511622
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
#
|
||||
#
|
||||
# The Nimrod Compiler
|
||||
# (c) Copyright 2009 Andreas Rumpf
|
||||
# (c) Copyright 2010 Andreas Rumpf
|
||||
#
|
||||
# See the file "copying.txt", included in this
|
||||
# distribution, for details about the copyright.
|
||||
@@ -287,7 +287,10 @@ proc transformConv(c: PTransf, n: PNode): PNode =
|
||||
var source = skipTypes(n.sons[1].typ, abstractVarRange)
|
||||
case dest.kind
|
||||
of tyInt..tyInt64, tyEnum, tyChar, tyBool:
|
||||
if (firstOrd(dest) <= firstOrd(source)) and
|
||||
if not isOrdinalType(source):
|
||||
# XXX int64 -> float conversion?
|
||||
result = n
|
||||
elif (firstOrd(dest) <= firstOrd(source)) and
|
||||
(lastOrd(source) <= lastOrd(dest)):
|
||||
# BUGFIX: simply leave n as it is; we need a nkConv node,
|
||||
# but no range check:
|
||||
|
||||
@@ -9,7 +9,7 @@ tbind3.nim;1
|
||||
tbintre2.nim;halloworld99110223
|
||||
tbintree.nim;halloworld99110223
|
||||
tbug499771.nim;TSubRange: 5 from 1 to 10
|
||||
tbug511622.nim;10
|
||||
tbug511622.nim;3
|
||||
tcasestm.nim;ayyy
|
||||
tclosure.nim;2 4 6 8 10
|
||||
tcnstseq.nim;AngelikaAnneAnnaAnkaAnja
|
||||
|
||||
|
@@ -6,4 +6,5 @@ proc FibonacciA(n: int): int64 =
|
||||
var q: float64 = 1.0 / p
|
||||
return int64((pow(p, fn) + pow(q, fn)) / sqrt(5.0))
|
||||
|
||||
echo FibonacciA(4) #OUT 10
|
||||
echo FibonacciA(4) #OUT 3
|
||||
|
||||
|
||||
Reference in New Issue
Block a user