この記事はRust 2 Advent Calendar 2020 22日目の記事です。 const genericsとは const genericsとは下記のようなジェネリクスパラメーターに定数を渡せる機能です。 記事を書いている2020/12/22時点ではstableに入っていませんが、こちらのissueによるとRust 1.50でstableに入れることを予定しているそうです。 C++でテンプレートメタプログラミングをしていた方々には慣れ親しんだ機能だと思います。 const genericsを利用する方法 const genericsを利用するにはnightlyチャンネルで#![feature(min_const_generics)]を書く必要があります 使用可能な箇所 基本的にジェネリクスを使用できる場所でならどこでも使用できます。
![Rustのジェネリクスパラメーターに定数を渡せるようになる(const generics) - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/7539a164cfc328f8c2343ab91cfb400f967d1aa8/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Fadvent-calendar-ogp-background-7940cd1c8db80a7ec40711d90f43539e.jpg%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9UnVzdCVFMyU4MSVBRSVFMyU4MiVCOCVFMyU4MiVBNyVFMyU4MyU4RCVFMyU4MyVBQSVFMyU4MiVBRiVFMyU4MiVCOSVFMyU4MyU5MSVFMyU4MyVBOSVFMyU4MyVBMSVFMyU4MyVCQyVFMyU4MiVCRiVFMyU4MyVCQyVFMyU4MSVBQiVFNSVBRSU5QSVFNiU5NSVCMCVFMyU4MiU5MiVFNiVCOCVBMSVFMyU4MSU5QiVFMyU4MiU4QiVFMyU4MiU4OCVFMyU4MSU4NiVFMyU4MSVBQiVFMyU4MSVBQSVFMyU4MiU4QiUyOGNvbnN0JTIwZ2VuZXJpY3MlMjkmdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzNBM0MzQyZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZzPWI2YTA0Zjg4MTA0Y2JkYTZhMzk2YTVlMTNiZmE1ZGJh%26mark-x%3D120%26mark-y%3D96%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9OTcyJnR4dD0lNDBibG9jayZ0eHQtY29sb3I9JTIzM0EzQzNDJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9N2ExYmJhMWIzOGJjNjVhMTUyNmM2YmEzYmIyNWRhYTk%26blend-x%3D120%26blend-y%3D500%26blend-mode%3Dnormal%26s%3D8dc14b606e14b68e8c7d6dc519aa8c0d)