Skip to content

Commit e609bb3

Browse files
committed
Only clone the field_name when necessary
1 parent df34451 commit e609bb3

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/validators/function.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ impl FunctionBeforeValidator {
105105
.field_name
106106
.clone()
107107
.map(Bound::unbind)
108-
.or(self.field_name.clone());
108+
.or_else(|| self.field_name.clone());
109109
let info = ValidationInfo::new(py, state.extra(), &self.config, field_name);
110110
self.func.call1(py, (input.to_object(py)?, info))
111111
} else {
@@ -180,7 +180,7 @@ impl FunctionAfterValidator {
180180
.field_name
181181
.clone()
182182
.map(Bound::unbind)
183-
.or(self.field_name.clone());
183+
.or_else(|| self.field_name.clone());
184184
let info = ValidationInfo::new(py, state.extra(), &self.config, field_name);
185185
self.func.call1(py, (v, info))
186186
} else {
@@ -275,7 +275,7 @@ impl Validator for FunctionPlainValidator {
275275
.field_name
276276
.clone()
277277
.map(Bound::unbind)
278-
.or(self.field_name.clone());
278+
.or_else(|| self.field_name.clone());
279279
let info = ValidationInfo::new(py, state.extra(), &self.config, field_name);
280280
self.func.call1(py, (input.to_object(py)?, info))
281281
} else {
@@ -345,7 +345,7 @@ impl FunctionWrapValidator {
345345
.field_name
346346
.clone()
347347
.map(Bound::unbind)
348-
.or(self.field_name.clone());
348+
.or_else(|| self.field_name.clone());
349349
let info = ValidationInfo::new(py, state.extra(), &self.config, field_name);
350350
self.func.call1(py, (input.to_object(py)?, handler, info))
351351
} else {

0 commit comments

Comments
 (0)