namespace Test
interface IBase:
self[i as int] as object:
get
set
interface IDerived(IBase):
pass
class Derived(IDerived):
self[i as int] as object:
get:
print "Got ${i}"return object()
set:
print "Set ${i} to ${value}"
"""
Got 42
System.Object
Set 613 to Good
"""
namespace Test
ider = Derived() as IDerived
print ider[42]
ider[613] = "Good"
This prints the following error:
interface_2b.boo(7,7): BCE0048: Type 'Test.IDerived' does not support slicing.
As a single assembly, this acts as expected.
Description
Take the following two assemblies:
namespace Test
interface IBase:
self[i as int] as object:
get
set
interface IDerived(IBase):
pass
class Derived(IDerived):
self[i as int] as object:
get:
print "Got ${i}"return object()
set:
print "Set ${i} to ${value}"
"""
Got 42
System.Object
Set 613 to Good
"""
namespace Test
ider = Derived() as IDerived
print ider[42]
ider[613] = "Good"
This prints the following error:
interface_2b.boo(7,7): BCE0048: Type 'Test.IDerived' does not support slicing.