関数での借用

借用チェックの一環として、コンパイラは借用が関数にどのように流入し、 どのように流出するかを推論する必要があります。最も単純な場合、借用は 関数呼び出しの間だけ存続します:

// Copyright 2025 Google LLC
// SPDX-License-Identifier: Apache-2.0

fn borrows(x: &i32) {
    dbg!(x);
}

fn main() {
    let mut val = 123;

    // 関数呼び出しのために `val` を借用する。
    borrows(&val);

    // 借用は終了し、自由に変更できる。
    val += 5;
}
  • この例では、borrows の呼び出しのために val を借用しています。これにより val を変更する能力は制限されますが、関数呼び出しが戻ると借用は終了し、 再び自由に変更できます。