17 lines
330 B
Rust
17 lines
330 B
Rust
|
// check-pass
|
||
|
|
||
|
use std::convert::TryFrom;
|
||
|
|
||
|
pub trait FieldElement {
|
||
|
type Integer: TryFrom<usize, Error = std::num::TryFromIntError>;
|
||
|
|
||
|
fn valid_integer_try_from<N>(i: N) -> Result<Self::Integer, ()>
|
||
|
where
|
||
|
Self::Integer: TryFrom<N>,
|
||
|
{
|
||
|
Self::Integer::try_from(i).map_err(|_| ())
|
||
|
}
|
||
|
}
|
||
|
|
||
|
fn main() {}
|