
Futures Is Stable on Rust 1.36 - r0xsh
https://github.com/rust-lang/rust/pull/59739
======
rabito
How is the cost in terms of binary size nowadays? Last time I checked using
Futures meant adding roughly 5MB to the binary. To me at least that is
unacceptable, so I just rolled my own stuff on top of rayon's thread pools.

~~~
marshray
I just made a socket server for a small protocol, no (explicit) Tokio.

    
    
      [dependencies]
      futures-preview = { version = "0.3.0-alpha.14", features = ["io-compat"] }
      futures-util-preview = "0.3.0-alpha.14"
      byteorder = "1.2.7"
      clap = "2.32.0"
      log = "0.4.3"
      simple_logger = "0.5.0"
      lazy_static = "1.2.0"
      num-traits = "0.2"
      num-derive = "0.2"
      bytes = "0.4.12"
    

My source is on the order of ~1000 lines of (non-trivial) code and has 17
instances of 'async fn' and 23 instances of 'await!(...)'.

Nightly 2018, --release, the resulting .exe is 990 KiB.

~~~
The_rationalist
And that is without stripping

------
jeffdavis
If the current version of rust is 1.34.1, and futures is stabilized, why not
1.35?

Not asking for this to happen, I am just curious about the
stabilization/release process.

~~~
cesarb
If the current stable version of Rust is 1.34, the current beta version of
Rust is 1.35, and the currently nightly version of Rust (which is where major
changes, including stabilization of features, are made) is 1.36.

------
csomar
This should solve a major bottleneck for anyone doing network related
applications. For now, you have to use an unstable API or a one that is
deprecated.

~~~
bluejekyll
0.2 was deprecated.

0.1 was not, there's a lot of good and reliable software that's been built on
0.1, and there are some backward compatible shims for std::future to futures
0.1.

------
Dowwie
July 4th

~~~
csomar
1.36 is due by June 4th.

~~~
Dowwie
ah, right. thanks for your correction

