前提・実現したいこと
上のプログラムからエラーをなくしたい。
発生している問題・エラーメッセージ
the const parameter `N` is not constrained by the impl trait, self type, or predicates expressions using a const parameter must map each value to a distinct output value proving the result of expressions other than the parameter are unique is not supported rustc(E0207) const N: usize
該当のソースコード
rust
1impl<const N: usize> 2 Encrypted< 3 <TRLWE as Crypto<Polynomial<Binary, N>>>::PublicKey, 4 <TRLWE as Crypto<Polynomial<Binary, N>>>::Cipher, 5 > 6{ 7 pub fn sample_extract_index(&self, index: usize) -> ([Torus; N], Torus) { 8 let (a, b) = self; 9 let a_: [Torus; N] = array![ i => { 10 if i <= index { 11 a.coef_(index-i) 12 } 13 else { 14 a.coef_(N-i+index) 15 } 16 };N]; 17 let b_ = b.coef_(index); 18 (a_, b_) 19 } 20}
試したこと
impl先の型パラメータで使っているので、unconstrainedではないよなぁとなった。
補足情報(FW/ツールのバージョンなど)
rustc: rustc 1.56.0-nightly
注意:
rust
1#![feature(const_generics)] 2#![feature(const_evaluatable_checked)]
を使っている。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。