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}