xls
xls copied to clipboard
Parameteric function with full specialization fails to compile
fn array_subnormals_to_zero_using_map<N:u32, EXP_SZ:u32, FRAC_SZ:u32>(
terms : apfloat::APFloat<EXP_SZ, FRAC_SZ>[N])
-> apfloat::APFloat<EXP_SZ, FRAC_SZ>[N] {
map(terms, apfloat::subnormals_to_zero<EXP_SZ, FRAC_SZ>)
}
fails with
0019: terms : apfloat::APFloat<EXP_SZ, FRAC_SZ>[N])
0020: -> apfloat::APFloat<EXP_SZ, FRAC_SZ>[N] {
0021: map(terms, apfloat::subnormals_to_zero<EXP_SZ, FRAC_SZ>)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ ParseError: Expected '(', got ')': Expected a '(' after parametrics for function invocation.
0022: }
0023:
however
fn array_subnormals_to_zero_using_map<N:u32, EXP_SZ:u32, FRAC_SZ:u32>(
terms : apfloat::APFloat<EXP_SZ, FRAC_SZ>[N])
-> apfloat::APFloat<EXP_SZ, FRAC_SZ>[N] {
map(terms, apfloat::subnormals_to_zero)
}
compiles fine.