-
Notifications
You must be signed in to change notification settings - Fork 13.6k
Open
Labels
C-bugCategory: This is a bug.Category: This is a bug.E-needs-bisectionCall for participation: This issue needs bisection: https://github.com/rust-lang/cargo-bisect-rustcCall for participation: This issue needs bisection: https://github.com/rust-lang/cargo-bisect-rustcS-needs-reproStatus: This issue has no reproduction and needs a reproduction to make progress.Status: This issue has no reproduction and needs a reproduction to make progress.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.needs-triageThis issue may need triage. Remove it if it has been sufficiently triaged.This issue may need triage. Remove it if it has been sufficiently triaged.
Description
I tried this code:
// sqlx library
I expected compilation to succeed.
Instead, this happened: hangs for a while (possibly due to recursion) and then errors out with
error[E0275]: overflow evaluating the requirement `(&mut PgConnection, Oid): std::marker::Send`
.
error[E0275]: overflow evaluating the requirement `(&mut PgConnection, Oid): std::marker::Send`
--> C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-core-0.8.6\src\ext\async_stream.rs:28:56
|
28 | Fut: 'a + Future<Output = Result<(), Error>> + Send,
| ^^^^
|
= help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`sqlx_postgres`)
note: required because it's used within this `async` fn body
--> C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:193:82
|
193 | async fn fetch_type_by_oid(&mut self, oid: Oid) -> Result<PgTypeInfo, Error> {
| __________________________________________________________________________________^
194 | | let (name, typ_type, category, relation_id, element, base_type): (
195 | | String,
196 | | i8,
... |
257 | | }
| |_____^
note: required because it's used within this `async` block
--> C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:172:33
|
172 | let info = Box::pin(async { self.fetch_type_by_oid(oid).await }).await?;
| ^^^^^
= note: required for `Unique<{async block@C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:172:33: 172:38}>` to implement `std::marker::Send`
note: required because it appears within the type `Box<{async block@C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:172:33: 172:38}>`
--> C:\Users\htgaz\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\alloc\src\boxed.rs:231:12
|
231 | pub struct Box<
| ^^^
note: required because it appears within the type `Pin<Box<{async block@C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:172:33: 172:38}>>`
--> C:\Users\htgaz\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\core\src\pin.rs:1094:12
|
1094 | pub struct Pin<Ptr> {
| ^^^
note: required because it's used within this `async` fn body
--> C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:157:36
|
157 | ) -> Result<PgTypeInfo, Error> {
| ____________________________________^
158 | | // first we check if this is a built-in type
159 | | // in the average application, the vast majority of checks should flow through this
160 | | if let Some(info) = PgTypeInfo::try_from_oid(oid) {
... |
191 | | }
| |_____^
note: required because it's used within this `async` fn body
--> C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:319:36
|
319 | ) -> Result<PgTypeInfo, Error> {
| ____________________________________^
320 | | let base_type = self.maybe_fetch_type_info_by_oid(base_type, true).await?;
321 | |
322 | | Ok(PgTypeInfo(PgType::Custom(Arc::new(PgCustomType {
... |
326 | | }))))
327 | | }
| |_____^
note: required because it's used within this `async` fn body
--> C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:193:82
|
193 | async fn fetch_type_by_oid(&mut self, oid: Oid) -> Result<PgTypeInfo, Error> {
| __________________________________________________________________________________^
194 | | let (name, typ_type, category, relation_id, element, base_type): (
195 | | String,
196 | | i8,
... |
257 | | }
| |_____^
note: required because it's used within this `async` block
--> C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:172:33
|
172 | let info = Box::pin(async { self.fetch_type_by_oid(oid).await }).await?;
| ^^^^^
= note: required for `Unique<{async block@C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:172:33: 172:38}>` to implement `std::marker::Send`
note: required because it appears within the type `Box<{async block@C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:172:33: 172:38}>`
--> C:\Users\htgaz\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\alloc\src\boxed.rs:231:12
|
231 | pub struct Box<
| ^^^
note: required because it appears within the type `Pin<Box<{async block@C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:172:33: 172:38}>>`
--> C:\Users\htgaz\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\core\src\pin.rs:1094:12
|
1094 | pub struct Pin<Ptr> {
| ^^^
note: required because it's used within this `async` fn body
--> C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:157:36
|
157 | ) -> Result<PgTypeInfo, Error> {
| ____________________________________^
158 | | // first we check if this is a built-in type
159 | | // in the average application, the vast majority of checks should flow through this
160 | | if let Some(info) = PgTypeInfo::try_from_oid(oid) {
... |
191 | | }
| |_____^
note: required because it's used within this `async` fn body
--> C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:319:36
|
319 | ) -> Result<PgTypeInfo, Error> {
| ____________________________________^
320 | | let base_type = self.maybe_fetch_type_info_by_oid(base_type, true).await?;
321 | |
322 | | Ok(PgTypeInfo(PgType::Custom(Arc::new(PgCustomType {
... |
326 | | }))))
327 | | }
| |_____^
note: required because it's used within this `async` fn body
--> C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:193:82
|
193 | async fn fetch_type_by_oid(&mut self, oid: Oid) -> Result<PgTypeInfo, Error> {
| __________________________________________________________________________________^
194 | | let (name, typ_type, category, relation_id, element, base_type): (
195 | | String,
196 | | i8,
... |
257 | | }
| |_____^
note: required because it's used within this `async` block
--> C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:172:33
|
172 | let info = Box::pin(async { self.fetch_type_by_oid(oid).await }).await?;
| ^^^^^
= note: required for `Unique<{async block@C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:172:33: 172:38}>` to implement `std::marker::Send`
note: required because it appears within the type `Box<{async block@C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:172:33: 172:38}>`
--> C:\Users\htgaz\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\alloc\src\boxed.rs:231:12
|
231 | pub struct Box<
| ^^^
note: required because it appears within the type `Pin<Box<{async block@C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:172:33: 172:38}>>`
--> C:\Users\htgaz\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\core\src\pin.rs:1094:12
|
1094 | pub struct Pin<Ptr> {
| ^^^
note: required because it's used within this `async` fn body
--> C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:157:36
|
157 | ) -> Result<PgTypeInfo, Error> {
| ____________________________________^
158 | | // first we check if this is a built-in type
159 | | // in the average application, the vast majority of checks should flow through this
160 | | if let Some(info) = PgTypeInfo::try_from_oid(oid) {
... |
191 | | }
| |_____^
note: required because it's used within this `async` fn body
--> C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:319:36
|
319 | ) -> Result<PgTypeInfo, Error> {
| ____________________________________^
320 | | let base_type = self.maybe_fetch_type_info_by_oid(base_type, true).await?;
321 | |
322 | | Ok(PgTypeInfo(PgType::Custom(Arc::new(PgCustomType {
... |
326 | | }))))
327 | | }
| |_____^
note: required because it's used within this `async` fn body
--> C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:193:82
|
193 | async fn fetch_type_by_oid(&mut self, oid: Oid) -> Result<PgTypeInfo, Error> {
| __________________________________________________________________________________^
194 | | let (name, typ_type, category, relation_id, element, base_type): (
195 | | String,
196 | | i8,
... |
257 | | }
| |_____^
note: required because it's used within this `async` block
--> C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:172:33
|
172 | let info = Box::pin(async { self.fetch_type_by_oid(oid).await }).await?;
| ^^^^^
= note: required for `Unique<{async block@C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:172:33: 172:38}>` to implement `std::marker::Send`
note: required because it appears within the type `Box<{async block@C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:172:33: 172:38}>`
--> C:\Users\htgaz\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\alloc\src\boxed.rs:231:12
|
231 | pub struct Box<
| ^^^
note: required because it appears within the type `Pin<Box<{async block@C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:172:33: 172:38}>>`
--> C:\Users\htgaz\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\core\src\pin.rs:1094:12
|
1094 | pub struct Pin<Ptr> {
| ^^^
note: required because it's used within this `async` fn body
--> C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:157:36
|
157 | ) -> Result<PgTypeInfo, Error> {
| ____________________________________^
158 | | // first we check if this is a built-in type
159 | | // in the average application, the vast majority of checks should flow through this
160 | | if let Some(info) = PgTypeInfo::try_from_oid(oid) {
... |
191 | | }
| |_____^
note: required because it's used within this `async` fn body
--> C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:319:36
|
319 | ) -> Result<PgTypeInfo, Error> {
| ____________________________________^
320 | | let base_type = self.maybe_fetch_type_info_by_oid(base_type, true).await?;
321 | |
322 | | Ok(PgTypeInfo(PgType::Custom(Arc::new(PgCustomType {
... |
326 | | }))))
327 | | }
| |_____^
note: required because it's used within this `async` fn body
--> C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:193:82
|
193 | async fn fetch_type_by_oid(&mut self, oid: Oid) -> Result<PgTypeInfo, Error> {
| __________________________________________________________________________________^
194 | | let (name, typ_type, category, relation_id, element, base_type): (
195 | | String,
196 | | i8,
... |
257 | | }
| |_____^
note: required because it's used within this `async` block
--> C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:172:33
|
172 | let info = Box::pin(async { self.fetch_type_by_oid(oid).await }).await?;
| ^^^^^
= note: required for `Unique<{async block@C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:172:33: 172:38}>` to implement `std::marker::Send`
note: required because it appears within the type `Box<{async block@C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:172:33: 172:38}>`
--> C:\Users\htgaz\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\alloc\src\boxed.rs:231:12
|
231 | pub struct Box<
| ^^^
note: required because it appears within the type `Pin<Box<{async block@C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:172:33: 172:38}>>`
--> C:\Users\htgaz\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\core\src\pin.rs:1094:12
|
1094 | pub struct Pin<Ptr> {
| ^^^
note: required because it's used within this `async` fn body
--> C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:157:36
|
157 | ) -> Result<PgTypeInfo, Error> {
| ____________________________________^
158 | | // first we check if this is a built-in type
159 | | // in the average application, the vast majority of checks should flow through this
160 | | if let Some(info) = PgTypeInfo::try_from_oid(oid) {
... |
191 | | }
| |_____^
note: required because it's used within this `async` fn body
--> C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:319:36
|
319 | ) -> Result<PgTypeInfo, Error> {
| ____________________________________^
320 | | let base_type = self.maybe_fetch_type_info_by_oid(base_type, true).await?;
321 | |
322 | | Ok(PgTypeInfo(PgType::Custom(Arc::new(PgCustomType {
... |
326 | | }))))
327 | | }
| |_____^
note: required because it's used within this `async` fn body
--> C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:193:82
|
193 | async fn fetch_type_by_oid(&mut self, oid: Oid) -> Result<PgTypeInfo, Error> {
| __________________________________________________________________________________^
194 | | let (name, typ_type, category, relation_id, element, base_type): (
195 | | String,
196 | | i8,
... |
257 | | }
| |_____^
note: required because it's used within this `async` block
--> C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:172:33
|
172 | let info = Box::pin(async { self.fetch_type_by_oid(oid).await }).await?;
| ^^^^^
= note: required for `Unique<{async block@C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:172:33: 172:38}>` to implement `std::marker::Send`
note: required because it appears within the type `Box<{async block@C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:172:33: 172:38}>`
--> C:\Users\htgaz\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\alloc\src\boxed.rs:231:12
|
231 | pub struct Box<
| ^^^
note: required because it appears within the type `Pin<Box<{async block@C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:172:33: 172:38}>>`
--> C:\Users\htgaz\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\core\src\pin.rs:1094:12
|
1094 | pub struct Pin<Ptr> {
| ^^^
note: required because it's used within this `async` fn body
--> C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:157:36
|
157 | ) -> Result<PgTypeInfo, Error> {
| ____________________________________^
158 | | // first we check if this is a built-in type
159 | | // in the average application, the vast majority of checks should flow through this
160 | | if let Some(info) = PgTypeInfo::try_from_oid(oid) {
... |
191 | | }
| |_____^
note: required because it's used within this `async` fn body
--> C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:319:36
|
319 | ) -> Result<PgTypeInfo, Error> {
| ____________________________________^
320 | | let base_type = self.maybe_fetch_type_info_by_oid(base_type, true).await?;
321 | |
322 | | Ok(PgTypeInfo(PgType::Custom(Arc::new(PgCustomType {
... |
326 | | }))))
327 | | }
| |_____^
note: required because it's used within this `async` fn body
--> C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:193:82
|
193 | async fn fetch_type_by_oid(&mut self, oid: Oid) -> Result<PgTypeInfo, Error> {
| __________________________________________________________________________________^
194 | | let (name, typ_type, category, relation_id, element, base_type): (
195 | | String,
196 | | i8,
... |
257 | | }
| |_____^
note: required because it's used within this `async` block
--> C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:172:33
|
172 | let info = Box::pin(async { self.fetch_type_by_oid(oid).await }).await?;
| ^^^^^
= note: required for `Unique<{async block@C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:172:33: 172:38}>` to implement `std::marker::Send`
note: required because it appears within the type `Box<{async block@C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:172:33: 172:38}>`
--> C:\Users\htgaz\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\alloc\src\boxed.rs:231:12
|
231 | pub struct Box<
| ^^^
note: required because it appears within the type `Pin<Box<{async block@C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:172:33: 172:38}>>`
--> C:\Users\htgaz\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\core\src\pin.rs:1094:12
|
1094 | pub struct Pin<Ptr> {
| ^^^
note: required because it's used within this `async` fn body
--> C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:157:36
|
157 | ) -> Result<PgTypeInfo, Error> {
| ____________________________________^
158 | | // first we check if this is a built-in type
159 | | // in the average application, the vast majority of checks should flow through this
160 | | if let Some(info) = PgTypeInfo::try_from_oid(oid) {
... |
191 | | }
| |_____^
note: required because it's used within this `async` fn body
--> C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:319:36
|
319 | ) -> Result<PgTypeInfo, Error> {
| ____________________________________^
320 | | let base_type = self.maybe_fetch_type_info_by_oid(base_type, true).await?;
321 | |
322 | | Ok(PgTypeInfo(PgType::Custom(Arc::new(PgCustomType {
... |
326 | | }))))
327 | | }
| |_____^
note: required because it's used within this `async` fn body
--> C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:193:82
|
193 | async fn fetch_type_by_oid(&mut self, oid: Oid) -> Result<PgTypeInfo, Error> {
| __________________________________________________________________________________^
194 | | let (name, typ_type, category, relation_id, element, base_type): (
195 | | String,
196 | | i8,
... |
257 | | }
| |_____^
note: required because it's used within this `async` block
--> C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:172:33
|
172 | let info = Box::pin(async { self.fetch_type_by_oid(oid).await }).await?;
| ^^^^^
= note: required for `Unique<{async block@C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:172:33: 172:38}>` to implement `std::marker::Send`
note: required because it appears within the type `Box<{async block@C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:172:33: 172:38}>`
--> C:\Users\htgaz\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\alloc\src\boxed.rs:231:12
|
231 | pub struct Box<
| ^^^
note: required because it appears within the type `Pin<Box<{async block@C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:172:33: 172:38}>>`
--> C:\Users\htgaz\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\core\src\pin.rs:1094:12
|
1094 | pub struct Pin<Ptr> {
| ^^^
note: required because it's used within this `async` fn body
--> C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:157:36
|
157 | ) -> Result<PgTypeInfo, Error> {
| ____________________________________^
158 | | // first we check if this is a built-in type
159 | | // in the average application, the vast majority of checks should flow through this
160 | | if let Some(info) = PgTypeInfo::try_from_oid(oid) {
... |
191 | | }
| |_____^
note: required because it's used within this `async` fn body
--> C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:319:36
|
319 | ) -> Result<PgTypeInfo, Error> {
| ____________________________________^
320 | | let base_type = self.maybe_fetch_type_info_by_oid(base_type, true).await?;
321 | |
322 | | Ok(PgTypeInfo(PgType::Custom(Arc::new(PgCustomType {
... |
326 | | }))))
327 | | }
| |_____^
note: required because it's used within this `async` fn body
--> C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:193:82
|
193 | async fn fetch_type_by_oid(&mut self, oid: Oid) -> Result<PgTypeInfo, Error> {
| __________________________________________________________________________________^
194 | | let (name, typ_type, category, relation_id, element, base_type): (
195 | | String,
196 | | i8,
... |
257 | | }
| |_____^
note: required because it's used within this `async` block
--> C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:172:33
|
172 | let info = Box::pin(async { self.fetch_type_by_oid(oid).await }).await?;
| ^^^^^
= note: required for `Unique<{async block@C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:172:33: 172:38}>` to implement `std::marker::Send`
note: required because it appears within the type `Box<{async block@C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:172:33: 172:38}>`
--> C:\Users\htgaz\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\alloc\src\boxed.rs:231:12
|
231 | pub struct Box<
| ^^^
note: required because it appears within the type `Pin<Box<{async block@C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:172:33: 172:38}>>`
--> C:\Users\htgaz\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\core\src\pin.rs:1094:12
|
1094 | pub struct Pin<Ptr> {
| ^^^
note: required because it's used within this `async` fn body
--> C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:157:36
|
157 | ) -> Result<PgTypeInfo, Error> {
| ____________________________________^
158 | | // first we check if this is a built-in type
159 | | // in the average application, the vast majority of checks should flow through this
160 | | if let Some(info) = PgTypeInfo::try_from_oid(oid) {
... |
191 | | }
| |_____^
note: required because it's used within this `async` fn body
--> C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\describe.rs:104:63
|
104 | ) -> Result<(Vec<PgColumn>, HashMap<UStr, usize>), Error> {
| _______________________________________________________________^
105 | | let mut columns = Vec::new();
106 | | let mut column_names = HashMap::new();
... |
137 | | Ok((columns, column_names))
138 | | }
| |_____^
note: required because it's used within this `async` block
--> C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-postgres-0.8.6\src\connection\executor.rs:294:12
|
294 | Ok(try_stream! {
| ____________^
295 | | loop {
296 | | let message = self.inner.stream.recv().await?;
... |
375 | | Ok(())
376 | | })
| |_________^
note: required because it appears within the type `ManuallyDrop<{async block@C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-core-0.8.6\src\ext\async_stream.rs:124:110: 124:120}>`
--> C:\Users\htgaz\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib/rustlib/src/rust\library\core\src\mem\manually_drop.rs:157:12
|
157 | pub struct ManuallyDrop<T: ?Sized> {
| ^^^^^^^^^^^^
note: required because it appears within the type `Instrumented<{async block@C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\sqlx-core-0.8.6\src\ext\async_stream.rs:124:110: 124:120}>`
--> C:\Users\htgaz\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\tracing-0.1.41\src\instrument.rs:266:16
|
266 | pub struct Instrumented<T> {
| ^^^^^^^^^^^^
= note: this error originates in the macro `try_stream` (in Nightly builds, run with -Z macro-backtrace for more info)
Meta
rustc --version --verbose
:
rustc 1.91.0-nightly (1ebbd87a6 2025-08-11)
binary: rustc
commit-hash: 1ebbd87a62ce96a72b22da61b7c2c43893534842
commit-date: 2025-08-11
host: x86_64-pc-windows-msvc
release: 1.91.0-nightly
LLVM version: 21.1.0
Metadata
Metadata
Assignees
Labels
C-bugCategory: This is a bug.Category: This is a bug.E-needs-bisectionCall for participation: This issue needs bisection: https://github.com/rust-lang/cargo-bisect-rustcCall for participation: This issue needs bisection: https://github.com/rust-lang/cargo-bisect-rustcS-needs-reproStatus: This issue has no reproduction and needs a reproduction to make progress.Status: This issue has no reproduction and needs a reproduction to make progress.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.needs-triageThis issue may need triage. Remove it if it has been sufficiently triaged.This issue may need triage. Remove it if it has been sufficiently triaged.