-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(jstz_engine): define the Trace
and Finalize
traits
#662
base: main
Are you sure you want to change the base?
Conversation
e911862
to
96d3d75
Compare
25ee901
to
f55488f
Compare
Codecov ReportAttention: Patch coverage is
Continue to review full report in Codecov by Sentry.
|
96d3d75
to
94ddd2c
Compare
f55488f
to
dd196ea
Compare
6a9c971
to
d874eaf
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Finalize
implementation seems to be left empty throughout and also is left empty in the follow up PR (https://github.com/jstz-dev/jstz/pull/680/files). Am I missing something here? Do we need it?
The interesting logic for |
f0af742
to
174b36c
Compare
This commit also implements the `Trace` and `Finalize` trait for many common types.
174b36c
to
925a0c6
Compare
Context
We'll need to trace native Rust objects. To do so, we'll need a
Trace
trait (and aFinalize
for drops)Description
This PR:
Trace
andFinalize
traits + some helpful macrosTrace
andFinalize
trait for many common types.Manually testing the PR
Code isn't easily testable (relies on calling out to SM GC where
Tracer
is defined). I suggest we ignore the codecov check for this PR -- these implementations will become tested as we implement APIs on top of them