aeplay / kay Goto Github PK
View Code? Open in Web Editor NEWExperimental high-performance actor system framework for Rust
License: MIT License
Experimental high-performance actor system framework for Rust
License: MIT License
It fails with the following output:
Updating crates.io index
Compiling openssl v0.9.24
error: failed to run custom build command for `openssl v0.9.24`
process didn't exit successfully: `/home/mtepfer/src/kay/target/debug/build/openssl-38e9a39fe210587c/build-script-build` (exit code: 101)
--- stderr
thread 'main' panicked at 'Unable to detect OpenSSL version', /home/mtepfer/.cargo/registry/src/github.com-1ecc6299db9ec823/openssl-0.9.24/build.rs:16:14
note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
I tried changing the required version of tunsgtenite in the dependencies to 0.6.1, which uses a newer version of the openssl package, and it compiled.
If this crate is still being actively developed, I am interested helping out because I have a use case for it. I think the examples have gotten quite out of sync with the package. Any pointers as to where to start bringing them back in line with the library?
krzysztof@p1:~/Work/third-party/kay/examples/simple_common (master)$ cargo build
Updating crates.io index
warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead
--> /home/krzysztof/Work/third-party/kay/src/lib.rs:47:34
|
47 | let mut items: [_; $n] = ::std::mem::uninitialized();
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
::: /home/krzysztof/Work/third-party/kay/src/actor_system.rs:47:42
|
47 | trait_implementors: unsafe { make_array!(MAX_RECIPIENT_TYPES, |_| None) },
| ------------------------------------------ in this macro invocation
|
= note: `#[warn(deprecated)]` on by default
warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead
--> /home/krzysztof/Work/third-party/kay/src/lib.rs:47:34
|
47 | let mut items: [_; $n] = ::std::mem::uninitialized();
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
::: /home/krzysztof/Work/third-party/kay/src/actor_system.rs:50:31
|
50 | classes: unsafe { make_array!(MAX_RECIPIENT_TYPES, |_| None) },
| ------------------------------------------ in this macro invocation
warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead
--> /home/krzysztof/Work/third-party/kay/src/lib.rs:47:34
|
47 | let mut items: [_; $n] = ::std::mem::uninitialized();
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
::: /home/krzysztof/Work/third-party/kay/src/class/mod.rs:42:40
|
42 | message_handlers: unsafe { make_array!(MAX_MESSAGE_TYPES, |_| MessageHandler::Unassigned) },
| -------------------------------------------------------------- in this macro invocation
warning: unnecessary `unsafe` block
--> /home/krzysztof/Work/third-party/kay/src/class/mod.rs:40:26
|
40 | let actor_name = unsafe { ::std::intrinsics::type_name::<A>() };
| ^^^^^^ unnecessary `unsafe` block
|
= note: `#[warn(unused_unsafe)]` on by default
warning: unnecessary `unsafe` block
--> /home/krzysztof/Work/third-party/kay/src/type_registry.rs:50:23
|
50 | let long_id = unsafe { type_id::<T>() };
| ^^^^^^ unnecessary `unsafe` block
warning: unnecessary `unsafe` block
--> /home/krzysztof/Work/third-party/kay/src/type_registry.rs:54:31
|
54 | .insert(short_id, unsafe { type_name::<T>() }.into());
| ^^^^^^ unnecessary `unsafe` block
warning: unnecessary `unsafe` block
--> /home/krzysztof/Work/third-party/kay/src/type_registry.rs:60:62
|
60 | if let Some(&short_id) = self.long_to_short_ids.get(&unsafe { type_id::<T>() }) {
| ^^^^^^ unnecessary `unsafe` block
warning: unnecessary `unsafe` block
--> /home/krzysztof/Work/third-party/kay/src/type_registry.rs:63:40
|
63 | panic!("{:?} not known.", &unsafe { type_name::<T>() })
| ^^^^^^ unnecessary `unsafe` block
warning: unnecessary `unsafe` block
--> /home/krzysztof/Work/third-party/kay/src/type_registry.rs:69:19
|
69 | .get(&unsafe { type_id::<T>() })
| ^^^^^^ unnecessary `unsafe` block
Compiling kay_simple_example_common v0.1.0 (/home/krzysztof/Work/third-party/kay/examples/simple_common)
error[E0053]: method `from_raw` has an incompatible type for trait
--> src/counter/kay_auto.rs:11:5
|
11 | unsafe fn from_raw(id: RawID) -> Self {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected normal fn, found unsafe fn
|
= note: expected fn pointer `fn(kay::RawID) -> counter::kay_auto::CounterListenerID`
found fn pointer `unsafe fn(kay::RawID) -> counter::kay_auto::CounterListenerID`
error[E0046]: not all trait items implemented, missing: `Target`
--> src/counter/kay_auto.rs:10:1
|
10 | impl TypedID for CounterListenerID {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `Target` in implementation
|
= help: implement the missing item: `type Target = Type;`
error[E0053]: method `from_raw` has an incompatible type for trait
--> src/counter/kay_auto.rs:54:5
|
54 | unsafe fn from_raw(id: RawID) -> Self {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected normal fn, found unsafe fn
|
= note: expected fn pointer `fn(kay::RawID) -> counter::kay_auto::CounterID`
found fn pointer `unsafe fn(kay::RawID) -> counter::kay_auto::CounterID`
error[E0046]: not all trait items implemented, missing: `Target`
--> src/counter/kay_auto.rs:53:1
|
53 | impl TypedID for CounterID {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `Target` in implementation
|
= help: implement the missing item: `type Target = Type;`
error[E0053]: method `from_raw` has an incompatible type for trait
--> src/counter/kay_auto.rs:75:5
|
75 | unsafe fn from_raw(id: RawID) -> Self {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected normal fn, found unsafe fn
|
= note: expected fn pointer `fn(kay::RawID) -> counter::kay_auto::ServerLoggerID`
found fn pointer `unsafe fn(kay::RawID) -> counter::kay_auto::ServerLoggerID`
error[E0046]: not all trait items implemented, missing: `Target`
--> src/counter/kay_auto.rs:74:1
|
74 | impl TypedID for ServerLoggerID {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `Target` in implementation
|
= help: implement the missing item: `type Target = Type;`
error[E0053]: method `from_raw` has an incompatible type for trait
--> src/counter/kay_auto.rs:96:5
|
96 | unsafe fn from_raw(id: RawID) -> Self {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected normal fn, found unsafe fn
|
= note: expected fn pointer `fn(kay::RawID) -> counter::kay_auto::BrowserLoggerID`
found fn pointer `unsafe fn(kay::RawID) -> counter::kay_auto::BrowserLoggerID`
error[E0046]: not all trait items implemented, missing: `Target`
--> src/counter/kay_auto.rs:95:1
|
95 | impl TypedID for BrowserLoggerID {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `Target` in implementation
|
= help: implement the missing item: `type Target = Type;`
error: aborting due to 8 previous errors
Some errors have detailed explanations: E0046, E0053.
For more information about an error, try `rustc --explain E0046`.
error: could not compile `kay_simple_example_common`.
To learn more, run the command again with --verbose.
On creates.io I see kay at version 0.5.0, here in github it downloads only as 0.4.11 and have some compilation errors with 1.44 version
(
impl TypedID for CounterListenerID {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing Target
in implementation
)
Can you confirm that the version on this repo is the latest ?
error[E0635]: unknown feature vec_resize_default
--> .cargo\registry\src\mirrors.ustc.edu.cn-12df342d903acd47\chunky-0.3.7\src\lib.rs:10:12
|
10 | #![feature(vec_resize_default)]
| ^^^^^^^^^^^^^^^^^^
Default host: x86_64-pc-windows-msvc
installed toolchains
stable-x86_64-pc-windows-gnu
stable-x86_64-pc-windows-msvc
nightly-x86_64-pc-windows-msvc (default)
active toolchain
nightly-x86_64-pc-windows-msvc (default)
rustc 1.57.0-nightly (e1e9319d9 2021-10-14)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.