1.1 --- a/templates/native/list.c Thu Nov 04 23:44:29 2021 +0100
1.2 +++ b/templates/native/list.c Tue Aug 29 01:46:23 2023 +0200
1.3 @@ -1,6 +1,6 @@
1.4 /* Native functions for list operations.
1.5
1.6 -Copyright (C) 2016, 2017, 2021 Paul Boddie <paul@boddie.org.uk>
1.7 +Copyright (C) 2016, 2017, 2021, 2023 Paul Boddie <paul@boddie.org.uk>
1.8
1.9 This program is free software; you can redistribute it and/or modify it under
1.10 the terms of the GNU General Public License as published by the Free Software
1.11 @@ -27,7 +27,7 @@
1.12
1.13 /* List operations. */
1.14
1.15 -__attr __fn_native_list_list_init(__attr __self, __attr size)
1.16 +__attr __fn_native_list_list_init(__attr __result, __attr __self, __attr size)
1.17 {
1.18 /* size interpreted as int */
1.19 __int n = __TOINT(size);
1.20 @@ -37,7 +37,7 @@
1.21 return attr;
1.22 }
1.23
1.24 -__attr __fn_native_list_list_setsize(__attr __self, __attr _data, __attr size)
1.25 +__attr __fn_native_list_list_setsize(__attr __result, __attr __self, __attr _data, __attr size)
1.26 {
1.27 /* _data interpreted as list.__data__ */
1.28 __fragment *data = _data.seqvalue;
1.29 @@ -48,7 +48,7 @@
1.30 return __builtins___none_None;
1.31 }
1.32
1.33 -__attr __fn_native_list_list_append(__attr __self, __attr self, __attr value)
1.34 +__attr __fn_native_list_list_append(__attr __result, __attr __self, __attr self, __attr value)
1.35 {
1.36 /* self.__data__ interpreted as list */
1.37 __fragment *data = __load_via_object(__VALUE(self), __data__).seqvalue;
1.38 @@ -60,7 +60,7 @@
1.39 return __builtins___none_None;
1.40 }
1.41
1.42 -__attr __fn_native_list_list_concat(__attr __self, __attr self, __attr other)
1.43 +__attr __fn_native_list_list_concat(__attr __result, __attr __self, __attr self, __attr other)
1.44 {
1.45 /* self, interpreted as list, other interpreted as list.__data__ */
1.46 __fragment *data = __load_via_object(__VALUE(self), __data__).seqvalue;
1.47 @@ -88,7 +88,7 @@
1.48 return __builtins___none_None;
1.49 }
1.50
1.51 -__attr __fn_native_list_list_len(__attr self, __attr _data)
1.52 +__attr __fn_native_list_list_len(__attr __result, __attr __self, __attr _data)
1.53 {
1.54 /* _data interpreted as list.__data__ */
1.55 __int size = _data.seqvalue->size;
1.56 @@ -97,12 +97,12 @@
1.57 return __new_int(size);
1.58 }
1.59
1.60 -__attr __fn_native_list_list_nonempty(__attr __self, __attr _data)
1.61 +__attr __fn_native_list_list_nonempty(__attr __result, __attr __self, __attr _data)
1.62 {
1.63 return _data.seqvalue->size ? __builtins___boolean_True : __builtins___boolean_False;
1.64 }
1.65
1.66 -__attr __fn_native_list_list_element(__attr __self, __attr _data, __attr index)
1.67 +__attr __fn_native_list_list_element(__attr __result, __attr __self, __attr _data, __attr index)
1.68 {
1.69 /* _data interpreted as list.__data__ */
1.70 __attr *elements = _data.seqvalue->attrs;
1.71 @@ -112,7 +112,7 @@
1.72 return elements[i];
1.73 }
1.74
1.75 -__attr __fn_native_list_list_setelement(__attr __self, __attr _data, __attr index, __attr value)
1.76 +__attr __fn_native_list_list_setelement(__attr __result, __attr __self, __attr _data, __attr index, __attr value)
1.77 {
1.78 /* _data interpreted as list.__data__ */
1.79 __attr *elements = _data.seqvalue->attrs;