Tour of Rust 목차

Generic 함수

Rust의 generic은 trait과 함께 작동합니다. 매개변수 자료형 T를 정의할 때 해당 인자가 어떤 trait을 구현해야 하는지 나열함으로써 인자에 어떤 자료형을 쓸 수 있는지 제한할 수 있습니다.

아래 예제에서 T 자료형은 Foo trait을 반드시 구현해야 합니다:

fn my_function<T>(foo: T)
where
    T:Foo
{
    ...
}

generic을 이용하면 컴파일 시 자료형과 크기를 알 수 있는 정적 자료형의 함수가 만들어지며, 따라서 정적 디스패치와 함께 크기가 정해진 값으로 저장할 수 있게 됩니다.