npc_engine_utils/functional.rs
1/*
2 * SPDX-License-Identifier: Apache-2.0 OR MIT
3 * © 2020-2022 ETH Zurich and other contributors, see AUTHORS.txt for details
4 */
5
6/// Returns a reference to the first element of a tuple reference.
7pub fn keep_first<A, B>(tuple: &(A, B)) -> &A {
8 &tuple.0
9}
10
11/// Returns a reference to the second element of a tuple reference.
12pub fn keep_second<A, B>(tuple: &(A, B)) -> &B {
13 &tuple.1
14}
15
16/// Returns a mutable reference to the first element of a mutable tuple reference.
17pub fn keep_first_mut<A, B>(tuple: &mut (A, B)) -> &mut A {
18 &mut tuple.0
19}
20
21/// Returns a mutable reference to the second element of a mutable tuple reference.
22pub fn keep_second_mut<A, B>(tuple: &mut (A, B)) -> &mut B {
23 &mut tuple.1
24}