Christoffer Lerno
Christoffer Lerno
Another open question is whether such anonymous functions could be declared anywhere in the scope of a function, or only at the top level: ```c fn void test() { //...
To be honest, I'm not particularly keen on adding macros. I have a hard time motivating the functions...
> I think this approach can be easily implemented in C3 using anonymous macros. How?
Outstanding questions: 1. What happens when a macro contains an anonymous function and it is inlined? ```c macro foo(int x) { fn int square(int x) { return x * x;...
@data-man Note that this would not work: ```c @unittest(aaa, @suite(...) ); ``` Because the `@suite` here would be evaluated in the calling scope, not in the macro's scope.
`usize` should be replaced by size_t, so you can do a check: `if (type == type_usize) ... ` to print the right thing. Do that for void*, usize, isize, iptr,...
This needs to be done before resolving the typedef.
I haven't decided on anything. Try things out and we'll see what works.
I think collisions are ok to be honest. Let's add it and then have ways to resolve them. For most user defined types there is @extname to redefine it already....
I would not recommend using base64. For structs, the extname is expected. For subarrays: _slice is fine. There is no need to name the flexible array members.