ポリモーフィズム

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

pub trait Trait {}

pub struct HasGeneric<T>(T);

pub enum Either<A, B> {
    Left(A),
    Right(B),
}

fn takes_generic<T: Trait>(value: &T) {}

fn takes_dyn(value: &dyn Trait) {}
  • Rust にはポリモーフィックなコードを記述して利用するための仕組みが豊富にありますが、 それらは他の一般的な言語とはやや異なります。

  • この章では、Rust のポリモーフィズムの詳細と、それが他の言語と どのように似ているのか、あるいはどのように異なるのかを説明します。