stainless-steel / dft

Discrete Fourier transform
Other
25 stars 8 forks source link

Rust Nightly 1.23 breaks dft builds #11

Closed cwoodall closed 6 years ago

cwoodall commented 6 years ago

Rust Nightly 1.23 breaks dft builds. To remedy this I explicitly types a few variables which seems to have eliminated the issue. My guess is something changed about the way types are derived which made something unspecified. I believe this fix should be backwards compatible too.

This addresses issue #10

Tests still run

IvanUkhov commented 6 years ago

Thanks for the issue and pull request! It’d be nice to confirm that it’s not a temporary bug but rather a deliberate change to the type inference. If you don’t have any more insight into this issue, I propose waiting a bit. It might go away tomorrow or the day after.

cwoodall commented 6 years ago

A little more detail about this. I think the issue is that for Complex::i() the generic type <T> of Complex<T> is not explicitly defined. I found that the following also worked (though I like the original solution better). The change might have been in the num_complex library rather than in rust.

   let sign= if inverse { Complex::<T>::i() } else { -Complex::<T>::i() };