I don't suppose anyone can do anything about it really but allow me to gripe anyway.
Every time I add yet another "indispensable" crate to my Cargo.toml, the size of the compiled executable leaps up alarmingly. I am already over 5.6MBytes for a fairly simple program.
I would not mid if it was at least truly portable static but it is not even that, viz. problems with openssl lib.
I wonder if there is much duplication and fragmentation of code that could be reused, inherent in such a large crate system?
@CreepySkeleton
The code I mentioned is only my first baby steps in using Rocket and Postsges. As such it's not very interesting. It only pulls in the crates they need. The code itself is only 200 lines, basically nothing much more than the Rocket examples I'm tinkering with. Like I say baby steps.
It's amusing that something called "version-check", whatever that does, is causing me to grumble about having multiple versions of itself installed
If you do get around to pinging upstream crates about their dependencies these three are very important to try and update:
proc-macro2 v0.4.30
proc-macro2 v1.0.5
quote v0.6.13
quote v1.0.2
syn v0.15.44
syn v1.0.5
now that proc-macro2, quote and syn are at 1.0 it's a good chance for the ecosystem to try and reduce duplication of them, and with syn commonly hitting 15-30s compile times it's a big help for all developers to only build it once.
use serde::{Deserialize};
use tokio::{ prelude::*,io, codec };
use tokio::net::process::Command;
use futures::try_join;
use hyper::{Client, Body, Request};
use hyper_tls::HttpsConnector;
use dirs::home_dir;