Skip to content

Commit 52ca580

Browse files
Scott Caometa-codesync[bot]
authored andcommitted
Implement Freeze for 5-element tuples
Summary: Extend the `Freeze` trait implementation to support 5-element tuples, following the existing pattern for 2, 3, and 4-element tuples already implemented in this file. Reviewed By: IanChilds Differential Revision: D91249244 fbshipit-source-id: 50290e7db9a7e46e74821ef4eaf9288de2fa3239
1 parent 5cc3b33 commit 52ca580

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

starlark/src/values/freeze.rs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -325,3 +325,20 @@ impl<A: Freeze, B: Freeze, C: Freeze, D: Freeze> Freeze for (A, B, C, D) {
325325
))
326326
}
327327
}
328+
329+
impl<A: Freeze, B: Freeze, C: Freeze, D: Freeze, E: Freeze> Freeze for (A, B, C, D, E) {
330+
type Frozen = (A::Frozen, B::Frozen, C::Frozen, D::Frozen, E::Frozen);
331+
332+
fn freeze(
333+
self,
334+
freezer: &Freezer,
335+
) -> FreezeResult<(A::Frozen, B::Frozen, C::Frozen, D::Frozen, E::Frozen)> {
336+
Ok((
337+
self.0.freeze(freezer)?,
338+
self.1.freeze(freezer)?,
339+
self.2.freeze(freezer)?,
340+
self.3.freeze(freezer)?,
341+
self.4.freeze(freezer)?,
342+
))
343+
}
344+
}

0 commit comments

Comments
 (0)