llogiq
llogiq
I have an unfinished rewrite using the `syn` and `quote` crates, but stopped working on it due to some architectural discussions with @power-fungus that have not yet been resolved. Guess...
@power-fungus this used to work. What changed?
First, what code *would* we mutate here? The only things that may contain exprs outside of `fn`s are `const`s, `static`s and `[_, N]` types, and the latter take only constexprs...
Ah, I've now revisited the change. It means we could encounter `#[mutate]` attributes on statements or expressions *within* methods (or, unfortunately, elsewhere). For now I don't see the need to...
Good idea. Our `self.cx` has a `span_warn` function that should make this a breeze. Would make for a good first issue I think.
Thanks for writing this up. I should probably explain why we won't be able to implement all suggestions within mutagen: The plan is to mutate & compile once. The mutated...
Unfortunately this is *very* hard to do without running afoul of the borrow checker.
(About that earlier comment: We cannot even in general assume that things will implement `Clone`, unless we know the type. Even if we know the type we may not know...
And about match statements, we could do something like changing: ``` match blub { Foo(x) => frobnicate(x), Bar(a, b) => a.adjunct(b), Baz => blubb(), _ => bleargh() } ``` to...
It adds code to directly return a default value if your functions return type implements `Default`. Otherwise it's a no-op.