-
Notifications
You must be signed in to change notification settings - Fork 372
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
arrow2-convert
migration 3: attr.rust.override_crate
& optimizing out dependencies
#3897
Conversation
crates/re_types/definitions/rerun/blueprint/auto_space_views.fbs
Outdated
Show resolved
Hide resolved
6443539
to
136f851
Compare
0880035
to
c029908
Compare
2081ac7
to
507b862
Compare
507b862
to
bb4da17
Compare
I have no clue why the C++ formatting check fails, I'm literally calling |
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.
That's weird, the gitattributes seem to be generated correctly... I'll have a closer look once I get a minute. |
arrow::MemoryPool *memory_pool | ||
) { | ||
if (!memory_pool) { |
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.
You are still on the old .clang-format
file. I recently added DerivePointerAlignment: false
to it that ensured pointer-stars get grouped with the type, so arrow::MemoryPool* memory_pool
.
You should merge in main
and run just codegen
again before merging
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.
But we are already on the up-to-date clang-format though, I have no idea what's going on...:
https://github.com/rerun-io/rerun/blob/cmc/arrow2convert_be_gone_3_for_real/.clang-format#L18
…3902) This introduces the `rust.attr.serde_type` attribute, allowing you to use any `serde`-compatible Rust types in our IDL. ``` table ViewportLayout ( "attr.rust.derive": "PartialEq", "attr.rust.override_crate": "re_viewport" ) { space_view_keys: [ubyte] (order: 100, "attr.rust.serde_type": "std::collections::BTreeSet<re_viewer_context::SpaceViewId>"); tree: [ubyte] (order: 101, "attr.rust.serde_type": "egui_tiles::Tree<re_viewer_context::SpaceViewId>"); auto_layout: bool (order: 102); } ``` This unblocks further blueprint experimentations, and is the last blocker to sunset `arrow2-convert`. - `SpaceViewComponent`, `SpaceViewMaximized` & `ViewportLayout` are now all implemented that way. - `re_viewport` is now free of `arrow2-convert`. --- `arrow2-convert` migration PR series: - #3853 - #3855 - #3897 - #3902 - #3917
The end of our wonderful journey. - `NumInstances` control column now has an actual dedicated component type. - `EntityPath` is now a component. - `Into<Cow<Self>>` impls have been cleaned up to generate way less code. - `arrow2_convert` is fully gone. --- `arrow2-convert` migration PR series: - #3853 - #3855 - #3897 - #3902 - #3917
This introduces the
rust.attr.override_crate
attribute, which is necessary for the serde-codegen story.This attribute also allows us to generate some fundamental types such as
InstanceKey
directly intore_types_core
rather thanre_types
, making it possible to reduce the number of crates that depend on the giantre_types
.The
AutoSpaceViews
&PanelView
components are now back into their respective home (re_viewport
&re_viewer
, respectively).They were temporarily moved it because we had no support for
custom_crate
.They will be joined by their more complicated siblings in the next PR, which implements the necessary serde-codegen support.
InstanceKey
,Clear
andClearIsRecursive
are now generated intore_types_core
.This allows
re_query
,re_arrow_store
andre_data_store
to drop their dependency onre_types
.Generated code now picks up arrow from
re_types_core::external
instead of importing it directly.This means crates hosting generated code are not forced into import
arrow2
directly.arrow2-convert
migration PR series:arrow2-convert
migration 1:TUID
,RowId
,TableId
#3853arrow2-convert
migration 2: non-serde blueprint types #3855arrow2-convert
migration 3:attr.rust.override_crate
& optimizing out dependencies #3897arrow2-convert
migration 4: support serde-based types in codegen #3902Checklist