TypeFns, variadic generics, compile-time reflection, macro-like fns

Statics create real statics

What does this even mean?

mlfn

you can already do this with normal macros and type assersions.

i.e.

the first thing you do in a macro is

let var1: Type1 = $arg1;
let var2: Type2 = $arg2;
let var3: Type3 = $arg3;
...

Now all of you're stuff type checks, and if you need generics you can create a function inside your macro with the #[inline(always)] annotation and immediately call it.

(dyn Bar, dyn Baz)

This isn't a valid tuple, only the last element of a tuple may be !Sized.

CTR

Why, this doesn't seem all that useful in general, and it would require trait aliases, something that we don't have yet. The only place I can see this being useful is where trait bounds change a lot during development, but that seems like early development and not the general case.

2 Likes