Skip to content

Commit cfcf1a2

Browse files
committed
Increase func args to 12
1 parent a9a9e3b commit cfcf1a2

File tree

2 files changed

+130
-2
lines changed

2 files changed

+130
-2
lines changed

vm/src/function/argument.rs

Lines changed: 80 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,80 @@ into_func_args_from_tuple!((v1, T1), (v2, T2), (v3, T3));
5555
into_func_args_from_tuple!((v1, T1), (v2, T2), (v3, T3), (v4, T4));
5656
into_func_args_from_tuple!((v1, T1), (v2, T2), (v3, T3), (v4, T4), (v5, T5));
5757
into_func_args_from_tuple!((v1, T1), (v2, T2), (v3, T3), (v4, T4), (v5, T5), (v6, T6));
58+
into_func_args_from_tuple!(
59+
(v1, T1),
60+
(v2, T2),
61+
(v3, T3),
62+
(v4, T4),
63+
(v5, T5),
64+
(v6, T6),
65+
(v7, T7)
66+
);
67+
68+
into_func_args_from_tuple!(
69+
(v1, T1),
70+
(v2, T2),
71+
(v3, T3),
72+
(v4, T4),
73+
(v5, T5),
74+
(v6, T6),
75+
(v7, T7),
76+
(v8, T8)
77+
);
78+
79+
into_func_args_from_tuple!(
80+
(v1, T1),
81+
(v2, T2),
82+
(v3, T3),
83+
(v4, T4),
84+
(v5, T5),
85+
(v6, T6),
86+
(v7, T7),
87+
(v8, T8),
88+
(v9, T9)
89+
);
90+
91+
into_func_args_from_tuple!(
92+
(v1, T1),
93+
(v2, T2),
94+
(v3, T3),
95+
(v4, T4),
96+
(v5, T5),
97+
(v6, T6),
98+
(v7, T7),
99+
(v8, T8),
100+
(v9, T9),
101+
(v10, T10)
102+
);
103+
104+
into_func_args_from_tuple!(
105+
(v1, T1),
106+
(v2, T2),
107+
(v3, T3),
108+
(v4, T4),
109+
(v5, T5),
110+
(v6, T6),
111+
(v7, T7),
112+
(v8, T8),
113+
(v9, T9),
114+
(v10, T10),
115+
(v11, T11)
116+
);
117+
118+
into_func_args_from_tuple!(
119+
(v1, T1),
120+
(v2, T2),
121+
(v3, T3),
122+
(v4, T4),
123+
(v5, T5),
124+
(v6, T6),
125+
(v7, T7),
126+
(v8, T8),
127+
(v9, T9),
128+
(v10, T10),
129+
(v11, T11),
130+
(v12, T12)
131+
);
58132

59133
/// The `FuncArgs` struct is one of the most used structs then creating
60134
/// a rust function that can be called from python. It holds both positional
@@ -578,8 +652,8 @@ macro_rules! tuple_from_py_func_args {
578652
};
579653
}
580654

581-
// Implement `FromArgs` for up to 7-tuples, allowing built-in functions to bind
582-
// up to 7 top-level parameters (note that `PosArgs`, `KwArgs`, nested tuples, etc.
655+
// Implement `FromArgs` for up to 12-tuples, allowing built-in functions to bind
656+
// up to 12 top-level parameters (note that `PosArgs`, `KwArgs`, nested tuples, etc.
583657
// count as 1, so this should actually be more than enough).
584658
tuple_from_py_func_args!(A);
585659
tuple_from_py_func_args!(A, B);
@@ -589,3 +663,7 @@ tuple_from_py_func_args!(A, B, C, D, E);
589663
tuple_from_py_func_args!(A, B, C, D, E, F);
590664
tuple_from_py_func_args!(A, B, C, D, E, F, G);
591665
tuple_from_py_func_args!(A, B, C, D, E, F, G, H);
666+
tuple_from_py_func_args!(A, B, C, D, E, F, G, H, I);
667+
tuple_from_py_func_args!(A, B, C, D, E, F, G, H, I, J);
668+
tuple_from_py_func_args!(A, B, C, D, E, F, G, H, I, J, K);
669+
tuple_from_py_func_args!(A, B, C, D, E, F, G, H, I, J, K, L);

vm/src/function/builtin.rs

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,56 @@ into_py_native_fn_tuple!(
215215
(v7, T7)
216216
);
217217

218+
into_py_native_fn_tuple!(
219+
(v1, T1),
220+
(v2, T2),
221+
(v3, T3),
222+
(v4, T4),
223+
(v5, T5),
224+
(v6, T6),
225+
(v7, T7),
226+
(v8, T8)
227+
);
228+
229+
into_py_native_fn_tuple!(
230+
(v1, T1),
231+
(v2, T2),
232+
(v3, T3),
233+
(v4, T4),
234+
(v5, T5),
235+
(v6, T6),
236+
(v7, T7),
237+
(v8, T8),
238+
(v9, T9)
239+
);
240+
241+
into_py_native_fn_tuple!(
242+
(v1, T1),
243+
(v2, T2),
244+
(v3, T3),
245+
(v4, T4),
246+
(v5, T5),
247+
(v6, T6),
248+
(v7, T7),
249+
(v8, T8),
250+
(v9, T9),
251+
(v10, T10)
252+
);
253+
254+
into_py_native_fn_tuple!(
255+
(v1, T1),
256+
(v2, T2),
257+
(v3, T3),
258+
(v4, T4),
259+
(v5, T5),
260+
(v6, T6),
261+
(v7, T7),
262+
(v8, T8),
263+
(v9, T9),
264+
(v10, T10),
265+
(v11, T11)
266+
);
267+
218268
#[cfg(test)]
219269
mod tests {
220270
use super::*;

0 commit comments

Comments
 (0)