Forwarded from Антон
std::mem::size_of::<Option<&T>>() == std::mem::size_of::<*T>(), напримерForwarded from Nikita Vilunov
Forwarded from Bogdan
print-type-size type: `A<B<i64>>`: 16 bytes, alignment: 8 bytes
print-type-size variant `Some`: 16 bytes
print-type-size field `.0`: 16 bytes
print-type-size variant `None`: 0 bytes
print-type-size type: `A<i64>`: 16 bytes, alignment: 8 bytes
print-type-size discriminant: 8 bytes
print-type-size variant `Some`: 8 bytes
print-type-size field `.0`: 8 bytes
print-type-size variant `None`: 0 bytes
print-type-size type: `B<i64>`: 16 bytes, alignment: 8 bytes
print-type-size discriminant: 8 bytes
print-type-size variant `Some`: 8 bytes
print-type-size field `.0`: 8 bytes
print-type-size variant `None`: 0 bytes
Forwarded from Jack
В futures 0.3 все же красивее сделали, но и для 0.1 будет работать
Forwarded from Mikail Bagishov
Заодно имеем Clone здорового человека: serde_json::from_str(&serde_json::to_string(&x))
Forwarded from Jack
GitHub
add future::poll_fn by yoshuawuyts · Pull Request #124 · async-rs/async-std
This adds futures::poll_fn, which is fairly common and useful when defining custom futures. This seems like a generally useful, and easy addition to the futures submodule. Thanks!
Ref
https://docs...
Ref
https://docs...
Forwarded from Jack
Не предоставляют стабильный интерфейс к футурным функциям, а перехуяривают их копипастом
Forwarded from Jack
Иначе, чем долбоебизм это не назвать.
Он же прям в PR делает:
Он же прям в PR делает:
pub async fn poll_fn<T>(f: impl FnMut(&mut Context<'_>) -> Poll<T>) -> T {
let fut = PollFn { f };
fut.await
}
impl<T, F> Future for PollFn<F>
where
F: FnMut(&mut Context<'_>) -> Poll<T>,
{
type Output = T;
fn poll(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<T> {
...Forwarded from pl 🦑 hk
сообщество выберет чем пользоваться tokio+futures или async-std
Forwarded from Jack
Дык даже в https://github.com/async-rs/async-std/pull/123 и то с умом подошли.
использовали готовый код
pub async fn poll_fn<F, T>(f: F) -> T
where
F: FnMut(&mut Context<'_>) -> Poll<T>,
{
futures::future::poll_fn(f).await
}
использовали готовый код