Conversation
emilk
reviewed
Aug 16, 2023
d184a95 to
9ce3f32
Compare
3 tasks
emilk
approved these changes
Aug 16, 2023
Member
emilk
left a comment
There was a problem hiding this comment.
Very nice, error handling is a lot of work 😓
I find it a bit confusing that you mix "error" and "status". I get it that Status doesn't always imply an error, nor does ErrorCode, but it is pretty standard in C and C++ for error codes to include the OK case.
I do think Status is a better name for the C++ type, and matches that of Arrow, but I am leaning towards that ErrorCode is better for the enum. In any case: let's be consistent everywhere. It's quite confusing now that "Error" becomes "Status" on the FFI boundary imho
emilk
reviewed
Aug 16, 2023
3 tasks
e0a839c to
370bb25
Compare
Wumpf
added a commit
that referenced
this pull request
Aug 17, 2023
* Depends on #3001 * Part of #2919 * Fixes #2917 * Solves a big chunk of #2873 ### What Introduces a very simple `rerun::Result`. I decided to keep it **a lot** more simple than the arrow Result type and refrained from the typical "return or assign" etc. macro since I noticed that they get quite complicated quickly. The idea is that the rerun result type won't be needed by a lot of manual code, so erring on the too lightweight side should be in our favor. We use this now accross the entire public serialization path - meaning that once we move out array->arrow serialization helper into separate headers we should be pretty much done with not exposing arrow headers! ### Checklist * [x] I have read and agree to [Contributor Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and the [Code of Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md) * [x] I've included a screenshot or gif (if applicable) * [x] I have tested [demo.rerun.io](https://demo.rerun.io/pr/3005) (if applicable) - [PR Build Summary](https://build.rerun.io/pr/3005) - [Docs preview](https://rerun.io/preview/pr%3Aandreas%2Fcpp%2Fcustom-result-type/docs) - [Examples preview](https://rerun.io/preview/pr%3Aandreas%2Fcpp%2Fcustom-result-type/examples)
Wumpf
added a commit
that referenced
this pull request
Aug 18, 2023
* Part of #2919 * Depends on #3001 * Solves C++ part of #2537 ### What Moves out all affix-fuzzer and co. testing types of the actual SDK. While working on that... * I figured out why warnings from arrow headers showed up only sometimes: When Arrow isn't added explicitely as a dependency, CMake doesn't seem to declare it as system header which normally suppresses warnings (as you can imagine this got really bad now when adding more cpps that include arrow to the test library). Obvious workaround is to add arrow explicitly to the text executable. * internal include paths got shorter/more natural in some cases. I had to make the `Includes` utility more clever in order to support types outside of the sdk, so we got this almost for free :) ### Checklist * [x] I have read and agree to [Contributor Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and the [Code of Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md) * [x] I've included a screenshot or gif (if applicable) * [x] I have tested [demo.rerun.io](https://demo.rerun.io/pr/3007) (if applicable) - [PR Build Summary](https://build.rerun.io/pr/3007) - [Docs preview](https://rerun.io/preview/pr%3Aandreas%2Fcpp%2Fseparate-test-types/docs) - [Examples preview](https://rerun.io/preview/pr%3Aandreas%2Fcpp%2Fseparate-test-types/examples)
emilk
added a commit
that referenced
this pull request
Jan 23, 2024
### What This is so we can test things out before the next release, and also get in some new egui features for the plot aggregator and drag-and-drop. * Closes #4716 * Closes #4794 ### TODO * [x] Fix hovering ListItems in blueprint panel ### wgpu changelog https://github.com/gfx-rs/wgpu/blob/trunk/CHANGELOG.md#v0190-2024-01-17 ### relevant egui changelog (so far) #### eframe * Keep `ViewportInfo::maximized` and `minimized` up-to-date on Windows [#3831](emilk/egui#3831) (thanks [@rustbasic](https://github.com/rustbasic)!) * Update wgpu to 0.19 [#3824](emilk/egui#3824) * Fix: handle `IconData::default()` without crashing [#3842](emilk/egui#3842) #### egui_extras * Fix unwraps in SVG scaling [#3826](emilk/egui#3826) (thanks [@amPerl](https://github.com/amPerl)!) * Update to ehttp 0.4 [#3834](emilk/egui#3834) #### egui_plot * Make `egui_plot::PlotMemory` public [#3871](emilk/egui#3871) #### egui * Selectable text in Labels [#3814](emilk/egui#3814) * `ComboBox`: add builder method for height [#3001](emilk/egui#3001) (thanks [@hinto-janai](https://github.com/hinto-janai)!) * Add keys `?`, `/`, `|` [#3820](emilk/egui#3820) * Fix clickable widgets blocking scrolling on touch screens [#3815](emilk/egui#3815) (thanks [@lucasmerlin](https://github.com/lucasmerlin)!) * Fix `stable_dt` [#3832](emilk/egui#3832) * Bug Fix : `Response::is_pointer_button_down_on` is now false the frame the button is released [#3833](emilk/egui#3833) (thanks [@rustbasic](https://github.com/rustbasic)!) * Use runtime knowledge of OS for OS-specific text editing [#3840](emilk/egui#3840) * Refactor: move text selection logic to own module [#3843](emilk/egui#3843) * Fix: dragging to above/below a `TextEdit` or `Label` will select text to begin/end [#3858](emilk/egui#3858) * Add `Response::contains_pointer` [#3859](emilk/egui#3859) * Always set `response.hovered` to false when dragging another widget [#3860](emilk/egui#3860) * Add `Align2::anchor_size` [#3863](emilk/egui#3863) * Add `Context::debug_text` [#3864](emilk/egui#3864) #### epaint * Add `Align2::anchor_size` [#3863](emilk/egui#3863) ### Checklist * [x] I have read and agree to [Contributor Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and the [Code of Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md) * [x] I've included a screenshot or gif (if applicable) * [x] I have tested the web demo (if applicable): * Using newly built examples: [app.rerun.io](https://app.rerun.io/pr/4885/index.html) * Using examples from latest `main` build: [app.rerun.io](https://app.rerun.io/pr/4885/index.html?manifest_url=https://app.rerun.io/version/main/examples_manifest.json) * Using full set of examples from `nightly` build: [app.rerun.io](https://app.rerun.io/pr/4885/index.html?manifest_url=https://app.rerun.io/version/nightly/examples_manifest.json) * [x] The PR title and labels are set such as to maximize their usefulness for the next release's CHANGELOG - [PR Build Summary](https://build.rerun.io/pr/4885) - [Docs preview](https://rerun.io/preview/eb1bce846c3adb29b99d04018b002475994ad213/docs) <!--DOCS-PREVIEW--> - [Examples preview](https://rerun.io/preview/eb1bce846c3adb29b99d04018b002475994ad213/examples) <!--EXAMPLES-PREVIEW--> - [Recent benchmark results](https://build.rerun.io/graphs/crates.html) - [Wasm size tracking](https://build.rerun.io/graphs/sizes.html) --------- Co-authored-by: Andreas Reich <r_andreas2@web.de>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Introduces error handling to C/C++.
Missing (and already in the works!) is a custom result type that will allow us to remove dependency on arrow status/result which right now doesn't translate to
rerun::StatusChecklist