Skip to content

Commit 1867e5f

Browse files
committed
Avoid cloning Python enums
1 parent 9c58032 commit 1867e5f

File tree

3 files changed

+14
-14
lines changed

3 files changed

+14
-14
lines changed

Cargo.lock

Lines changed: 10 additions & 10 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

codegen/enums.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ impl<'a> EnumBindGenerator<'a> {
9898
fn generate_definition(&mut self) {
9999
write_str!(
100100
self,
101-
"#[derive(Debug, Default, Clone, Copy, PartialEq, Eq, Hash)]"
101+
"#[derive(Debug, Default, Clone, PartialEq, Eq, Hash)]"
102102
);
103103
write_str!(
104104
self,
@@ -136,8 +136,8 @@ impl<'a> EnumBindGenerator<'a> {
136136
}
137137

138138
fn generate_to_flat_impls(&mut self) {
139-
write_fmt!(self, "impl From<{}> for flat::{} {{", self.name, self.name);
140-
write_fmt!(self, " fn from(py_type: {}) -> Self {{", self.name);
139+
write_fmt!(self, "impl From<&{}> for flat::{} {{", self.name, self.name);
140+
write_fmt!(self, " fn from(py_type: &{}) -> Self {{", self.name);
141141
write_str!(self, " match py_type {");
142142

143143
for var_info in self.variants.values() {

codegen/table.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -319,7 +319,7 @@ impl<'a> TableBindGenerator<'a> {
319319
}
320320
},
321321
SimpleType::Enum(_) => {
322-
format!("py_type.{field_name}.into()")
322+
format!("(&py_type.{field_name}).into()")
323323
}
324324
},
325325
TypeKind::String => match field_info.assign_mode {

0 commit comments

Comments
 (0)