借用を返す
しかし、関数に参照を返させることもできます!これは、借用が関数から呼び出し元へ戻ってくることを意味します:
// Copyright 2025 Google LLC // SPDX-License-Identifier: Apache-2.0 fn identity(x: &i32) -> &i32 { x } fn main() { let mut x = 123; let out = identity(&x); // x = 5; // 🛠️❌ `x` はまだ借用されています! dbg!(out); }
-
Rust の関数は参照を返すことができ、これは借用が関数から呼び出し元へ戻ってくることを意味します。
-
関数が参照(または別の種類の借用)を返す場合、それはおそらくその引数の 1 つに由来します。これは、その関数の戻り値によって、1 つ以上の引数の借用期間が延長されることを意味します。
-
このケースは、関数に渡される借用が 1 つだけなので、返される借用も同じものに限られ、まだ比較的単純です。