diff options
Diffstat (limited to 'code/lib/operator.felan')
-rw-r--r-- | code/lib/operator.felan | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/code/lib/operator.felan b/code/lib/operator.felan index 2112c57..3da070a 100644 --- a/code/lib/operator.felan +++ b/code/lib/operator.felan @@ -801,4 +801,15 @@ __sub__ :: (left:*anytype,right:i64) -> (@type_of(left)) { return @sub(left,right); }; +__get_item__ :: (left:*anytype,index:i64) -> (@type_of(left.*)) { + return (left + index).*; +}; + +__set_item__ :: (left:*anytype,index:i64,item:@type_of(left.*)) -> (@type_of(left.*)) { + return (left + index).* = item; +}; + +__get_item_address__ :: (left:*anytype,index:i64) -> (@type_of(left)) { + return (left + index); +}; |