function do_sed () {
local file="$1"
local old="$2"
local new="$3"
sed -i "s/${old}/${new}/" "${file}"
}
function main () {
local file="async.rs"
cp sync.rs async.rs
do_sed "${file}" \
"\(^pub use reqwest::{header::HeaderMap, IntoUrl};$\)" \
"use futures::{future, Future};\n\1"
do_sed "${file}" \
"\(^use reqwest::\)\({\)$" \
"\1r#async::\2"
do_sed "${file}" \
"\(^use jsonrpc_sdk_prelude::{jsonrpc_core::Response, CommonPart, JsonRpcRequest, Result\)\(};\)$" \
"\1, Error\2"
do_sed "${file}" \
") -> Result<\(T::Output\)>" \
") -> impl Future<Item = \1, Error = Error>"
do_sed "${file}" \
"normal_error"\
"future_error"
rustfmt --emit files "${file}"
}
main "$@"