DuckLogic/zerogc

Support ignoring lifetimes in #[derive(Trace)]

Techcable opened this issue · 0 comments

Users should be able to explicitly ignore lifetimes (that are not 'gc) when procedurally deriving. This should be verified

The attribute should go on the lifetime itself. We should also probably change #[zerogc(ignore_params(A, B, ...))] to match this behavior.

For example:

struct Foo<'gc, #[zerogc(ignore)] 'a> {
    foo: Gc<'gc, Foo<'gc, 'a>>,
    s: String
}

Right now the 'a lifetime causes an error.