mirror of
https://github.com/actix/actix-web.git
synced 2025-01-10 17:25:36 +00:00
fe13789345
Fixes #1321 A better fix would be to change `MessageBody` to take a `Pin<&mut Self>`, rather than a `Pin<&mut Self>`. This will avoid requiring the use of `Box` for all consumers by allowing the caller to determine how to pin the `MessageBody` implementation (e.g. via stack pinning). However, doing so is a breaking change that will affect every user of `MessageBody`. By pinning the inner stream ourselves, we can fix the undefined behavior without breaking the API. I've included @sebzim4500's reproduction case as a new test case. However, due to the nature of undefined behavior, this could pass (and not segfault) even if underlying issue were to regress. Unfortunately, until rust-lang/unsafe-code-guidelines#148 is resolved, it's not even possible to write a Miri test that will pass when the bug is fixed. Co-authored-by: Yuki Okushi <huyuumi.dev@gmail.com> |
||
---|---|---|
.. | ||
client | ||
cookie | ||
encoding | ||
h1 | ||
h2 | ||
header | ||
ws | ||
body.rs | ||
builder.rs | ||
cloneable.rs | ||
config.rs | ||
error.rs | ||
extensions.rs | ||
helpers.rs | ||
httpcodes.rs | ||
httpmessage.rs | ||
lib.rs | ||
message.rs | ||
payload.rs | ||
request.rs | ||
response.rs | ||
service.rs | ||
test.rs | ||
time_parser.rs |