cinder
cinder copied to clipboard
can't compare double to Literal
Is it intentional that a double can't be compared to an integer literal?
if plus >= 0:
^
compiler.errors.TypedSyntaxError: can't compare double to Literal[0]
as an example, this restriction makes a strange situation like the following:
this code is OK:
def clamp(x: double, a: double, b: double) -> double:
return a if x < a else b if x > b else x
...
clamp(foo, 0, 1)
but applying @inline to clamp causes the invocation to fail:
@inline
def clamp(x: double, a: double, b: double) -> double: ...
...
clamp(foo, 0, 1)
return a if x < a else b if x > b else x
^
compiler.errors.TypedSyntaxError: can't compare double to Literal[0]