Vincent Esche
Vincent Esche
> Rust macro are outside-in. If you call a macro inside `ascent!`, rust expander will first expand `ascent!` and then insider, if your macro code is to generate ascent code,...
@s-arash that would be a much welcome improvement for sure! 🙏🏻 This sort of thing sounds like a perfect use case for `syn`'s [`fold()` visitor](https://docs.rs/syn/latest/syn/fold/index.html). --- A couple of observations:...
To give some additional motivational context for such a composition feature: I have a bunch of graph queries/filters/transformations implemented in `ascent` that all work on the same graph type and...
Now that I've actually played through such a scenario I think I would prefer to be able to form a DAG from such ascent snippets. 🤔 The motivation for supporting...
Hi @pdh11 thanks for the bug report! > Without the --no-traits --no-types --no-fns it's clear what happened: the trait in `mod bar` has a function which uses type `bar::Fnord` --...
Trait impls aren't the real culprit here, `impl Foo {}` is, of which there can be arbitrarily many. You basically have to use the `impl`'s source code location into account...
Hi @jmg-duarte,the crate was written with the future possibility of future librarization in mind. But you're the first one to actually ask for it, so it never got done, for...
That's a fair point, indeed. And shouldn't be too hard to fix. I'm heading off to a few weeks of vacation, but feel free to give it a shot in...
@oscartbeaumont I built https://crates.io/crates/tryexpand (a heavily modified/improved fork of `macrotest`) specifically for scenarios like these. While it is tailored around snapshot-testing proc-macro expansion it also supports snapshotting the runtime stdout/stderr...
I'm using `tryexpand` extensively for testing the derive macros of my [enumcapsulate](https://github.com/regexident/enumcapsulate/tree/main/tests) crate, in case you'd like so see some real-world usage. Like I said I'd happily open a PR...