feat(feature): Added functions and logic so that to make concerto-rust pass all the conformance tests#2
Conversation
Signed-off-by: Anshukumar123975 <anshupat2020@gmail.com>
Signed-off-by: Anshukumar123975 <anshupat2020@gmail.com>
Signed-off-by: Anshukumar123975 <anshupat2020@gmail.com>
Signed-off-by: Anshukumar123975 <anshupat2020@gmail.com>
Signed-off-by: Anshukumar123975 <anshupat2020@gmail.com>
Signed-off-by: Anshukumar123975 <anshupat2020@gmail.com>
Signed-off-by: Anshukumar123975 <anshupat2020@gmail.com>
Signed-off-by: Anshukumar123975 <anshupat2020@gmail.com>
Signed-off-by: Anshukumar123975 <anshupat2020@gmail.com>
Signed-off-by: Anshukumar123975 <anshupat2020@gmail.com>
Signed-off-by: Anshukumar123975 <anshupat2020@gmail.com>
Signed-off-by: Anshukumar123975 <anshupat2020@gmail.com>
Signed-off-by: Anshukumar123975 <anshupat2020@gmail.com>
Signed-off-by: Anshukumar123975 <anshupat2020@gmail.com>
Signed-off-by: Anshukumar123975 <anshupat2020@gmail.com>
Signed-off-by: Anshukumar123975 <anshupat2020@gmail.com>
Signed-off-by: Anshukumar123975 <anshupat2020@gmail.com>
Signed-off-by: Anshukumar123975 <anshupat2020@gmail.com>
Signed-off-by: Anshukumar123975 <anshupat2020@gmail.com>
Signed-off-by: Anshukumar123975 <anshupat2020@gmail.com>
Signed-off-by: Anshukumar123975 <anshupat2020@gmail.com>
Signed-off-by: Anshukumar123975 <anshupat2020@gmail.com>
Signed-off-by: Anshukumar123975 <anshupat2020@gmail.com>
Signed-off-by: Anshukumar123975 <anshupat2020@gmail.com>
Signed-off-by: Anshukumar123975 <anshupat2020@gmail.com>
Signed-off-by: Anshukumar123975 <anshupat2020@gmail.com>
Signed-off-by: Anshukumar123975 <anshupat2020@gmail.com>
Signed-off-by: Anshukumar123975 <anshupat2020@gmail.com>
Signed-off-by: Anshukumar123975 <anshupat2020@gmail.com>
Signed-off-by: Anshukumar123975 <anshupat2020@gmail.com>
Signed-off-by: Anshukumar123975 <anshupat2020@gmail.com>
Signed-off-by: Anshukumar123975 <anshupat2020@gmail.com>
Signed-off-by: Anshukumar123975 <anshupat2020@gmail.com>
Signed-off-by: Anshukumar123975 <anshupat2020@gmail.com>
Signed-off-by: Anshukumar123975 <anshupat2020@gmail.com>
Signed-off-by: Anshukumar123975 <anshupat2020@gmail.com>
Signed-off-by: Anshukumar123975 <anshupat2020@gmail.com>
Signed-off-by: Anshukumar123975 <anshupat2020@gmail.com>
Signed-off-by: Anshukumar123975 <anshupat2020@gmail.com>
Signed-off-by: Anshukumar123975 <anshupat2020@gmail.com>
Signed-off-by: Anshukumar123975 <anshupat2020@gmail.com>
Signed-off-by: Anshukumar123975 <anshupat2020@gmail.com>
| } | ||
|
|
||
| #[derive(Debug, Clone, Serialize, Deserialize)] | ||
| pub struct Properties { |
There was a problem hiding this comment.
Are these types generated by Concerto?
I'm asking because there is already a Property struct here, is there a need for Properties?
There was a problem hiding this comment.
I think Property should be replaced with Properties as there were more parameters required for Properties and now in this code Property has become a subset of Properties.
There was a problem hiding this comment.
This is a generated file so we shouldn't modify this here. Property is from the concerto metamodel. I think the problem is lack of inheritance in Rust. So, unified struct is not possible. We would need some other way to achieve this. Possibly an Enum type, defined in a separate file.
| rename = "types", | ||
| )] | ||
| pub types: Vec<String>, | ||
| pub types: Option<Vec<String>>, |
There was a problem hiding this comment.
Comparing to the metamodel, name is not part of ImportTypesit's part ofImportType`. For Rust implementation we might need a Rust enum that has different Import flavours.
There was a problem hiding this comment.
Ok, I will be updating this
There was a problem hiding this comment.
I've completely removed ImportTypes and we are now using only ImportType.
There was a problem hiding this comment.
We shouldn't remove any types from this module.
Signed-off-by: Anshukumar123975 <anshupat2020@gmail.com>
Signed-off-by: Anshukumar123975 <anshupat2020@gmail.com>
Signed-off-by: Anshukumar123975 <anshupat2020@gmail.com>
ekarademir
left a comment
There was a problem hiding this comment.
@Anshukumar123975 let me think of a better way to combine metamodel structs together. We shouldn't modify this file as much as possible. We it should be modified, it should be done in the concerto-codegen library.
A possible solution is using enums.
| } | ||
|
|
||
| #[derive(Debug, Serialize, Deserialize)] | ||
| #[derive(Debug, Clone, Serialize, Deserialize)] |
There was a problem hiding this comment.
I guess the Clone trait is needed here. However, we should add this to the Rust target for concerto-codegen, instead of modifying this file.
| } | ||
|
|
||
| #[derive(Debug, Clone, Serialize, Deserialize)] | ||
| pub struct Properties { |
There was a problem hiding this comment.
This is a generated file so we shouldn't modify this here. Property is from the concerto metamodel. I think the problem is lack of inheritance in Rust. So, unified struct is not possible. We would need some other way to achieve this. Possibly an Enum type, defined in a separate file.
| )] | ||
| pub name: String, | ||
|
|
||
| #[serde( |
There was a problem hiding this comment.
The Declaration type from concerto metamodel doesn't have these extra fields.
| rename = "types", | ||
| )] | ||
| pub types: Vec<String>, | ||
| pub types: Option<Vec<String>>, |
There was a problem hiding this comment.
We shouldn't remove any types from this module.
Signed-off-by: Anshukumar123975 <anshupat2020@gmail.com>
Title:
Added functions and logic within ModelFile and ModelManager to make the Rust runtime of Concerto capable of passing all conformance tests.
Description: