Skip to content

Commit 628650a

Browse files
committed
Hardcode traits for builtin types
1 parent 968f659 commit 628650a

1 file changed

Lines changed: 6 additions & 0 deletions

File tree

cpp2rust/converter/mapper.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -460,6 +460,12 @@ void addBuiltinTypes(Model model) {
460460
const std::string &initializer = {}) {
461461
auto plain = TranslationRule::TypeRule::Plain(rust);
462462
plain.initializer = initializer;
463+
std::vector<std::string> derives = {"Copy", "Clone", "Default",
464+
"Debug", "PartialEq", "PartialOrd"};
465+
if (!(rust == "f32" || rust == "f64")) {
466+
derives.insert(derives.end(), {"Eq", "Ord", "Hash"});
467+
}
468+
plain.type_info.derives = std::move(derives);
463469
AddTypeRule(cxx, TranslationRule::TypeRule(plain));
464470
AddTypeRule("const " + cxx, std::move(plain));
465471

0 commit comments

Comments
 (0)