@@ -200,15 +200,14 @@ impl Runtime {
         &self.handle
     }

     ///
     /// This spawns the given future onto the runtime's executor, usually a
     /// thread pool. The thread pool is then responsible for polling the future
     /// until it completes.
     ///

rt: clarify the documentation of `Runtime::spawn`

It is recommended to add two sentences explaining the behavior of `Runtime::spawn`: one for current thread runtime and another for multi-threaded runtime.

Please keep it concise—verbose documentation makes it harder for downstream users to understand.


@@ -164,9 +164,8 @@ impl Handle {
     /// thread pool. The thread pool is then responsible for polling the future
     /// until it completes.
     ///

rt: clarify the documentation of `Runtime::spawn`

> IMO it will be clearer if the documentation explain when it will be executed immediately and when it needs blocking. I.e. be more specific instead of letting the reader guess and experiment.

@Its-Just-Nans Could you explain the correct behavior in docs, and then we can evaluate weather it is too long.


@@ -112,6 +112,28 @@ describe('reactivity/reactive', () => {
     expect(dummy).toBe(false)
   })

fix(reactivity): handle `Set` with initial reactive values edge case

The test case for `Map.set` here is incorrect because you only modified `add` without changing `set`. I think this part of the test would pass even without this PR. Additionally, the `observedMap` should have an initial value like `observedSet`