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.