warning: trailing semicolon in macro used in expression position
--> audio/csound/tests/csound_filter.rs:52:10
|
52 | );
| ^
...
403 | &CSD!(ksmps, ichannels, ochannels, "ain, ain2 ins", "out ain"),
| ------------------------------------------------------------- in this macro invocation
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
= note: this warning originates in the macro `CSD` (in Nightly builds, run with -Z macro-backtrace for more info)
For some reason (compiler bug?), the rust compiler fails to compare u32 and f64 types
when doing a wildcard cast on i586 with the following error:
error[E0282]: type annotations needed
--> audio/csound/src/filter/imp.rs:611:47
|
611 | if rate != out_info.rate() || rate != csound.get_sample_rate() as _ {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
|
= note: type must be known at this point
Using an explicit cast solves the issue.
cargo-c will produce a pkg-config file making it easier to statically
link plugins.
Also add 'static' features for plugins depending on < 1.14 as this is the
minimal required version to use static linking because of ABI changes in
core.
There is no way to dynamically ask Cargo to build static or dynamic lib
so we have to build both and pick the one we care when doing the meson
processing.
Fix#88