Created
September 9, 2022 07:26
-
-
Save harudagondi/4ca499a1646122f346f9772ac78ec2e9 to your computer and use it in GitHub Desktop.
Error thrown by rhai + fundsp
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
cargo : Checking fundsp-lang v0.1.0 (C:\<path to>\rust\fundsp-lang) | |
At line:1 char:1 | |
+ cargo check > error.txt 2>&1 | |
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
+ CategoryInfo : NotSpecified: ( Checking fu...st\fundsp-lang):String) [], RemoteException | |
+ FullyQualifiedErrorId : NativeCommandError | |
error[E0277]: `Locked<rhai::types::interner::StringsInterner<'static>>` cannot be shared between threads safely | |
--> src\lib.rs:224:9 | |
| | |
224 | Box::new(h::phaser(feedback_amount, phase_f)) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Locked<rhai::types::interner::StringsInterner<'static>>` cannot be shared | |
between threads safely | |
| | |
= help: within `rhai::NativeCallContext<'_>`, the trait `Sync` is not implemented for | |
`Locked<rhai::types::interner::StringsInterner<'static>>` | |
= help: the trait `AudioUnit32` is implemented for `An<X>` | |
= note: required because it appears within the type `Engine` | |
= note: required because it appears within the type `&Engine` | |
= note: required because it appears within the type `rhai::NativeCallContext<'_>` | |
= note: required because of the requirements on the impl of `Send` for `&rhai::NativeCallContext<'_>` | |
note: required because it's used within this closure | |
--> src\lib.rs:223:32 | |
| | |
223 | let phase_f = Box::new(|x| phase_f.call_within_context(&context, (x,)).unwrap()); | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because of the requirements on the impl of `Send` for `Unique<[closure@src\lib.rs:223:32: 223:88]>` | |
= note: required because it appears within the type `Box<[closure@src\lib.rs:223:32: 223:88]>` | |
note: required because it's used within this closure | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\prelude.rs:2378:27 | |
| | |
2378 | (pass() | lfo(move |t| lerp(T::new(1), T::new(10), phase_f(t)))) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because it appears within the type `Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, | |
Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>` | |
= note: required because it appears within the type `Stack<f32, Pass<f32>, Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, | |
Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>` | |
= note: required because it appears within the type `Pipe<f32, Stack<f32, Pass<f32>, Envelope<f32, f32, | |
[closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>` | |
= note: required because it appears within the type `Pipe<f32, Pipe<f32, Stack<f32, Pass<f32>, Envelope<f32, f32, | |
[closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>` | |
= note: required because it appears within the type `Feedback<UInt<UTerm, B1>, f32, Pipe<f32, Pipe<f32, Stack<f32, Pass<f32>, | |
Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>, FrameId<UInt<UTerm, B1>, f32>>` | |
= note: required because it appears within the type `Bus<f32, Pass<f32>, Feedback<UInt<UTerm, B1>, f32, Pipe<f32, Pipe<f32, | |
Stack<f32, Pass<f32>, Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], | |
f32>>, fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>, FrameId<UInt<UTerm, B1>, f32>>>` | |
note: required because it appears within the type `impl AudioNode<Sample = f32, Inputs = UInt<UTerm, B1>, Outputs = UInt<UTerm, B1>>` | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\prelude.rs:2375:9 | |
| | |
2375 | ) -> An<impl AudioNode<Sample = T, Inputs = U1, Outputs = U1>> { | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
note: required because it appears within the type `impl AudioNode<Sample = f32, Inputs = UInt<UTerm, B1>, Outputs = UInt<UTerm, B1>>` | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\hacker32.rs:1816:9 | |
| | |
1816 | ) -> An<impl AudioNode<Sample = f32, Inputs = U1, Outputs = U1>> { | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because of the requirements on the impl of `AudioUnit32` for `An<impl AudioNode<Sample = f32, Inputs = UInt<UTerm, | |
B1>, Outputs = UInt<UTerm, B1>>>` | |
= note: required for the cast to the object type `dyn AudioUnit32` | |
error[E0277]: `(dyn ModuleResolver + 'static)` cannot be shared between threads safely | |
--> src\lib.rs:224:9 | |
| | |
224 | Box::new(h::phaser(feedback_amount, phase_f)) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `(dyn ModuleResolver + 'static)` cannot be shared between threads safely | |
| | |
= help: the trait `Sync` is not implemented for `(dyn ModuleResolver + 'static)` | |
= help: the trait `AudioUnit32` is implemented for `An<X>` | |
= note: required because of the requirements on the impl of `Sync` for `Unique<(dyn ModuleResolver + 'static)>` | |
= note: required because it appears within the type `Box<(dyn ModuleResolver + 'static)>` | |
= note: required because it appears within the type `Engine` | |
= note: required because it appears within the type `&Engine` | |
= note: required because it appears within the type `rhai::NativeCallContext<'_>` | |
= note: required because of the requirements on the impl of `Send` for `&rhai::NativeCallContext<'_>` | |
note: required because it's used within this closure | |
--> src\lib.rs:223:32 | |
| | |
223 | let phase_f = Box::new(|x| phase_f.call_within_context(&context, (x,)).unwrap()); | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because of the requirements on the impl of `Send` for `Unique<[closure@src\lib.rs:223:32: 223:88]>` | |
= note: required because it appears within the type `Box<[closure@src\lib.rs:223:32: 223:88]>` | |
note: required because it's used within this closure | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\prelude.rs:2378:27 | |
| | |
2378 | (pass() | lfo(move |t| lerp(T::new(1), T::new(10), phase_f(t)))) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because it appears within the type `Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, | |
Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>` | |
= note: required because it appears within the type `Stack<f32, Pass<f32>, Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, | |
Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>` | |
= note: required because it appears within the type `Pipe<f32, Stack<f32, Pass<f32>, Envelope<f32, f32, | |
[closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>` | |
= note: required because it appears within the type `Pipe<f32, Pipe<f32, Stack<f32, Pass<f32>, Envelope<f32, f32, | |
[closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>` | |
= note: required because it appears within the type `Feedback<UInt<UTerm, B1>, f32, Pipe<f32, Pipe<f32, Stack<f32, Pass<f32>, | |
Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>, FrameId<UInt<UTerm, B1>, f32>>` | |
= note: required because it appears within the type `Bus<f32, Pass<f32>, Feedback<UInt<UTerm, B1>, f32, Pipe<f32, Pipe<f32, | |
Stack<f32, Pass<f32>, Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], | |
f32>>, fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>, FrameId<UInt<UTerm, B1>, f32>>>` | |
note: required because it appears within the type `impl AudioNode<Sample = f32, Inputs = UInt<UTerm, B1>, Outputs = UInt<UTerm, B1>>` | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\prelude.rs:2375:9 | |
| | |
2375 | ) -> An<impl AudioNode<Sample = T, Inputs = U1, Outputs = U1>> { | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
note: required because it appears within the type `impl AudioNode<Sample = f32, Inputs = UInt<UTerm, B1>, Outputs = UInt<UTerm, B1>>` | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\hacker32.rs:1816:9 | |
| | |
1816 | ) -> An<impl AudioNode<Sample = f32, Inputs = U1, Outputs = U1>> { | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because of the requirements on the impl of `AudioUnit32` for `An<impl AudioNode<Sample = f32, Inputs = UInt<UTerm, | |
B1>, Outputs = UInt<UTerm, B1>>>` | |
= note: required for the cast to the object type `dyn AudioUnit32` | |
error[E0277]: `(dyn for<'r> Fn(&'r str) + 'static)` cannot be shared between threads safely | |
--> src\lib.rs:224:9 | |
| | |
224 | Box::new(h::phaser(feedback_amount, phase_f)) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `(dyn for<'r> Fn(&'r str) + 'static)` cannot be shared between threads safely | |
| | |
= help: the trait `Sync` is not implemented for `(dyn for<'r> Fn(&'r str) + 'static)` | |
= help: the trait `AudioUnit32` is implemented for `An<X>` | |
= note: required because of the requirements on the impl of `Sync` for `Unique<(dyn for<'r> Fn(&'r str) + 'static)>` | |
= note: required because it appears within the type `Box<(dyn for<'r> Fn(&'r str) + 'static)>` | |
= note: required because it appears within the type `Engine` | |
= note: required because it appears within the type `&Engine` | |
= note: required because it appears within the type `rhai::NativeCallContext<'_>` | |
= note: required because of the requirements on the impl of `Send` for `&rhai::NativeCallContext<'_>` | |
note: required because it's used within this closure | |
--> src\lib.rs:223:32 | |
| | |
223 | let phase_f = Box::new(|x| phase_f.call_within_context(&context, (x,)).unwrap()); | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because of the requirements on the impl of `Send` for `Unique<[closure@src\lib.rs:223:32: 223:88]>` | |
= note: required because it appears within the type `Box<[closure@src\lib.rs:223:32: 223:88]>` | |
note: required because it's used within this closure | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\prelude.rs:2378:27 | |
| | |
2378 | (pass() | lfo(move |t| lerp(T::new(1), T::new(10), phase_f(t)))) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because it appears within the type `Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, | |
Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>` | |
= note: required because it appears within the type `Stack<f32, Pass<f32>, Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, | |
Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>` | |
= note: required because it appears within the type `Pipe<f32, Stack<f32, Pass<f32>, Envelope<f32, f32, | |
[closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>` | |
= note: required because it appears within the type `Pipe<f32, Pipe<f32, Stack<f32, Pass<f32>, Envelope<f32, f32, | |
[closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>` | |
= note: required because it appears within the type `Feedback<UInt<UTerm, B1>, f32, Pipe<f32, Pipe<f32, Stack<f32, Pass<f32>, | |
Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>, FrameId<UInt<UTerm, B1>, f32>>` | |
= note: required because it appears within the type `Bus<f32, Pass<f32>, Feedback<UInt<UTerm, B1>, f32, Pipe<f32, Pipe<f32, | |
Stack<f32, Pass<f32>, Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], | |
f32>>, fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>, FrameId<UInt<UTerm, B1>, f32>>>` | |
note: required because it appears within the type `impl AudioNode<Sample = f32, Inputs = UInt<UTerm, B1>, Outputs = UInt<UTerm, B1>>` | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\prelude.rs:2375:9 | |
| | |
2375 | ) -> An<impl AudioNode<Sample = T, Inputs = U1, Outputs = U1>> { | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
note: required because it appears within the type `impl AudioNode<Sample = f32, Inputs = UInt<UTerm, B1>, Outputs = UInt<UTerm, B1>>` | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\hacker32.rs:1816:9 | |
| | |
1816 | ) -> An<impl AudioNode<Sample = f32, Inputs = U1, Outputs = U1>> { | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because of the requirements on the impl of `AudioUnit32` for `An<impl AudioNode<Sample = f32, Inputs = UInt<UTerm, | |
B1>, Outputs = UInt<UTerm, B1>>>` | |
= note: required for the cast to the object type `dyn AudioUnit32` | |
error[E0277]: `(dyn for<'r, 's> Fn(&'r str, Option<&'s str>, Position) + 'static)` cannot be shared between threads safely | |
--> src\lib.rs:224:9 | |
| | |
224 | Box::new(h::phaser(feedback_amount, phase_f)) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `(dyn for<'r, 's> Fn(&'r str, Option<&'s str>, Position) + 'static)` cannot | |
be shared between threads safely | |
| | |
= help: the trait `Sync` is not implemented for `(dyn for<'r, 's> Fn(&'r str, Option<&'s str>, Position) + 'static)` | |
= help: the trait `AudioUnit32` is implemented for `An<X>` | |
= note: required because of the requirements on the impl of `Sync` for `Unique<(dyn for<'r, 's> Fn(&'r str, Option<&'s str>, | |
Position) + 'static)>` | |
= note: required because it appears within the type `Box<(dyn for<'r, 's> Fn(&'r str, Option<&'s str>, Position) + 'static)>` | |
= note: required because it appears within the type `Engine` | |
= note: required because it appears within the type `&Engine` | |
= note: required because it appears within the type `rhai::NativeCallContext<'_>` | |
= note: required because of the requirements on the impl of `Send` for `&rhai::NativeCallContext<'_>` | |
note: required because it's used within this closure | |
--> src\lib.rs:223:32 | |
| | |
223 | let phase_f = Box::new(|x| phase_f.call_within_context(&context, (x,)).unwrap()); | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because of the requirements on the impl of `Send` for `Unique<[closure@src\lib.rs:223:32: 223:88]>` | |
= note: required because it appears within the type `Box<[closure@src\lib.rs:223:32: 223:88]>` | |
note: required because it's used within this closure | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\prelude.rs:2378:27 | |
| | |
2378 | (pass() | lfo(move |t| lerp(T::new(1), T::new(10), phase_f(t)))) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because it appears within the type `Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, | |
Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>` | |
= note: required because it appears within the type `Stack<f32, Pass<f32>, Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, | |
Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>` | |
= note: required because it appears within the type `Pipe<f32, Stack<f32, Pass<f32>, Envelope<f32, f32, | |
[closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>` | |
= note: required because it appears within the type `Pipe<f32, Pipe<f32, Stack<f32, Pass<f32>, Envelope<f32, f32, | |
[closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>` | |
= note: required because it appears within the type `Feedback<UInt<UTerm, B1>, f32, Pipe<f32, Pipe<f32, Stack<f32, Pass<f32>, | |
Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>, FrameId<UInt<UTerm, B1>, f32>>` | |
= note: required because it appears within the type `Bus<f32, Pass<f32>, Feedback<UInt<UTerm, B1>, f32, Pipe<f32, Pipe<f32, | |
Stack<f32, Pass<f32>, Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], | |
f32>>, fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>, FrameId<UInt<UTerm, B1>, f32>>>` | |
note: required because it appears within the type `impl AudioNode<Sample = f32, Inputs = UInt<UTerm, B1>, Outputs = UInt<UTerm, B1>>` | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\prelude.rs:2375:9 | |
| | |
2375 | ) -> An<impl AudioNode<Sample = T, Inputs = U1, Outputs = U1>> { | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
note: required because it appears within the type `impl AudioNode<Sample = f32, Inputs = UInt<UTerm, B1>, Outputs = UInt<UTerm, B1>>` | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\hacker32.rs:1816:9 | |
| | |
1816 | ) -> An<impl AudioNode<Sample = f32, Inputs = U1, Outputs = U1>> { | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because of the requirements on the impl of `AudioUnit32` for `An<impl AudioNode<Sample = f32, Inputs = UInt<UTerm, | |
B1>, Outputs = UInt<UTerm, B1>>>` | |
= note: required for the cast to the object type `dyn AudioUnit32` | |
error[E0277]: `Rc<Locked<rhai::Dynamic>>` cannot be shared between threads safely | |
--> src\lib.rs:224:9 | |
| | |
224 | Box::new(h::phaser(feedback_amount, phase_f)) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Rc<Locked<rhai::Dynamic>>` cannot be shared between threads safely | |
| | |
= help: within `rhai::NativeCallContext<'_>`, the trait `Sync` is not implemented for `Rc<Locked<rhai::Dynamic>>` | |
= help: the trait `AudioUnit32` is implemented for `An<X>` | |
= note: required because it appears within the type `rhai::types::dynamic::Union` | |
= note: required because it appears within the type `rhai::Dynamic` | |
= note: required because it appears within the type `Engine` | |
= note: required because it appears within the type `&Engine` | |
= note: required because it appears within the type `rhai::NativeCallContext<'_>` | |
= note: required because of the requirements on the impl of `Send` for `&rhai::NativeCallContext<'_>` | |
note: required because it's used within this closure | |
--> src\lib.rs:223:32 | |
| | |
223 | let phase_f = Box::new(|x| phase_f.call_within_context(&context, (x,)).unwrap()); | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because of the requirements on the impl of `Send` for `Unique<[closure@src\lib.rs:223:32: 223:88]>` | |
= note: required because it appears within the type `Box<[closure@src\lib.rs:223:32: 223:88]>` | |
note: required because it's used within this closure | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\prelude.rs:2378:27 | |
| | |
2378 | (pass() | lfo(move |t| lerp(T::new(1), T::new(10), phase_f(t)))) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because it appears within the type `Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, | |
Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>` | |
= note: required because it appears within the type `Stack<f32, Pass<f32>, Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, | |
Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>` | |
= note: required because it appears within the type `Pipe<f32, Stack<f32, Pass<f32>, Envelope<f32, f32, | |
[closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>` | |
= note: required because it appears within the type `Pipe<f32, Pipe<f32, Stack<f32, Pass<f32>, Envelope<f32, f32, | |
[closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>` | |
= note: required because it appears within the type `Feedback<UInt<UTerm, B1>, f32, Pipe<f32, Pipe<f32, Stack<f32, Pass<f32>, | |
Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>, FrameId<UInt<UTerm, B1>, f32>>` | |
= note: required because it appears within the type `Bus<f32, Pass<f32>, Feedback<UInt<UTerm, B1>, f32, Pipe<f32, Pipe<f32, | |
Stack<f32, Pass<f32>, Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], | |
f32>>, fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>, FrameId<UInt<UTerm, B1>, f32>>>` | |
note: required because it appears within the type `impl AudioNode<Sample = f32, Inputs = UInt<UTerm, B1>, Outputs = UInt<UTerm, B1>>` | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\prelude.rs:2375:9 | |
| | |
2375 | ) -> An<impl AudioNode<Sample = T, Inputs = U1, Outputs = U1>> { | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
note: required because it appears within the type `impl AudioNode<Sample = f32, Inputs = UInt<UTerm, B1>, Outputs = UInt<UTerm, B1>>` | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\hacker32.rs:1816:9 | |
| | |
1816 | ) -> An<impl AudioNode<Sample = f32, Inputs = U1, Outputs = U1>> { | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because of the requirements on the impl of `AudioUnit32` for `An<impl AudioNode<Sample = f32, Inputs = UInt<UTerm, | |
B1>, Outputs = UInt<UTerm, B1>>>` | |
= note: required for the cast to the object type `dyn AudioUnit32` | |
error[E0277]: `Rc<StaticModuleResolver>` cannot be shared between threads safely | |
--> src\lib.rs:224:9 | |
| | |
224 | Box::new(h::phaser(feedback_amount, phase_f)) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Rc<StaticModuleResolver>` cannot be shared between threads safely | |
| | |
= help: within `rhai::NativeCallContext<'_>`, the trait `Sync` is not implemented for `Rc<StaticModuleResolver>` | |
= help: the trait `AudioUnit32` is implemented for `An<X>` | |
= note: required because it appears within the type `Option<Rc<StaticModuleResolver>>` | |
= note: required because it appears within the type `rhai::eval::global_state::GlobalRuntimeState<'_>` | |
= note: required because it appears within the type `&rhai::eval::global_state::GlobalRuntimeState<'_>` | |
= note: required because it appears within the type `Option<&rhai::eval::global_state::GlobalRuntimeState<'_>>` | |
= note: required because it appears within the type `rhai::NativeCallContext<'_>` | |
= note: required because of the requirements on the impl of `Send` for `&rhai::NativeCallContext<'_>` | |
note: required because it's used within this closure | |
--> src\lib.rs:223:32 | |
| | |
223 | let phase_f = Box::new(|x| phase_f.call_within_context(&context, (x,)).unwrap()); | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because of the requirements on the impl of `Send` for `Unique<[closure@src\lib.rs:223:32: 223:88]>` | |
= note: required because it appears within the type `Box<[closure@src\lib.rs:223:32: 223:88]>` | |
note: required because it's used within this closure | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\prelude.rs:2378:27 | |
| | |
2378 | (pass() | lfo(move |t| lerp(T::new(1), T::new(10), phase_f(t)))) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because it appears within the type `Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, | |
Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>` | |
= note: required because it appears within the type `Stack<f32, Pass<f32>, Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, | |
Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>` | |
= note: required because it appears within the type `Pipe<f32, Stack<f32, Pass<f32>, Envelope<f32, f32, | |
[closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>` | |
= note: required because it appears within the type `Pipe<f32, Pipe<f32, Stack<f32, Pass<f32>, Envelope<f32, f32, | |
[closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>` | |
= note: required because it appears within the type `Feedback<UInt<UTerm, B1>, f32, Pipe<f32, Pipe<f32, Stack<f32, Pass<f32>, | |
Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>, FrameId<UInt<UTerm, B1>, f32>>` | |
= note: required because it appears within the type `Bus<f32, Pass<f32>, Feedback<UInt<UTerm, B1>, f32, Pipe<f32, Pipe<f32, | |
Stack<f32, Pass<f32>, Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], | |
f32>>, fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>, FrameId<UInt<UTerm, B1>, f32>>>` | |
note: required because it appears within the type `impl AudioNode<Sample = f32, Inputs = UInt<UTerm, B1>, Outputs = UInt<UTerm, B1>>` | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\prelude.rs:2375:9 | |
| | |
2375 | ) -> An<impl AudioNode<Sample = T, Inputs = U1, Outputs = U1>> { | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
note: required because it appears within the type `impl AudioNode<Sample = f32, Inputs = UInt<UTerm, B1>, Outputs = UInt<UTerm, B1>>` | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\hacker32.rs:1816:9 | |
| | |
1816 | ) -> An<impl AudioNode<Sample = f32, Inputs = U1, Outputs = U1>> { | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because of the requirements on the impl of `AudioUnit32` for `An<impl AudioNode<Sample = f32, Inputs = UInt<UTerm, | |
B1>, Outputs = UInt<UTerm, B1>>>` | |
= note: required for the cast to the object type `dyn AudioUnit32` | |
error[E0277]: `Rc<Locked<BTreeMap<ImmutableString, rhai::Dynamic>>>` cannot be shared between threads safely | |
--> src\lib.rs:224:9 | |
| | |
224 | Box::new(h::phaser(feedback_amount, phase_f)) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Rc<Locked<BTreeMap<ImmutableString, rhai::Dynamic>>>` cannot be shared | |
between threads safely | |
| | |
= help: within `rhai::NativeCallContext<'_>`, the trait `Sync` is not implemented for `Rc<Locked<BTreeMap<ImmutableString, | |
rhai::Dynamic>>>` | |
= help: the trait `AudioUnit32` is implemented for `An<X>` | |
= note: required because it appears within the type `Option<Rc<Locked<BTreeMap<ImmutableString, rhai::Dynamic>>>>` | |
= note: required because it appears within the type `rhai::eval::global_state::GlobalRuntimeState<'_>` | |
= note: required because it appears within the type `&rhai::eval::global_state::GlobalRuntimeState<'_>` | |
= note: required because it appears within the type `Option<&rhai::eval::global_state::GlobalRuntimeState<'_>>` | |
= note: required because it appears within the type `rhai::NativeCallContext<'_>` | |
= note: required because of the requirements on the impl of `Send` for `&rhai::NativeCallContext<'_>` | |
note: required because it's used within this closure | |
--> src\lib.rs:223:32 | |
| | |
223 | let phase_f = Box::new(|x| phase_f.call_within_context(&context, (x,)).unwrap()); | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because of the requirements on the impl of `Send` for `Unique<[closure@src\lib.rs:223:32: 223:88]>` | |
= note: required because it appears within the type `Box<[closure@src\lib.rs:223:32: 223:88]>` | |
note: required because it's used within this closure | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\prelude.rs:2378:27 | |
| | |
2378 | (pass() | lfo(move |t| lerp(T::new(1), T::new(10), phase_f(t)))) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because it appears within the type `Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, | |
Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>` | |
= note: required because it appears within the type `Stack<f32, Pass<f32>, Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, | |
Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>` | |
= note: required because it appears within the type `Pipe<f32, Stack<f32, Pass<f32>, Envelope<f32, f32, | |
[closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>` | |
= note: required because it appears within the type `Pipe<f32, Pipe<f32, Stack<f32, Pass<f32>, Envelope<f32, f32, | |
[closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>` | |
= note: required because it appears within the type `Feedback<UInt<UTerm, B1>, f32, Pipe<f32, Pipe<f32, Stack<f32, Pass<f32>, | |
Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>, FrameId<UInt<UTerm, B1>, f32>>` | |
= note: required because it appears within the type `Bus<f32, Pass<f32>, Feedback<UInt<UTerm, B1>, f32, Pipe<f32, Pipe<f32, | |
Stack<f32, Pass<f32>, Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], | |
f32>>, fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>, FrameId<UInt<UTerm, B1>, f32>>>` | |
note: required because it appears within the type `impl AudioNode<Sample = f32, Inputs = UInt<UTerm, B1>, Outputs = UInt<UTerm, B1>>` | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\prelude.rs:2375:9 | |
| | |
2375 | ) -> An<impl AudioNode<Sample = T, Inputs = U1, Outputs = U1>> { | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
note: required because it appears within the type `impl AudioNode<Sample = f32, Inputs = UInt<UTerm, B1>, Outputs = UInt<UTerm, B1>>` | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\hacker32.rs:1816:9 | |
| | |
1816 | ) -> An<impl AudioNode<Sample = f32, Inputs = U1, Outputs = U1>> { | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because of the requirements on the impl of `AudioUnit32` for `An<impl AudioNode<Sample = f32, Inputs = UInt<UTerm, | |
B1>, Outputs = UInt<UTerm, B1>>>` | |
= note: required for the cast to the object type `dyn AudioUnit32` | |
error[E0277]: `Rc<rhai::Module>` cannot be shared between threads safely | |
--> src\lib.rs:224:9 | |
| | |
224 | Box::new(h::phaser(feedback_amount, phase_f)) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Rc<rhai::Module>` cannot be shared between threads safely | |
| | |
= help: within `[Rc<rhai::Module>; 3]`, the trait `Sync` is not implemented for `Rc<rhai::Module>` | |
= help: the trait `AudioUnit32` is implemented for `An<X>` | |
= note: required because it appears within the type `[Rc<rhai::Module>; 3]` | |
= note: required because of the requirements on the impl of `Sync` for `smallvec::SmallVecData<[Rc<rhai::Module>; 3]>` | |
= note: required because it appears within the type `smallvec::SmallVec<[Rc<rhai::Module>; 3]>` | |
= note: required because it appears within the type `Engine` | |
= note: required because it appears within the type `&Engine` | |
= note: required because it appears within the type `rhai::NativeCallContext<'_>` | |
= note: required because of the requirements on the impl of `Send` for `&rhai::NativeCallContext<'_>` | |
note: required because it's used within this closure | |
--> src\lib.rs:223:32 | |
| | |
223 | let phase_f = Box::new(|x| phase_f.call_within_context(&context, (x,)).unwrap()); | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because of the requirements on the impl of `Send` for `Unique<[closure@src\lib.rs:223:32: 223:88]>` | |
= note: required because it appears within the type `Box<[closure@src\lib.rs:223:32: 223:88]>` | |
note: required because it's used within this closure | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\prelude.rs:2378:27 | |
| | |
2378 | (pass() | lfo(move |t| lerp(T::new(1), T::new(10), phase_f(t)))) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because it appears within the type `Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, | |
Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>` | |
= note: required because it appears within the type `Stack<f32, Pass<f32>, Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, | |
Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>` | |
= note: required because it appears within the type `Pipe<f32, Stack<f32, Pass<f32>, Envelope<f32, f32, | |
[closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>` | |
= note: required because it appears within the type `Pipe<f32, Pipe<f32, Stack<f32, Pass<f32>, Envelope<f32, f32, | |
[closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>` | |
= note: required because it appears within the type `Feedback<UInt<UTerm, B1>, f32, Pipe<f32, Pipe<f32, Stack<f32, Pass<f32>, | |
Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>, FrameId<UInt<UTerm, B1>, f32>>` | |
= note: required because it appears within the type `Bus<f32, Pass<f32>, Feedback<UInt<UTerm, B1>, f32, Pipe<f32, Pipe<f32, | |
Stack<f32, Pass<f32>, Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], | |
f32>>, fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>, FrameId<UInt<UTerm, B1>, f32>>>` | |
note: required because it appears within the type `impl AudioNode<Sample = f32, Inputs = UInt<UTerm, B1>, Outputs = UInt<UTerm, B1>>` | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\prelude.rs:2375:9 | |
| | |
2375 | ) -> An<impl AudioNode<Sample = T, Inputs = U1, Outputs = U1>> { | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
note: required because it appears within the type `impl AudioNode<Sample = f32, Inputs = UInt<UTerm, B1>, Outputs = UInt<UTerm, B1>>` | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\hacker32.rs:1816:9 | |
| | |
1816 | ) -> An<impl AudioNode<Sample = f32, Inputs = U1, Outputs = U1>> { | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because of the requirements on the impl of `AudioUnit32` for `An<impl AudioNode<Sample = f32, Inputs = UInt<UTerm, | |
B1>, Outputs = UInt<UTerm, B1>>>` | |
= note: required for the cast to the object type `dyn AudioUnit32` | |
error[E0277]: `(dyn for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7> Fn(bool, VarDefInfo<'r>, EvalContext<'s, 't0, 't1, 't2, 't3, 't4, | |
't5, 't6, 't7>) -> Result<bool, Box<EvalAltResult>> + 'static)` cannot be shared between threads safely | |
--> src\lib.rs:224:9 | |
| | |
224 | Box::new(h::phaser(feedback_amount, phase_f)) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `(dyn for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7> Fn(bool, | |
VarDefInfo<'r>, EvalContext<'s, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7>) -> Result<bool, Box<EvalAltResult>> + 'static)` cannot be shared | |
between threads safely | |
| | |
= help: the trait `Sync` is not implemented for `(dyn for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7> Fn(bool, VarDefInfo<'r>, | |
EvalContext<'s, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7>) -> Result<bool, Box<EvalAltResult>> + 'static)` | |
= help: the trait `AudioUnit32` is implemented for `An<X>` | |
= note: required because of the requirements on the impl of `Sync` for `Unique<(dyn for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, | |
't7> Fn(bool, VarDefInfo<'r>, EvalContext<'s, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7>) -> Result<bool, Box<EvalAltResult>> + 'static)>` | |
= note: required because it appears within the type `Box<(dyn for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7> Fn(bool, | |
VarDefInfo<'r>, EvalContext<'s, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7>) -> Result<bool, Box<EvalAltResult>> + 'static)>` | |
= note: required because it appears within the type `Option<Box<(dyn for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7> Fn(bool, | |
VarDefInfo<'r>, EvalContext<'s, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7>) -> Result<bool, Box<EvalAltResult>> + 'static)>>` | |
= note: required because it appears within the type `Engine` | |
= note: required because it appears within the type `&Engine` | |
= note: required because it appears within the type `rhai::NativeCallContext<'_>` | |
= note: required because of the requirements on the impl of `Send` for `&rhai::NativeCallContext<'_>` | |
note: required because it's used within this closure | |
--> src\lib.rs:223:32 | |
| | |
223 | let phase_f = Box::new(|x| phase_f.call_within_context(&context, (x,)).unwrap()); | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because of the requirements on the impl of `Send` for `Unique<[closure@src\lib.rs:223:32: 223:88]>` | |
= note: required because it appears within the type `Box<[closure@src\lib.rs:223:32: 223:88]>` | |
note: required because it's used within this closure | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\prelude.rs:2378:27 | |
| | |
2378 | (pass() | lfo(move |t| lerp(T::new(1), T::new(10), phase_f(t)))) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because it appears within the type `Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, | |
Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>` | |
= note: required because it appears within the type `Stack<f32, Pass<f32>, Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, | |
Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>` | |
= note: required because it appears within the type `Pipe<f32, Stack<f32, Pass<f32>, Envelope<f32, f32, | |
[closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>` | |
= note: required because it appears within the type `Pipe<f32, Pipe<f32, Stack<f32, Pass<f32>, Envelope<f32, f32, | |
[closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>` | |
= note: required because it appears within the type `Feedback<UInt<UTerm, B1>, f32, Pipe<f32, Pipe<f32, Stack<f32, Pass<f32>, | |
Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>, FrameId<UInt<UTerm, B1>, f32>>` | |
= note: required because it appears within the type `Bus<f32, Pass<f32>, Feedback<UInt<UTerm, B1>, f32, Pipe<f32, Pipe<f32, | |
Stack<f32, Pass<f32>, Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], | |
f32>>, fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>, FrameId<UInt<UTerm, B1>, f32>>>` | |
note: required because it appears within the type `impl AudioNode<Sample = f32, Inputs = UInt<UTerm, B1>, Outputs = UInt<UTerm, B1>>` | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\prelude.rs:2375:9 | |
| | |
2375 | ) -> An<impl AudioNode<Sample = T, Inputs = U1, Outputs = U1>> { | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
note: required because it appears within the type `impl AudioNode<Sample = f32, Inputs = UInt<UTerm, B1>, Outputs = UInt<UTerm, B1>>` | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\hacker32.rs:1816:9 | |
| | |
1816 | ) -> An<impl AudioNode<Sample = f32, Inputs = U1, Outputs = U1>> { | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because of the requirements on the impl of `AudioUnit32` for `An<impl AudioNode<Sample = f32, Inputs = UInt<UTerm, | |
B1>, Outputs = UInt<UTerm, B1>>>` | |
= note: required for the cast to the object type `dyn AudioUnit32` | |
error[E0277]: `(dyn for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7> Fn(&'r str, usize, EvalContext<'s, 't0, 't1, 't2, 't3, 't4, 't5, | |
't6, 't7>) -> Result<Option<rhai::Dynamic>, Box<EvalAltResult>> + 'static)` cannot be shared between threads safely | |
--> src\lib.rs:224:9 | |
| | |
224 | Box::new(h::phaser(feedback_amount, phase_f)) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `(dyn for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7> Fn(&'r str, usize, | |
EvalContext<'s, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7>) -> Result<Option<rhai::Dynamic>, Box<EvalAltResult>> + 'static)` cannot be | |
shared between threads safely | |
| | |
= help: the trait `Sync` is not implemented for `(dyn for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7> Fn(&'r str, usize, | |
EvalContext<'s, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7>) -> Result<Option<rhai::Dynamic>, Box<EvalAltResult>> + 'static)` | |
= help: the trait `AudioUnit32` is implemented for `An<X>` | |
= note: required because of the requirements on the impl of `Sync` for `Unique<(dyn for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, | |
't7> Fn(&'r str, usize, EvalContext<'s, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7>) -> Result<Option<rhai::Dynamic>, Box<EvalAltResult>> + | |
'static)>` | |
= note: required because it appears within the type `Box<(dyn for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7> Fn(&'r str, usize, | |
EvalContext<'s, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7>) -> Result<Option<rhai::Dynamic>, Box<EvalAltResult>> + 'static)>` | |
= note: required because it appears within the type `Option<Box<(dyn for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7> Fn(&'r str, | |
usize, EvalContext<'s, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7>) -> Result<Option<rhai::Dynamic>, Box<EvalAltResult>> + 'static)>>` | |
= note: required because it appears within the type `Engine` | |
= note: required because it appears within the type `&Engine` | |
= note: required because it appears within the type `rhai::NativeCallContext<'_>` | |
= note: required because of the requirements on the impl of `Send` for `&rhai::NativeCallContext<'_>` | |
note: required because it's used within this closure | |
--> src\lib.rs:223:32 | |
| | |
223 | let phase_f = Box::new(|x| phase_f.call_within_context(&context, (x,)).unwrap()); | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because of the requirements on the impl of `Send` for `Unique<[closure@src\lib.rs:223:32: 223:88]>` | |
= note: required because it appears within the type `Box<[closure@src\lib.rs:223:32: 223:88]>` | |
note: required because it's used within this closure | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\prelude.rs:2378:27 | |
| | |
2378 | (pass() | lfo(move |t| lerp(T::new(1), T::new(10), phase_f(t)))) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because it appears within the type `Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, | |
Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>` | |
= note: required because it appears within the type `Stack<f32, Pass<f32>, Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, | |
Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>` | |
= note: required because it appears within the type `Pipe<f32, Stack<f32, Pass<f32>, Envelope<f32, f32, | |
[closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>` | |
= note: required because it appears within the type `Pipe<f32, Pipe<f32, Stack<f32, Pass<f32>, Envelope<f32, f32, | |
[closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>` | |
= note: required because it appears within the type `Feedback<UInt<UTerm, B1>, f32, Pipe<f32, Pipe<f32, Stack<f32, Pass<f32>, | |
Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>, FrameId<UInt<UTerm, B1>, f32>>` | |
= note: required because it appears within the type `Bus<f32, Pass<f32>, Feedback<UInt<UTerm, B1>, f32, Pipe<f32, Pipe<f32, | |
Stack<f32, Pass<f32>, Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], | |
f32>>, fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>, FrameId<UInt<UTerm, B1>, f32>>>` | |
note: required because it appears within the type `impl AudioNode<Sample = f32, Inputs = UInt<UTerm, B1>, Outputs = UInt<UTerm, B1>>` | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\prelude.rs:2375:9 | |
| | |
2375 | ) -> An<impl AudioNode<Sample = T, Inputs = U1, Outputs = U1>> { | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
note: required because it appears within the type `impl AudioNode<Sample = f32, Inputs = UInt<UTerm, B1>, Outputs = UInt<UTerm, B1>>` | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\hacker32.rs:1816:9 | |
| | |
1816 | ) -> An<impl AudioNode<Sample = f32, Inputs = U1, Outputs = U1>> { | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because of the requirements on the impl of `AudioUnit32` for `An<impl AudioNode<Sample = f32, Inputs = UInt<UTerm, | |
B1>, Outputs = UInt<UTerm, B1>>>` | |
= note: required for the cast to the object type `dyn AudioUnit32` | |
error[E0277]: `(dyn for<'r> Fn(rhai::tokenizer::Token, Position, &'r rhai::tokenizer::TokenizeState) -> rhai::tokenizer::Token + | |
'static)` cannot be shared between threads safely | |
--> src\lib.rs:224:9 | |
| | |
224 | Box::new(h::phaser(feedback_amount, phase_f)) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `(dyn for<'r> Fn(rhai::tokenizer::Token, Position, &'r | |
rhai::tokenizer::TokenizeState) -> rhai::tokenizer::Token + 'static)` cannot be shared between threads safely | |
| | |
= help: the trait `Sync` is not implemented for `(dyn for<'r> Fn(rhai::tokenizer::Token, Position, &'r | |
rhai::tokenizer::TokenizeState) -> rhai::tokenizer::Token + 'static)` | |
= help: the trait `AudioUnit32` is implemented for `An<X>` | |
= note: required because of the requirements on the impl of `Sync` for `Unique<(dyn for<'r> Fn(rhai::tokenizer::Token, Position, &'r | |
rhai::tokenizer::TokenizeState) -> rhai::tokenizer::Token + 'static)>` | |
= note: required because it appears within the type `Box<(dyn for<'r> Fn(rhai::tokenizer::Token, Position, &'r | |
rhai::tokenizer::TokenizeState) -> rhai::tokenizer::Token + 'static)>` | |
= note: required because it appears within the type `Option<Box<(dyn for<'r> Fn(rhai::tokenizer::Token, Position, &'r | |
rhai::tokenizer::TokenizeState) -> rhai::tokenizer::Token + 'static)>>` | |
= note: required because it appears within the type `Engine` | |
= note: required because it appears within the type `&Engine` | |
= note: required because it appears within the type `rhai::NativeCallContext<'_>` | |
= note: required because of the requirements on the impl of `Send` for `&rhai::NativeCallContext<'_>` | |
note: required because it's used within this closure | |
--> src\lib.rs:223:32 | |
| | |
223 | let phase_f = Box::new(|x| phase_f.call_within_context(&context, (x,)).unwrap()); | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because of the requirements on the impl of `Send` for `Unique<[closure@src\lib.rs:223:32: 223:88]>` | |
= note: required because it appears within the type `Box<[closure@src\lib.rs:223:32: 223:88]>` | |
note: required because it's used within this closure | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\prelude.rs:2378:27 | |
| | |
2378 | (pass() | lfo(move |t| lerp(T::new(1), T::new(10), phase_f(t)))) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because it appears within the type `Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, | |
Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>` | |
= note: required because it appears within the type `Stack<f32, Pass<f32>, Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, | |
Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>` | |
= note: required because it appears within the type `Pipe<f32, Stack<f32, Pass<f32>, Envelope<f32, f32, | |
[closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>` | |
= note: required because it appears within the type `Pipe<f32, Pipe<f32, Stack<f32, Pass<f32>, Envelope<f32, f32, | |
[closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>` | |
= note: required because it appears within the type `Feedback<UInt<UTerm, B1>, f32, Pipe<f32, Pipe<f32, Stack<f32, Pass<f32>, | |
Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>, FrameId<UInt<UTerm, B1>, f32>>` | |
= note: required because it appears within the type `Bus<f32, Pass<f32>, Feedback<UInt<UTerm, B1>, f32, Pipe<f32, Pipe<f32, | |
Stack<f32, Pass<f32>, Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], | |
f32>>, fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>, FrameId<UInt<UTerm, B1>, f32>>>` | |
note: required because it appears within the type `impl AudioNode<Sample = f32, Inputs = UInt<UTerm, B1>, Outputs = UInt<UTerm, B1>>` | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\prelude.rs:2375:9 | |
| | |
2375 | ) -> An<impl AudioNode<Sample = T, Inputs = U1, Outputs = U1>> { | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
note: required because it appears within the type `impl AudioNode<Sample = f32, Inputs = UInt<UTerm, B1>, Outputs = UInt<UTerm, B1>>` | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\hacker32.rs:1816:9 | |
| | |
1816 | ) -> An<impl AudioNode<Sample = f32, Inputs = U1, Outputs = U1>> { | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because of the requirements on the impl of `AudioUnit32` for `An<impl AudioNode<Sample = f32, Inputs = UInt<UTerm, | |
B1>, Outputs = UInt<UTerm, B1>>>` | |
= note: required for the cast to the object type `dyn AudioUnit32` | |
error[E0277]: `(dyn Fn(u64) -> Option<rhai::Dynamic> + 'static)` cannot be shared between threads safely | |
--> src\lib.rs:224:9 | |
| | |
224 | Box::new(h::phaser(feedback_amount, phase_f)) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `(dyn Fn(u64) -> Option<rhai::Dynamic> + 'static)` cannot be shared between | |
threads safely | |
| | |
= help: the trait `Sync` is not implemented for `(dyn Fn(u64) -> Option<rhai::Dynamic> + 'static)` | |
= help: the trait `AudioUnit32` is implemented for `An<X>` | |
= note: required because of the requirements on the impl of `Sync` for `Unique<(dyn Fn(u64) -> Option<rhai::Dynamic> + 'static)>` | |
= note: required because it appears within the type `Box<(dyn Fn(u64) -> Option<rhai::Dynamic> + 'static)>` | |
= note: required because it appears within the type `Option<Box<(dyn Fn(u64) -> Option<rhai::Dynamic> + 'static)>>` | |
= note: required because it appears within the type `Engine` | |
= note: required because it appears within the type `&Engine` | |
= note: required because it appears within the type `rhai::NativeCallContext<'_>` | |
= note: required because of the requirements on the impl of `Send` for `&rhai::NativeCallContext<'_>` | |
note: required because it's used within this closure | |
--> src\lib.rs:223:32 | |
| | |
223 | let phase_f = Box::new(|x| phase_f.call_within_context(&context, (x,)).unwrap()); | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because of the requirements on the impl of `Send` for `Unique<[closure@src\lib.rs:223:32: 223:88]>` | |
= note: required because it appears within the type `Box<[closure@src\lib.rs:223:32: 223:88]>` | |
note: required because it's used within this closure | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\prelude.rs:2378:27 | |
| | |
2378 | (pass() | lfo(move |t| lerp(T::new(1), T::new(10), phase_f(t)))) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because it appears within the type `Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, | |
Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>` | |
= note: required because it appears within the type `Stack<f32, Pass<f32>, Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, | |
Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>` | |
= note: required because it appears within the type `Pipe<f32, Stack<f32, Pass<f32>, Envelope<f32, f32, | |
[closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>` | |
= note: required because it appears within the type `Pipe<f32, Pipe<f32, Stack<f32, Pass<f32>, Envelope<f32, f32, | |
[closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>` | |
= note: required because it appears within the type `Feedback<UInt<UTerm, B1>, f32, Pipe<f32, Pipe<f32, Stack<f32, Pass<f32>, | |
Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>, FrameId<UInt<UTerm, B1>, f32>>` | |
= note: required because it appears within the type `Bus<f32, Pass<f32>, Feedback<UInt<UTerm, B1>, f32, Pipe<f32, Pipe<f32, | |
Stack<f32, Pass<f32>, Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], | |
f32>>, fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>, FrameId<UInt<UTerm, B1>, f32>>>` | |
note: required because it appears within the type `impl AudioNode<Sample = f32, Inputs = UInt<UTerm, B1>, Outputs = UInt<UTerm, B1>>` | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\prelude.rs:2375:9 | |
| | |
2375 | ) -> An<impl AudioNode<Sample = T, Inputs = U1, Outputs = U1>> { | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
note: required because it appears within the type `impl AudioNode<Sample = f32, Inputs = UInt<UTerm, B1>, Outputs = UInt<UTerm, B1>>` | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\hacker32.rs:1816:9 | |
| | |
1816 | ) -> An<impl AudioNode<Sample = f32, Inputs = U1, Outputs = U1>> { | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because of the requirements on the impl of `AudioUnit32` for `An<impl AudioNode<Sample = f32, Inputs = UInt<UTerm, | |
B1>, Outputs = UInt<UTerm, B1>>>` | |
= note: required for the cast to the object type `dyn AudioUnit32` | |
error[E0277]: `Rc<smartstring::SmartString<smartstring::config::LazyCompact>>` cannot be shared between threads safely | |
--> src\lib.rs:224:9 | |
| | |
224 | Box::new(h::phaser(feedback_amount, phase_f)) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Rc<smartstring::SmartString<smartstring::config::LazyCompact>>` cannot be | |
shared between threads safely | |
| | |
= help: within `rhai::NativeCallContext<'_>`, the trait `Sync` is not implemented for | |
`Rc<smartstring::SmartString<smartstring::config::LazyCompact>>` | |
= help: the trait `AudioUnit32` is implemented for `An<X>` | |
= note: required because it appears within the type `ImmutableString` | |
= note: required because it appears within the type `rhai::types::dynamic::Union` | |
= note: required because it appears within the type `rhai::Dynamic` | |
= note: required because it appears within the type `Engine` | |
= note: required because it appears within the type `&Engine` | |
= note: required because it appears within the type `rhai::NativeCallContext<'_>` | |
= note: required because of the requirements on the impl of `Send` for `&rhai::NativeCallContext<'_>` | |
note: required because it's used within this closure | |
--> src\lib.rs:223:32 | |
| | |
223 | let phase_f = Box::new(|x| phase_f.call_within_context(&context, (x,)).unwrap()); | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because of the requirements on the impl of `Send` for `Unique<[closure@src\lib.rs:223:32: 223:88]>` | |
= note: required because it appears within the type `Box<[closure@src\lib.rs:223:32: 223:88]>` | |
note: required because it's used within this closure | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\prelude.rs:2378:27 | |
| | |
2378 | (pass() | lfo(move |t| lerp(T::new(1), T::new(10), phase_f(t)))) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because it appears within the type `Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, | |
Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>` | |
= note: required because it appears within the type `Stack<f32, Pass<f32>, Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, | |
Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>` | |
= note: required because it appears within the type `Pipe<f32, Stack<f32, Pass<f32>, Envelope<f32, f32, | |
[closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>` | |
= note: required because it appears within the type `Pipe<f32, Pipe<f32, Stack<f32, Pass<f32>, Envelope<f32, f32, | |
[closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>` | |
= note: required because it appears within the type `Feedback<UInt<UTerm, B1>, f32, Pipe<f32, Pipe<f32, Stack<f32, Pass<f32>, | |
Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>, FrameId<UInt<UTerm, B1>, f32>>` | |
= note: required because it appears within the type `Bus<f32, Pass<f32>, Feedback<UInt<UTerm, B1>, f32, Pipe<f32, Pipe<f32, | |
Stack<f32, Pass<f32>, Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], | |
f32>>, fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>, FrameId<UInt<UTerm, B1>, f32>>>` | |
note: required because it appears within the type `impl AudioNode<Sample = f32, Inputs = UInt<UTerm, B1>, Outputs = UInt<UTerm, B1>>` | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\prelude.rs:2375:9 | |
| | |
2375 | ) -> An<impl AudioNode<Sample = T, Inputs = U1, Outputs = U1>> { | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
note: required because it appears within the type `impl AudioNode<Sample = f32, Inputs = UInt<UTerm, B1>, Outputs = UInt<UTerm, B1>>` | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\hacker32.rs:1816:9 | |
| | |
1816 | ) -> An<impl AudioNode<Sample = f32, Inputs = U1, Outputs = U1>> { | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because of the requirements on the impl of `AudioUnit32` for `An<impl AudioNode<Sample = f32, Inputs = UInt<UTerm, | |
B1>, Outputs = UInt<UTerm, B1>>>` | |
= note: required for the cast to the object type `dyn AudioUnit32` | |
error[E0277]: `Rc<(dyn Fn(rhai::Dynamic) -> Box<(dyn std::iter::Iterator<Item = rhai::Dynamic> + 'static)> + 'static)>` cannot be shared | |
between threads safely | |
--> src\lib.rs:224:9 | |
| | |
224 | Box::new(h::phaser(feedback_amount, phase_f)) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Rc<(dyn Fn(rhai::Dynamic) -> Box<(dyn std::iter::Iterator<Item = | |
rhai::Dynamic> + 'static)> + 'static)>` cannot be shared between threads safely | |
| | |
= help: the trait `Sync` is not implemented for `Rc<(dyn Fn(rhai::Dynamic) -> Box<(dyn std::iter::Iterator<Item = rhai::Dynamic> + | |
'static)> + 'static)>` | |
= help: the trait `AudioUnit32` is implemented for `An<X>` | |
= note: required because of the requirements on the impl of `Sync` for | |
`alloc::collections::btree::node::NodeRef<alloc::collections::btree::node::marker::Owned, std::any::TypeId, Rc<(dyn Fn(rhai::Dynamic) -> | |
Box<(dyn std::iter::Iterator<Item = rhai::Dynamic> + 'static)> + 'static)>, alloc::collections::btree::node::marker::LeafOrInternal>` | |
= note: required because it appears within the type | |
`Option<alloc::collections::btree::node::NodeRef<alloc::collections::btree::node::marker::Owned, std::any::TypeId, Rc<(dyn | |
Fn(rhai::Dynamic) -> Box<(dyn std::iter::Iterator<Item = rhai::Dynamic> + 'static)> + 'static)>, | |
alloc::collections::btree::node::marker::LeafOrInternal>>` | |
= note: required because it appears within the type `BTreeMap<std::any::TypeId, Rc<(dyn Fn(rhai::Dynamic) -> Box<(dyn | |
std::iter::Iterator<Item = rhai::Dynamic> + 'static)> + 'static)>>` | |
= note: required because it appears within the type `rhai::Module` | |
= note: required because it appears within the type `&rhai::Module` | |
= note: required because it appears within the type `[&rhai::Module]` | |
= note: required because it appears within the type `&[&rhai::Module]` | |
= note: required because it appears within the type `rhai::NativeCallContext<'_>` | |
= note: required because of the requirements on the impl of `Send` for `&rhai::NativeCallContext<'_>` | |
note: required because it's used within this closure | |
--> src\lib.rs:223:32 | |
| | |
223 | let phase_f = Box::new(|x| phase_f.call_within_context(&context, (x,)).unwrap()); | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because of the requirements on the impl of `Send` for `Unique<[closure@src\lib.rs:223:32: 223:88]>` | |
= note: required because it appears within the type `Box<[closure@src\lib.rs:223:32: 223:88]>` | |
note: required because it's used within this closure | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\prelude.rs:2378:27 | |
| | |
2378 | (pass() | lfo(move |t| lerp(T::new(1), T::new(10), phase_f(t)))) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because it appears within the type `Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, | |
Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>` | |
= note: required because it appears within the type `Stack<f32, Pass<f32>, Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, | |
Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>` | |
= note: required because it appears within the type `Pipe<f32, Stack<f32, Pass<f32>, Envelope<f32, f32, | |
[closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>` | |
= note: required because it appears within the type `Pipe<f32, Pipe<f32, Stack<f32, Pass<f32>, Envelope<f32, f32, | |
[closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>` | |
= note: required because it appears within the type `Feedback<UInt<UTerm, B1>, f32, Pipe<f32, Pipe<f32, Stack<f32, Pass<f32>, | |
Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>, FrameId<UInt<UTerm, B1>, f32>>` | |
= note: required because it appears within the type `Bus<f32, Pass<f32>, Feedback<UInt<UTerm, B1>, f32, Pipe<f32, Pipe<f32, | |
Stack<f32, Pass<f32>, Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], | |
f32>>, fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>, FrameId<UInt<UTerm, B1>, f32>>>` | |
note: required because it appears within the type `impl AudioNode<Sample = f32, Inputs = UInt<UTerm, B1>, Outputs = UInt<UTerm, B1>>` | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\prelude.rs:2375:9 | |
| | |
2375 | ) -> An<impl AudioNode<Sample = T, Inputs = U1, Outputs = U1>> { | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
note: required because it appears within the type `impl AudioNode<Sample = f32, Inputs = UInt<UTerm, B1>, Outputs = UInt<UTerm, B1>>` | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\hacker32.rs:1816:9 | |
| | |
1816 | ) -> An<impl AudioNode<Sample = f32, Inputs = U1, Outputs = U1>> { | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because of the requirements on the impl of `AudioUnit32` for `An<impl AudioNode<Sample = f32, Inputs = UInt<UTerm, | |
B1>, Outputs = UInt<UTerm, B1>>>` | |
= note: required for the cast to the object type `dyn AudioUnit32` | |
error[E0277]: `(dyn for<'r, 's> Fn(&'r [ImmutableString], &'s str) -> Result<Option<ImmutableString>, ParseError> + 'static)` cannot be | |
shared between threads safely | |
--> src\lib.rs:224:9 | |
| | |
224 | Box::new(h::phaser(feedback_amount, phase_f)) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `(dyn for<'r, 's> Fn(&'r [ImmutableString], &'s str) -> | |
Result<Option<ImmutableString>, ParseError> + 'static)` cannot be shared between threads safely | |
| | |
= help: the trait `Sync` is not implemented for `(dyn for<'r, 's> Fn(&'r [ImmutableString], &'s str) -> | |
Result<Option<ImmutableString>, ParseError> + 'static)` | |
= help: the trait `AudioUnit32` is implemented for `An<X>` | |
= note: required because of the requirements on the impl of `Sync` for `Unique<(dyn for<'r, 's> Fn(&'r [ImmutableString], &'s str) | |
-> Result<Option<ImmutableString>, ParseError> + 'static)>` | |
= note: required because it appears within the type `Box<(dyn for<'r, 's> Fn(&'r [ImmutableString], &'s str) -> | |
Result<Option<ImmutableString>, ParseError> + 'static)>` | |
= note: required because it appears within the type `rhai::api::custom_syntax::CustomSyntax` | |
= note: required because of the requirements on the impl of `Sync` for | |
`alloc::collections::btree::node::NodeRef<alloc::collections::btree::node::marker::Owned, | |
smartstring::SmartString<smartstring::config::LazyCompact>, rhai::api::custom_syntax::CustomSyntax, | |
alloc::collections::btree::node::marker::LeafOrInternal>` | |
= note: required because it appears within the type | |
`Option<alloc::collections::btree::node::NodeRef<alloc::collections::btree::node::marker::Owned, | |
smartstring::SmartString<smartstring::config::LazyCompact>, rhai::api::custom_syntax::CustomSyntax, | |
alloc::collections::btree::node::marker::LeafOrInternal>>` | |
= note: required because it appears within the type `BTreeMap<smartstring::SmartString<smartstring::config::LazyCompact>, | |
rhai::api::custom_syntax::CustomSyntax>` | |
= note: required because it appears within the type `Engine` | |
= note: required because it appears within the type `&Engine` | |
= note: required because it appears within the type `rhai::NativeCallContext<'_>` | |
= note: required because of the requirements on the impl of `Send` for `&rhai::NativeCallContext<'_>` | |
note: required because it's used within this closure | |
--> src\lib.rs:223:32 | |
| | |
223 | let phase_f = Box::new(|x| phase_f.call_within_context(&context, (x,)).unwrap()); | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because of the requirements on the impl of `Send` for `Unique<[closure@src\lib.rs:223:32: 223:88]>` | |
= note: required because it appears within the type `Box<[closure@src\lib.rs:223:32: 223:88]>` | |
note: required because it's used within this closure | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\prelude.rs:2378:27 | |
| | |
2378 | (pass() | lfo(move |t| lerp(T::new(1), T::new(10), phase_f(t)))) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because it appears within the type `Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, | |
Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>` | |
= note: required because it appears within the type `Stack<f32, Pass<f32>, Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, | |
Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>` | |
= note: required because it appears within the type `Pipe<f32, Stack<f32, Pass<f32>, Envelope<f32, f32, | |
[closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>` | |
= note: required because it appears within the type `Pipe<f32, Pipe<f32, Stack<f32, Pass<f32>, Envelope<f32, f32, | |
[closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>` | |
= note: required because it appears within the type `Feedback<UInt<UTerm, B1>, f32, Pipe<f32, Pipe<f32, Stack<f32, Pass<f32>, | |
Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>, FrameId<UInt<UTerm, B1>, f32>>` | |
= note: required because it appears within the type `Bus<f32, Pass<f32>, Feedback<UInt<UTerm, B1>, f32, Pipe<f32, Pipe<f32, | |
Stack<f32, Pass<f32>, Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], | |
f32>>, fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>, FrameId<UInt<UTerm, B1>, f32>>>` | |
note: required because it appears within the type `impl AudioNode<Sample = f32, Inputs = UInt<UTerm, B1>, Outputs = UInt<UTerm, B1>>` | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\prelude.rs:2375:9 | |
| | |
2375 | ) -> An<impl AudioNode<Sample = T, Inputs = U1, Outputs = U1>> { | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
note: required because it appears within the type `impl AudioNode<Sample = f32, Inputs = UInt<UTerm, B1>, Outputs = UInt<UTerm, B1>>` | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\hacker32.rs:1816:9 | |
| | |
1816 | ) -> An<impl AudioNode<Sample = f32, Inputs = U1, Outputs = U1>> { | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because of the requirements on the impl of `AudioUnit32` for `An<impl AudioNode<Sample = f32, Inputs = UInt<UTerm, | |
B1>, Outputs = UInt<UTerm, B1>>>` | |
= note: required for the cast to the object type `dyn AudioUnit32` | |
error[E0277]: `(dyn for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9> Fn(&'r mut EvalContext<'s, 't0, 't1, 't2, 't3, 't4, | |
't5, 't6, 't7>, &'t8 [Expression<'t9>]) -> Result<rhai::Dynamic, Box<EvalAltResult>> + 'static)` cannot be shared between threads safely | |
--> src\lib.rs:224:9 | |
| | |
224 | Box::new(h::phaser(feedback_amount, phase_f)) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `(dyn for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9> Fn(&'r | |
mut EvalContext<'s, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7>, &'t8 [Expression<'t9>]) -> Result<rhai::Dynamic, Box<EvalAltResult>> + | |
'static)` cannot be shared between threads safely | |
| | |
= help: the trait `Sync` is not implemented for `(dyn for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9> Fn(&'r mut | |
EvalContext<'s, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7>, &'t8 [Expression<'t9>]) -> Result<rhai::Dynamic, Box<EvalAltResult>> + 'static)` | |
= help: the trait `AudioUnit32` is implemented for `An<X>` | |
= note: required because of the requirements on the impl of `Sync` for `Unique<(dyn for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, | |
't7, 't8, 't9> Fn(&'r mut EvalContext<'s, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7>, &'t8 [Expression<'t9>]) -> Result<rhai::Dynamic, | |
Box<EvalAltResult>> + 'static)>` | |
= note: required because it appears within the type `Box<(dyn for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9> Fn(&'r | |
mut EvalContext<'s, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7>, &'t8 [Expression<'t9>]) -> Result<rhai::Dynamic, Box<EvalAltResult>> + | |
'static)>` | |
= note: required because it appears within the type `rhai::api::custom_syntax::CustomSyntax` | |
= note: required because of the requirements on the impl of `Sync` for | |
`alloc::collections::btree::node::NodeRef<alloc::collections::btree::node::marker::Owned, | |
smartstring::SmartString<smartstring::config::LazyCompact>, rhai::api::custom_syntax::CustomSyntax, | |
alloc::collections::btree::node::marker::LeafOrInternal>` | |
= note: required because it appears within the type | |
`Option<alloc::collections::btree::node::NodeRef<alloc::collections::btree::node::marker::Owned, | |
smartstring::SmartString<smartstring::config::LazyCompact>, rhai::api::custom_syntax::CustomSyntax, | |
alloc::collections::btree::node::marker::LeafOrInternal>>` | |
= note: required because it appears within the type `BTreeMap<smartstring::SmartString<smartstring::config::LazyCompact>, | |
rhai::api::custom_syntax::CustomSyntax>` | |
= note: required because it appears within the type `Engine` | |
= note: required because it appears within the type `&Engine` | |
= note: required because it appears within the type `rhai::NativeCallContext<'_>` | |
= note: required because of the requirements on the impl of `Send` for `&rhai::NativeCallContext<'_>` | |
note: required because it's used within this closure | |
--> src\lib.rs:223:32 | |
| | |
223 | let phase_f = Box::new(|x| phase_f.call_within_context(&context, (x,)).unwrap()); | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because of the requirements on the impl of `Send` for `Unique<[closure@src\lib.rs:223:32: 223:88]>` | |
= note: required because it appears within the type `Box<[closure@src\lib.rs:223:32: 223:88]>` | |
note: required because it's used within this closure | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\prelude.rs:2378:27 | |
| | |
2378 | (pass() | lfo(move |t| lerp(T::new(1), T::new(10), phase_f(t)))) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because it appears within the type `Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, | |
Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>` | |
= note: required because it appears within the type `Stack<f32, Pass<f32>, Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, | |
Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>` | |
= note: required because it appears within the type `Pipe<f32, Stack<f32, Pass<f32>, Envelope<f32, f32, | |
[closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>` | |
= note: required because it appears within the type `Pipe<f32, Pipe<f32, Stack<f32, Pass<f32>, Envelope<f32, f32, | |
[closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>` | |
= note: required because it appears within the type `Feedback<UInt<UTerm, B1>, f32, Pipe<f32, Pipe<f32, Stack<f32, Pass<f32>, | |
Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>, FrameId<UInt<UTerm, B1>, f32>>` | |
= note: required because it appears within the type `Bus<f32, Pass<f32>, Feedback<UInt<UTerm, B1>, f32, Pipe<f32, Pipe<f32, | |
Stack<f32, Pass<f32>, Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], | |
f32>>, fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>, FrameId<UInt<UTerm, B1>, f32>>>` | |
note: required because it appears within the type `impl AudioNode<Sample = f32, Inputs = UInt<UTerm, B1>, Outputs = UInt<UTerm, B1>>` | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\prelude.rs:2375:9 | |
| | |
2375 | ) -> An<impl AudioNode<Sample = T, Inputs = U1, Outputs = U1>> { | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
note: required because it appears within the type `impl AudioNode<Sample = f32, Inputs = UInt<UTerm, B1>, Outputs = UInt<UTerm, B1>>` | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\hacker32.rs:1816:9 | |
| | |
1816 | ) -> An<impl AudioNode<Sample = f32, Inputs = U1, Outputs = U1>> { | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because of the requirements on the impl of `AudioUnit32` for `An<impl AudioNode<Sample = f32, Inputs = UInt<UTerm, | |
B1>, Outputs = UInt<UTerm, B1>>>` | |
= note: required for the cast to the object type `dyn AudioUnit32` | |
error[E0277]: `(dyn rhai::types::dynamic::Variant + 'static)` cannot be shared between threads safely | |
--> src\lib.rs:224:9 | |
| | |
224 | Box::new(h::phaser(feedback_amount, phase_f)) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `(dyn rhai::types::dynamic::Variant + 'static)` cannot be shared between | |
threads safely | |
| | |
= help: the trait `Sync` is not implemented for `(dyn rhai::types::dynamic::Variant + 'static)` | |
= help: the trait `AudioUnit32` is implemented for `An<X>` | |
= note: required because of the requirements on the impl of `Sync` for `Unique<(dyn rhai::types::dynamic::Variant + 'static)>` | |
= note: required because it appears within the type `Box<(dyn rhai::types::dynamic::Variant + 'static)>` | |
= note: required because of the requirements on the impl of `Sync` for `Unique<Box<(dyn rhai::types::dynamic::Variant + 'static)>>` | |
= note: required because it appears within the type `Box<Box<(dyn rhai::types::dynamic::Variant + 'static)>>` | |
= note: required because it appears within the type `rhai::types::dynamic::Union` | |
= note: required because it appears within the type `rhai::Dynamic` | |
= note: required because it appears within the type `Engine` | |
= note: required because it appears within the type `&Engine` | |
= note: required because it appears within the type `rhai::NativeCallContext<'_>` | |
= note: required because of the requirements on the impl of `Send` for `&rhai::NativeCallContext<'_>` | |
note: required because it's used within this closure | |
--> src\lib.rs:223:32 | |
| | |
223 | let phase_f = Box::new(|x| phase_f.call_within_context(&context, (x,)).unwrap()); | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because of the requirements on the impl of `Send` for `Unique<[closure@src\lib.rs:223:32: 223:88]>` | |
= note: required because it appears within the type `Box<[closure@src\lib.rs:223:32: 223:88]>` | |
note: required because it's used within this closure | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\prelude.rs:2378:27 | |
| | |
2378 | (pass() | lfo(move |t| lerp(T::new(1), T::new(10), phase_f(t)))) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because it appears within the type `Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, | |
Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>` | |
= note: required because it appears within the type `Stack<f32, Pass<f32>, Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, | |
Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>` | |
= note: required because it appears within the type `Pipe<f32, Stack<f32, Pass<f32>, Envelope<f32, f32, | |
[closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>` | |
= note: required because it appears within the type `Pipe<f32, Pipe<f32, Stack<f32, Pass<f32>, Envelope<f32, f32, | |
[closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>` | |
= note: required because it appears within the type `Feedback<UInt<UTerm, B1>, f32, Pipe<f32, Pipe<f32, Stack<f32, Pass<f32>, | |
Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>, FrameId<UInt<UTerm, B1>, f32>>` | |
= note: required because it appears within the type `Bus<f32, Pass<f32>, Feedback<UInt<UTerm, B1>, f32, Pipe<f32, Pipe<f32, | |
Stack<f32, Pass<f32>, Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], | |
f32>>, fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>, FrameId<UInt<UTerm, B1>, f32>>>` | |
note: required because it appears within the type `impl AudioNode<Sample = f32, Inputs = UInt<UTerm, B1>, Outputs = UInt<UTerm, B1>>` | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\prelude.rs:2375:9 | |
| | |
2375 | ) -> An<impl AudioNode<Sample = T, Inputs = U1, Outputs = U1>> { | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
note: required because it appears within the type `impl AudioNode<Sample = f32, Inputs = UInt<UTerm, B1>, Outputs = UInt<UTerm, B1>>` | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\hacker32.rs:1816:9 | |
| | |
1816 | ) -> An<impl AudioNode<Sample = f32, Inputs = U1, Outputs = U1>> { | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because of the requirements on the impl of `AudioUnit32` for `An<impl AudioNode<Sample = f32, Inputs = UInt<UTerm, | |
B1>, Outputs = UInt<UTerm, B1>>>` | |
= note: required for the cast to the object type `dyn AudioUnit32` | |
error[E0277]: `Rc<(dyn for<'r, 's, 't0> Fn(rhai::NativeCallContext<'r>, &'s mut [&'t0 mut rhai::Dynamic]) -> Result<rhai::Dynamic, | |
Box<EvalAltResult>> + 'static)>` cannot be shared between threads safely | |
--> src\lib.rs:224:9 | |
| | |
224 | Box::new(h::phaser(feedback_amount, phase_f)) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Rc<(dyn for<'r, 's, 't0> Fn(rhai::NativeCallContext<'r>, &'s mut [&'t0 mut | |
rhai::Dynamic]) -> Result<rhai::Dynamic, Box<EvalAltResult>> + 'static)>` cannot be shared between threads safely | |
| | |
= help: within `CallableFunction`, the trait `Sync` is not implemented for `Rc<(dyn for<'r, 's, 't0> Fn(rhai::NativeCallContext<'r>, | |
&'s mut [&'t0 mut rhai::Dynamic]) -> Result<rhai::Dynamic, Box<EvalAltResult>> + 'static)>` | |
= help: the trait `AudioUnit32` is implemented for `An<X>` | |
= note: required because it appears within the type `CallableFunction` | |
= note: required because of the requirements on the impl of `Sync` for | |
`alloc::collections::btree::node::NodeRef<alloc::collections::btree::node::marker::Owned, u64, CallableFunction, | |
alloc::collections::btree::node::marker::LeafOrInternal>` | |
= note: required because it appears within the type | |
`Option<alloc::collections::btree::node::NodeRef<alloc::collections::btree::node::marker::Owned, u64, CallableFunction, | |
alloc::collections::btree::node::marker::LeafOrInternal>>` | |
= note: required because it appears within the type `BTreeMap<u64, CallableFunction>` | |
= note: required because it appears within the type `rhai::Module` | |
= note: required because it appears within the type `&rhai::Module` | |
= note: required because it appears within the type `[&rhai::Module]` | |
= note: required because it appears within the type `&[&rhai::Module]` | |
= note: required because it appears within the type `rhai::NativeCallContext<'_>` | |
= note: required because of the requirements on the impl of `Send` for `&rhai::NativeCallContext<'_>` | |
note: required because it's used within this closure | |
--> src\lib.rs:223:32 | |
| | |
223 | let phase_f = Box::new(|x| phase_f.call_within_context(&context, (x,)).unwrap()); | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because of the requirements on the impl of `Send` for `Unique<[closure@src\lib.rs:223:32: 223:88]>` | |
= note: required because it appears within the type `Box<[closure@src\lib.rs:223:32: 223:88]>` | |
note: required because it's used within this closure | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\prelude.rs:2378:27 | |
| | |
2378 | (pass() | lfo(move |t| lerp(T::new(1), T::new(10), phase_f(t)))) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because it appears within the type `Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, | |
Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>` | |
= note: required because it appears within the type `Stack<f32, Pass<f32>, Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, | |
Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>` | |
= note: required because it appears within the type `Pipe<f32, Stack<f32, Pass<f32>, Envelope<f32, f32, | |
[closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>` | |
= note: required because it appears within the type `Pipe<f32, Pipe<f32, Stack<f32, Pass<f32>, Envelope<f32, f32, | |
[closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>` | |
= note: required because it appears within the type `Feedback<UInt<UTerm, B1>, f32, Pipe<f32, Pipe<f32, Stack<f32, Pass<f32>, | |
Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>, FrameId<UInt<UTerm, B1>, f32>>` | |
= note: required because it appears within the type `Bus<f32, Pass<f32>, Feedback<UInt<UTerm, B1>, f32, Pipe<f32, Pipe<f32, | |
Stack<f32, Pass<f32>, Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], | |
f32>>, fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>, FrameId<UInt<UTerm, B1>, f32>>>` | |
note: required because it appears within the type `impl AudioNode<Sample = f32, Inputs = UInt<UTerm, B1>, Outputs = UInt<UTerm, B1>>` | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\prelude.rs:2375:9 | |
| | |
2375 | ) -> An<impl AudioNode<Sample = T, Inputs = U1, Outputs = U1>> { | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
note: required because it appears within the type `impl AudioNode<Sample = f32, Inputs = UInt<UTerm, B1>, Outputs = UInt<UTerm, B1>>` | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\hacker32.rs:1816:9 | |
| | |
1816 | ) -> An<impl AudioNode<Sample = f32, Inputs = U1, Outputs = U1>> { | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because of the requirements on the impl of `AudioUnit32` for `An<impl AudioNode<Sample = f32, Inputs = UInt<UTerm, | |
B1>, Outputs = UInt<UTerm, B1>>>` | |
= note: required for the cast to the object type `dyn AudioUnit32` | |
error[E0277]: `Rc<(dyn rhai::plugin::PluginFunction + 'static)>` cannot be shared between threads safely | |
--> src\lib.rs:224:9 | |
| | |
224 | Box::new(h::phaser(feedback_amount, phase_f)) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Rc<(dyn rhai::plugin::PluginFunction + 'static)>` cannot be shared between | |
threads safely | |
| | |
= help: within `CallableFunction`, the trait `Sync` is not implemented for `Rc<(dyn rhai::plugin::PluginFunction + 'static)>` | |
= help: the trait `AudioUnit32` is implemented for `An<X>` | |
= note: required because it appears within the type `CallableFunction` | |
= note: required because of the requirements on the impl of `Sync` for | |
`alloc::collections::btree::node::NodeRef<alloc::collections::btree::node::marker::Owned, u64, CallableFunction, | |
alloc::collections::btree::node::marker::LeafOrInternal>` | |
= note: required because it appears within the type | |
`Option<alloc::collections::btree::node::NodeRef<alloc::collections::btree::node::marker::Owned, u64, CallableFunction, | |
alloc::collections::btree::node::marker::LeafOrInternal>>` | |
= note: required because it appears within the type `BTreeMap<u64, CallableFunction>` | |
= note: required because it appears within the type `rhai::Module` | |
= note: required because it appears within the type `&rhai::Module` | |
= note: required because it appears within the type `[&rhai::Module]` | |
= note: required because it appears within the type `&[&rhai::Module]` | |
= note: required because it appears within the type `rhai::NativeCallContext<'_>` | |
= note: required because of the requirements on the impl of `Send` for `&rhai::NativeCallContext<'_>` | |
note: required because it's used within this closure | |
--> src\lib.rs:223:32 | |
| | |
223 | let phase_f = Box::new(|x| phase_f.call_within_context(&context, (x,)).unwrap()); | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because of the requirements on the impl of `Send` for `Unique<[closure@src\lib.rs:223:32: 223:88]>` | |
= note: required because it appears within the type `Box<[closure@src\lib.rs:223:32: 223:88]>` | |
note: required because it's used within this closure | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\prelude.rs:2378:27 | |
| | |
2378 | (pass() | lfo(move |t| lerp(T::new(1), T::new(10), phase_f(t)))) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because it appears within the type `Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, | |
Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>` | |
= note: required because it appears within the type `Stack<f32, Pass<f32>, Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, | |
Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>` | |
= note: required because it appears within the type `Pipe<f32, Stack<f32, Pass<f32>, Envelope<f32, f32, | |
[closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>` | |
= note: required because it appears within the type `Pipe<f32, Pipe<f32, Stack<f32, Pass<f32>, Envelope<f32, f32, | |
[closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>` | |
= note: required because it appears within the type `Feedback<UInt<UTerm, B1>, f32, Pipe<f32, Pipe<f32, Stack<f32, Pass<f32>, | |
Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>, FrameId<UInt<UTerm, B1>, f32>>` | |
= note: required because it appears within the type `Bus<f32, Pass<f32>, Feedback<UInt<UTerm, B1>, f32, Pipe<f32, Pipe<f32, | |
Stack<f32, Pass<f32>, Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], | |
f32>>, fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>, FrameId<UInt<UTerm, B1>, f32>>>` | |
note: required because it appears within the type `impl AudioNode<Sample = f32, Inputs = UInt<UTerm, B1>, Outputs = UInt<UTerm, B1>>` | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\prelude.rs:2375:9 | |
| | |
2375 | ) -> An<impl AudioNode<Sample = T, Inputs = U1, Outputs = U1>> { | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
note: required because it appears within the type `impl AudioNode<Sample = f32, Inputs = UInt<UTerm, B1>, Outputs = UInt<UTerm, B1>>` | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\hacker32.rs:1816:9 | |
| | |
1816 | ) -> An<impl AudioNode<Sample = f32, Inputs = U1, Outputs = U1>> { | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because of the requirements on the impl of `AudioUnit32` for `An<impl AudioNode<Sample = f32, Inputs = UInt<UTerm, | |
B1>, Outputs = UInt<UTerm, B1>>>` | |
= note: required for the cast to the object type `dyn AudioUnit32` | |
error[E0277]: `Rc<rhai::ast::script_fn::ScriptFnDef>` cannot be shared between threads safely | |
--> src\lib.rs:224:9 | |
| | |
224 | Box::new(h::phaser(feedback_amount, phase_f)) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Rc<rhai::ast::script_fn::ScriptFnDef>` cannot be shared between threads | |
safely | |
| | |
= help: within `CallableFunction`, the trait `Sync` is not implemented for `Rc<rhai::ast::script_fn::ScriptFnDef>` | |
= help: the trait `AudioUnit32` is implemented for `An<X>` | |
= note: required because it appears within the type `CallableFunction` | |
= note: required because of the requirements on the impl of `Sync` for | |
`alloc::collections::btree::node::NodeRef<alloc::collections::btree::node::marker::Owned, u64, CallableFunction, | |
alloc::collections::btree::node::marker::LeafOrInternal>` | |
= note: required because it appears within the type | |
`Option<alloc::collections::btree::node::NodeRef<alloc::collections::btree::node::marker::Owned, u64, CallableFunction, | |
alloc::collections::btree::node::marker::LeafOrInternal>>` | |
= note: required because it appears within the type `BTreeMap<u64, CallableFunction>` | |
= note: required because it appears within the type `rhai::Module` | |
= note: required because it appears within the type `&rhai::Module` | |
= note: required because it appears within the type `[&rhai::Module]` | |
= note: required because it appears within the type `&[&rhai::Module]` | |
= note: required because it appears within the type `rhai::NativeCallContext<'_>` | |
= note: required because of the requirements on the impl of `Send` for `&rhai::NativeCallContext<'_>` | |
note: required because it's used within this closure | |
--> src\lib.rs:223:32 | |
| | |
223 | let phase_f = Box::new(|x| phase_f.call_within_context(&context, (x,)).unwrap()); | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because of the requirements on the impl of `Send` for `Unique<[closure@src\lib.rs:223:32: 223:88]>` | |
= note: required because it appears within the type `Box<[closure@src\lib.rs:223:32: 223:88]>` | |
note: required because it's used within this closure | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\prelude.rs:2378:27 | |
| | |
2378 | (pass() | lfo(move |t| lerp(T::new(1), T::new(10), phase_f(t)))) | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because it appears within the type `Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, | |
Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>` | |
= note: required because it appears within the type `Stack<f32, Pass<f32>, Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, | |
Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>` | |
= note: required because it appears within the type `Pipe<f32, Stack<f32, Pass<f32>, Envelope<f32, f32, | |
[closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>` | |
= note: required because it appears within the type `Pipe<f32, Pipe<f32, Stack<f32, Pass<f32>, Envelope<f32, f32, | |
[closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>` | |
= note: required because it appears within the type `Feedback<UInt<UTerm, B1>, f32, Pipe<f32, Pipe<f32, Stack<f32, Pass<f32>, | |
Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], f32>>, | |
fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>, FrameId<UInt<UTerm, B1>, f32>>` | |
= note: required because it appears within the type `Bus<f32, Pass<f32>, Feedback<UInt<UTerm, B1>, f32, Pipe<f32, Pipe<f32, | |
Stack<f32, Pass<f32>, Envelope<f32, f32, [closure@fundsp::prelude::phaser<f32, Box<[closure@src\lib.rs:223:32: 223:88]>>::{closure#0}], | |
f32>>, fundsp::audionode::Chain<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, f32, Pipe<f32, Stack<f32, Pass<f32>, Binop<f32, | |
FrameAdd<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, Constant<UInt<UTerm, B1>, f32>>>, Thru<Allpole<f32, f32, | |
UInt<UInt<UTerm, B1>, B0>>>>>>, Stack<f32, Binop<f32, FrameMul<UInt<UTerm, B1>, f32>, MultiPass<UInt<UTerm, B1>, f32>, | |
Constant<UInt<UTerm, B1>, f32>>, fundsp::audionode::Sink<UInt<UTerm, B1>, f32>>>, FrameId<UInt<UTerm, B1>, f32>>>` | |
note: required because it appears within the type `impl AudioNode<Sample = f32, Inputs = UInt<UTerm, B1>, Outputs = UInt<UTerm, B1>>` | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\prelude.rs:2375:9 | |
| | |
2375 | ) -> An<impl AudioNode<Sample = T, Inputs = U1, Outputs = U1>> { | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
note: required because it appears within the type `impl AudioNode<Sample = f32, Inputs = UInt<UTerm, B1>, Outputs = UInt<UTerm, B1>>` | |
--> C:\<path to>\.cargo\git\checkouts\fundsp-256092770a4f1e91\5081167\src\hacker32.rs:1816:9 | |
| | |
1816 | ) -> An<impl AudioNode<Sample = f32, Inputs = U1, Outputs = U1>> { | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
= note: required because of the requirements on the impl of `AudioUnit32` for `An<impl AudioNode<Sample = f32, Inputs = UInt<UTerm, | |
B1>, Outputs = UInt<UTerm, B1>>>` | |
= note: required for the cast to the object type `dyn AudioUnit32` | |
For more information about this error, try `rustc --explain E0277`. | |
error: could not compile `fundsp-lang` due to 20 previous errors |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment