Unverified Commit ebdf5975 authored by Harry Barber's avatar Harry Barber Committed by GitHub
Browse files

Fix `OperationExtensionFuture` poll order (#2247)



* Fix `OperationExtensionFuture` poll order

* Add CHANGELOG.next.toml entry

Co-authored-by: default avatarAWS SDK Rust Bot <97246200+aws-sdk-rust-ci@users.noreply.github.com>
parent d301e65e
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -10,3 +10,9 @@
# references = ["smithy-rs#920"]
# meta = { "breaking" = false, "tada" = false, "bug" = false, "target" = "client | server | all"}
# author = "rcoh"

[[smithy-rs]]
message = "Fix bug in `OperationExtensionFuture`s `Future::poll` implementation"
references = ["smithy-rs#920"]
meta = { "breaking" = false, "tada" = false, "bug" = true, "target" = "server"}
author = "hlbarber"
+1 −1
Original line number Diff line number Diff line
@@ -101,11 +101,11 @@ where

    fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Self::Output> {
        let this = self.project();
        let resp = ready!(this.inner.try_poll(cx));
        let ext = this
            .operation_extension
            .take()
            .expect("futures cannot be polled after completion");
        let resp = ready!(this.inner.try_poll(cx));
        Poll::Ready(resp.map(|mut resp| {
            resp.extensions_mut().insert(ext);
            resp