-
Notifications
You must be signed in to change notification settings - Fork 119
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
Implement record patches feature #2051
Conversation
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.
Massive 👍
The one thing I miss from this PR is an end-to-end test fixture that would show the real C++ code generated for records pack/unpack.
40047a6
to
a0d3c59
Compare
I've added abstract |
@nkrkv @evgenykochetkov it's done to review!
|
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 haven’t updated a fixture workspace/record-pack-unpack/__fixtures__/arduino.cpp
. It still defines the struct as:
struct Type {
static constexpr typeof_PORT _0 = constant_input_PORT;
typeof_N _1;
typeof_STR _2;
typeof_AREC _3;
};
It’s a problem (1). The CCI server gave no error because of this, it’s a problem (2).
42d1a40
to
0442f18
Compare
206c62f
to
672bab8
Compare
|
@evgenykochetkov just pushed two fixups with a tweaked error message and fix for constants. |
e9dbb60
to
3add962
Compare
…rd types automatically
… instead of index
…Code With Debug` menu item for development env
3add962
to
f89e7f7
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 is no issue. 🙈
However, this feature makes it possible to create C++
struct
s using types of input terminals andunpack
node by adding arecord
marker on the patch.How to use:
foo
for example)output-self
record
marker nodeIt automatically creates a C++ implementation and the
unpack-foo
patch.Also, some custom types might be easily replaced with this thing.