Comments (4)
Previously, I was working on a thread-unsafe async framework called unsend
, which had thread unsafe versions of most of smol
's primitives. I stopped developing because I heard that Rust was moving towards adding !Send + !Sync
versions of Waker
, and if they did that it would change up my model considerably.
That being said, smol
is intended to be thread-safe. Barring some kind of crazy generic solution, I don't see us moving forward on this.
from event-listener.
I heard that Rust was moving towards adding !Send + !Sync versions of Waker
Do you mean this: rust-lang/libs-team#191 ?
from event-listener.
smol is intended to be thread-safe.
If this is the case, maybe LocalExecutor
shouldn't be included either?
from event-listener.
I've released unsend
version 0.1.0, with an Event
structure similar to the one in this crate, but is !Sync
and doesn't use any synchronization primitives.
Since we are not planning on adding an equivalent structure to EventListener
, I'll close this issue now.
If this is the case, maybe
LocalExecutor
shouldn't be included either?
LocalExecutor
is a special case I feel, because most contemporary async runtimes (even thread-safe ones) provide a LocalExecutor
analogue.
from event-listener.
Related Issues (20)
- Unsoundness HOT 11
- RFC: Less complex, footgun free API HOT 2
- expose listener count HOT 4
- Remove concurrent-queue dependency
- `NonBlocking` doesn't implement `Send` and `Sync` HOT 2
- Possible racecondition HOT 1
- Question about new API HOT 3
- Miri reports a deadlock in `async-lock` HOT 2
- Upgrading v4 to v5 panic: Listener was never inserted into the list HOT 6
- During racy initialization, a race can happen where a notification is dropped HOT 2
- missing_docs warning in easy_wrapper implementation HOT 2
- UB due to lack of a full fence in full_fence (on x86) HOT 5
- no_std impl tries to collect std::usize::MAX flags when notified
- fmt::Debug should produce actually useful output
- Split event-listener-strategy out into a new crate HOT 2
- Miri test failure with --no-default-features HOT 1
- EventListener::new footgun HOT 1
- Remove EventListener::new footgun HOT 6
- `EventListener` doesn't implement `UnwindSafe` HOT 1
- wasm test failed with "index out of bounds: the len is 0 but the index is 4" HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from event-listener.