Skip to content

Commit ed9273c

Browse files
committed
py: fix bound __index__
1 parent 444ae5e commit ed9273c

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

py/method.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,11 @@ func newBoundMethod(name string, fn interface{}) (Object, error) {
192192
m.method = func(_ Object) (Object, error) {
193193
return f()
194194
}
195+
// M__index__() (Int, error)
196+
case func() (Int, error):
197+
m.method = func(_ Object) (Object, error) {
198+
return f()
199+
}
195200
// M__add__(other Object) (Object, error)
196201
case func(Object) (Object, error):
197202
m.method = func(_ Object, other Object) (Object, error) {

py/tests/int.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@
2424
assert repr(1000000000000000000000000000000) == "1000000000000000000000000000000"
2525
assert repr(-1000000000000000000000000000000) == "-1000000000000000000000000000000"
2626

27+
doc="index"
28+
assert True.__index__() == 1
29+
assert False.__index__() == 0
30+
2731
doc="test overflow"
2832
assert int("1000000000000000000") == 10**18
2933
assert int("-1000000000000000000") == -(10**18)

0 commit comments

Comments
 (0)