Skip to content

sqlx-macros disables default features of syn but doesn't enable required features #2418

@arch-mage

Description

@arch-mage

Bug Description

I've asked about this at Discord. They (or He) say this is a bug because sqlx-macros dependencies are wrong.

Minimal Reproduction

  • Create a new project cargo new bugtest.
  • Add sqlx as a dependency.
[package]
name = "bugtest"
version = "0.1.0"
edition = "2021"

[dependencies.sqlx]
version = "0.6.2"
default-features = false
features = ["runtime-tokio-rustls", "postgres"]
  • Run cargo check

Info

  • SQLx version: 0.6.1, 0.6.2
  • SQLx features enabled: runtime-tokio-rustls
  • Database server and version: mysql, postgres
  • Operating system: arch-linux, debian, alpine
  • rustc --version: 1.67, 1.68

cargo check output

    Updating crates.io index
   Compiling libc v0.2.140
   Compiling version_check v0.9.4
   Compiling autocfg v1.1.0
   Compiling cfg-if v1.0.0
   Compiling typenum v1.16.0
   Compiling cc v1.0.79
   Compiling log v0.4.17
   Compiling memchr v2.5.0
   Compiling proc-macro2 v1.0.52
   Compiling unicode-ident v1.0.8
   Compiling quote v1.0.26
   Compiling futures-core v0.3.27
   Compiling once_cell v1.17.1
   Compiling rustls v0.20.8
   Compiling parking_lot_core v0.8.6
   Compiling spin v0.5.2
   Compiling untrusted v0.7.1
   Compiling serde_derive v1.0.158
   Compiling generic-array v0.14.6
   Compiling ahash v0.7.6
   Compiling crossbeam-utils v0.8.15
   Compiling tokio v1.26.0
   Compiling lock_api v0.4.9
   Compiling num-traits v0.2.15
   Compiling serde v1.0.158
   Compiling subtle v2.4.1
   Compiling futures-task v0.3.27
   Compiling syn v2.0.4
   Compiling getrandom v0.2.8
   Compiling pin-project-lite v0.2.9
   Compiling tinyvec_macros v0.1.1
   Compiling socket2 v0.4.9
   Compiling mio v0.8.6
   Compiling num_cpus v1.15.0
   Compiling tinyvec v1.6.0
   Compiling indexmap v1.9.2
   Compiling serde_json v1.0.94
   Compiling bytes v1.4.0
   Compiling thiserror v1.0.40
   Compiling crossbeam-queue v0.3.8
   Compiling ring v0.16.20
    Checking block-buffer v0.10.4
    Checking crypto-common v0.1.6
   Compiling futures-channel v0.3.27
    Checking digest v0.10.6
   Compiling futures-util v0.3.27
   Compiling unicode-normalization v0.1.22
   Compiling instant v0.1.12
   Compiling scopeguard v1.1.0
   Compiling paste v1.0.12
   Compiling unicode-bidi v0.3.13
   Compiling smallvec v1.10.0
   Compiling hashbrown v0.12.3
   Compiling rand_core v0.6.4
   Compiling percent-encoding v2.2.0
   Compiling minimal-lexical v0.2.1
   Compiling either v1.8.1
   Compiling cpufeatures v0.2.5
   Compiling ppv-lite86 v0.2.17
   Compiling futures-sink v0.3.27
   Compiling itertools v0.10.5
   Compiling nom v7.1.3
   Compiling form_urlencoded v1.1.0
   Compiling parking_lot v0.11.2
   Compiling idna v0.3.0
   Compiling hmac v0.12.1
   Compiling rand_chacha v0.3.1
   Compiling dirs-sys v0.3.7
   Compiling pin-utils v0.1.0
   Compiling base64 v0.21.0
   Compiling itoa v1.0.6
    Checking webpki v0.22.0
    Checking sct v0.7.0
   Compiling ryu v1.0.13
   Compiling unicode_categories v0.1.1
   Compiling syn v1.0.109
   Compiling rustls-pemfile v1.0.2
   Compiling thiserror-impl v1.0.40
   Compiling sqlformat v0.2.1
   Compiling webpki-roots v0.22.6
   Compiling dirs v4.0.0
   Compiling atoi v1.0.0
   Compiling url v2.3.1
   Compiling tokio-stream v0.1.12
   Compiling rand v0.8.5
   Compiling hkdf v0.12.3
   Compiling futures-intrusive v0.4.2
    Checking tokio-rustls v0.23.4
   Compiling hashlink v0.8.1
   Compiling sha2 v0.10.6
   Compiling sha1 v0.10.5
   Compiling stringprep v0.1.2
   Compiling md-5 v0.10.5
   Compiling unicode-segmentation v1.10.1
   Compiling event-listener v2.5.3
   Compiling hex v0.4.3
   Compiling whoami v1.4.0
   Compiling sqlx-rt v0.6.2
   Compiling base64 v0.13.1
   Compiling bitflags v1.3.2
   Compiling byteorder v1.4.3
   Compiling dotenvy v0.15.6
   Compiling heck v0.4.1
    Checking sqlx-core v0.6.2
   Compiling sqlx-macros v0.6.2
error[E0432]: unresolved import `syn::spanned`
 --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/derives/attributes.rs:4:10
  |
4 | use syn::spanned::Spanned;
  |          ^^^^^^^ could not find `spanned` in `syn`

error[E0432]: unresolved import `syn::DeriveInput`
 --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/derives/attributes.rs:6:22
  |
6 | use syn::{Attribute, DeriveInput, Field, Lit, Meta, MetaNameValue, NestedMeta, Variant};
  |                      ^^^^^^^^^^^ no `DeriveInput` in the root

error[E0432]: unresolved imports `syn::parse_quote`, `syn::Data`, `syn::DataEnum`, `syn::DataStruct`, `syn::DeriveInput`
  --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/derives/decode.rs:11:5
   |
11 |     parse_quote, Arm, Data, DataEnum, DataStruct, DeriveInput, Field, Fields, FieldsNamed,
   |     ^^^^^^^^^^^       ^^^^  ^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^ no `DeriveInput` in the root
   |     |                 |     |         |
   |     |                 |     |         no `DataStruct` in the root
   |     |                 |     no `DataEnum` in the root
   |     |                 no `Data` in the root
   |     no `parse_quote` in the root
   |
help: a similar name exists in the module
   |
11 |     parse_quote, Arm, data, DataEnum, DataStruct, DeriveInput, Field, Fields, FieldsNamed,
   |                       ~~~~
help: a similar name exists in the module
   |
11 |     parse_quote, Arm, Data, DataEnum, PatStruct, DeriveInput, Field, Fields, FieldsNamed,
   |                                       ~~~~~~~~~

error[E0432]: unresolved imports `syn::parse_quote`, `syn::Data`, `syn::DataEnum`, `syn::DataStruct`, `syn::DeriveInput`
  --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/derives/encode.rs:11:5
   |
11 |     parse_quote, Data, DataEnum, DataStruct, DeriveInput, Expr, Field, Fields, FieldsNamed,
   |     ^^^^^^^^^^^  ^^^^  ^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^ no `DeriveInput` in the root
   |     |            |     |         |
   |     |            |     |         no `DataStruct` in the root
   |     |            |     no `DataEnum` in the root
   |     |            no `Data` in the root
   |     no `parse_quote` in the root
   |
help: a similar name exists in the module
   |
11 |     parse_quote, data, DataEnum, DataStruct, DeriveInput, Expr, Field, Fields, FieldsNamed,
   |                  ~~~~
help: a similar name exists in the module
   |
11 |     parse_quote, Data, DataEnum, PatStruct, DeriveInput, Expr, Field, Fields, FieldsNamed,
   |                                  ~~~~~~~~~

error[E0432]: unresolved imports `syn::parse_quote`, `syn::Data`, `syn::DataStruct`, `syn::DeriveInput`
 --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/derives/row.rs:4:5
  |
4 |     parse_quote, punctuated::Punctuated, token::Comma, Data, DataStruct, DeriveInput, Expr, Field,
  |     ^^^^^^^^^^^                                        ^^^^  ^^^^^^^^^^  ^^^^^^^^^^^ no `DeriveInput` in the root
  |     |                                                  |     |
  |     |                                                  |     no `DataStruct` in the root
  |     no `parse_quote` in the root                       no `Data` in the root
  |
help: a similar name exists in the module
  |
4 |     parse_quote, punctuated::Punctuated, token::Comma, data, DataStruct, DeriveInput, Expr, Field,
  |                                                        ~~~~
help: a similar name exists in the module
  |
4 |     parse_quote, punctuated::Punctuated, token::Comma, Data, PatStruct, DeriveInput, Expr, Field,
  |                                                              ~~~~~~~~~

error[E0432]: unresolved imports `syn::parse_quote`, `syn::Data`, `syn::DataEnum`, `syn::DataStruct`, `syn::DeriveInput`
  --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/derives/type.rs:10:5
   |
10 |     parse_quote, Data, DataEnum, DataStruct, DeriveInput, Field, Fields, FieldsNamed,
   |     ^^^^^^^^^^^  ^^^^  ^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^ no `DeriveInput` in the root
   |     |            |     |         |
   |     |            |     |         no `DataStruct` in the root
   |     |            |     no `DataEnum` in the root
   |     |            no `Data` in the root
   |     no `parse_quote` in the root
   |
help: a similar name exists in the module
   |
10 |     parse_quote, data, DataEnum, DataStruct, DeriveInput, Field, Fields, FieldsNamed,
   |                  ~~~~
help: a similar name exists in the module
   |
10 |     parse_quote, Data, DataEnum, PatStruct, DeriveInput, Field, Fields, FieldsNamed,
   |                                  ~~~~~~~~~

error[E0432]: unresolved import `syn::DeriveInput`
  --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/derives/mod.rs:16:5
   |
16 | use syn::DeriveInput;
   |     ^^^^^^^^^^^^^^^^ no `DeriveInput` in the root

error[E0432]: unresolved import `syn::spanned`
 --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/query/args.rs:7:10
  |
7 | use syn::spanned::Spanned;
  |          ^^^^^^^ could not find `spanned` in `syn`

error[E0432]: unresolved import `syn::parse`
 --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/query/input.rs:4:10
  |
4 | use syn::parse::{Parse, ParseStream};
  |          ^^^^^ could not find `parse` in `syn`

error[E0432]: unresolved import `syn::parse`
  --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/query/output.rs:12:10
   |
12 | use syn::parse::{Parse, ParseStream};
   |          ^^^^^ could not find `parse` in `syn`

error[E0433]: failed to resolve: could not find `parse_macro_input` in `syn`
  --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/lib.rs:32:22
   |
32 |     let input = syn::parse_macro_input!(input as query::QueryMacroInput);
   |                      ^^^^^^^^^^^^^^^^^ could not find `parse_macro_input` in `syn`

error[E0433]: failed to resolve: could not find `parse_macro_input` in `syn`
  --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/lib.rs:49:22
   |
49 |     let input = syn::parse_macro_input!(tokenstream as syn::DeriveInput);
   |                      ^^^^^^^^^^^^^^^^^ could not find `parse_macro_input` in `syn`

error[E0433]: failed to resolve: could not find `parse_macro_input` in `syn`
  --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/lib.rs:58:22
   |
58 |     let input = syn::parse_macro_input!(tokenstream as syn::DeriveInput);
   |                      ^^^^^^^^^^^^^^^^^ could not find `parse_macro_input` in `syn`

error[E0433]: failed to resolve: could not find `parse_macro_input` in `syn`
  --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/lib.rs:67:22
   |
67 |     let input = syn::parse_macro_input!(tokenstream as syn::DeriveInput);
   |                      ^^^^^^^^^^^^^^^^^ could not find `parse_macro_input` in `syn`

error[E0433]: failed to resolve: could not find `parse_macro_input` in `syn`
  --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/lib.rs:76:22
   |
76 |     let input = syn::parse_macro_input!(input as syn::DeriveInput);
   |                      ^^^^^^^^^^^^^^^^^ could not find `parse_macro_input` in `syn`

error[E0433]: failed to resolve: could not find `parse_macro_input` in `syn`
   --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/lib.rs:105:21
    |
105 |     let args = syn::parse_macro_input!(args as syn::AttributeArgs);
    |                     ^^^^^^^^^^^^^^^^^ could not find `parse_macro_input` in `syn`

error[E0433]: failed to resolve: could not find `parse_macro_input` in `syn`
   --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/lib.rs:106:22
    |
106 |     let input = syn::parse_macro_input!(input as syn::ItemFn);
    |                      ^^^^^^^^^^^^^^^^^ could not find `parse_macro_input` in `syn`

error: cannot determine resolution for the macro `parse_quote`
  --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/derives/decode.rs:67:20
   |
67 |         .insert(0, parse_quote!(DB: ::sqlx::Database));
   |                    ^^^^^^^^^^^
   |
   = note: import resolution is stuck, try simplifying macro imports

error: cannot determine resolution for the macro `parse_quote`
  --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/derives/decode.rs:68:31
   |
68 |     generics.params.insert(0, parse_quote!('r));
   |                               ^^^^^^^^^^^
   |
   = note: import resolution is stuck, try simplifying macro imports

error: cannot determine resolution for the macro `parse_quote`
  --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/derives/decode.rs:72:15
   |
72 |         .push(parse_quote!(#ty: ::sqlx::decode::Decode<'r, DB>));
   |               ^^^^^^^^^^^
   |
   = note: import resolution is stuck, try simplifying macro imports

error: cannot determine resolution for the macro `parse_quote`
   --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/derives/decode.rs:155:13
    |
155 |             parse_quote!(#rename => ::std::result::Result::Ok(#ident :: #id),)
    |             ^^^^^^^^^^^
    |
    = note: import resolution is stuck, try simplifying macro imports

error: cannot determine resolution for the macro `parse_quote`
   --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/derives/decode.rs:159:13
    |
159 |             parse_quote!(#name => ::std::result::Result::Ok(#ident :: #id),)
    |             ^^^^^^^^^^^
    |
    = note: import resolution is stuck, try simplifying macro imports

error: cannot determine resolution for the macro `parse_quote`
   --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/derives/decode.rs:162:13
    |
162 |             parse_quote!(#name => ::std::result::Result::Ok(#ident :: #id),)
    |             ^^^^^^^^^^^
    |
    = note: import resolution is stuck, try simplifying macro imports

error: cannot determine resolution for the macro `parse_quote`
   --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/derives/decode.rs:274:35
    |
274 |         generics.params.insert(0, parse_quote!('r));
    |                                   ^^^^^^^^^^^
    |
    = note: import resolution is stuck, try simplifying macro imports

error: cannot determine resolution for the macro `parse_quote`
   --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/derives/decode.rs:281:29
    |
281 |             predicates.push(parse_quote!(#ty: ::sqlx::decode::Decode<'r, ::sqlx::Postgres>));
    |                             ^^^^^^^^^^^
    |
    = note: import resolution is stuck, try simplifying macro imports

error: cannot determine resolution for the macro `parse_quote`
   --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/derives/decode.rs:282:29
    |
282 |             predicates.push(parse_quote!(#ty: ::sqlx::types::Type<::sqlx::Postgres>));
    |                             ^^^^^^^^^^^
    |
    = note: import resolution is stuck, try simplifying macro imports

error: cannot determine resolution for the macro `parse_quote`
   --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/derives/decode.rs:291:13
    |
291 |             parse_quote!(
    |             ^^^^^^^^^^^
    |
    = note: import resolution is stuck, try simplifying macro imports

error: cannot determine resolution for the macro `parse_quote`
  --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/derives/encode.rs:73:20
   |
73 |         .insert(0, parse_quote!(DB: ::sqlx::Database));
   |                    ^^^^^^^^^^^
   |
   = note: import resolution is stuck, try simplifying macro imports

error: cannot determine resolution for the macro `parse_quote`
  --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/derives/encode.rs:77:15
   |
77 |         .push(parse_quote!(#ty: ::sqlx::encode::Encode<#lifetime, DB>));
   |               ^^^^^^^^^^^
   |
   = note: import resolution is stuck, try simplifying macro imports

error: cannot determine resolution for the macro `parse_quote`
   --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/derives/encode.rs:221:23
    |
221 |                 .push(parse_quote!(#ty: for<'q> ::sqlx::encode::Encode<'q, ::sqlx::Postgres>));
    |                       ^^^^^^^^^^^
    |
    = note: import resolution is stuck, try simplifying macro imports

error: cannot determine resolution for the macro `parse_quote`
   --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/derives/encode.rs:222:29
    |
222 |             predicates.push(parse_quote!(#ty: ::sqlx::types::Type<::sqlx::Postgres>));
    |                             ^^^^^^^^^^^
    |
    = note: import resolution is stuck, try simplifying macro imports

error: cannot determine resolution for the macro `parse_quote`
   --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/derives/encode.rs:230:13
    |
230 |             parse_quote!(
    |             ^^^^^^^^^^^
    |
    = note: import resolution is stuck, try simplifying macro imports

error: cannot determine resolution for the macro `parse_quote`
   --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/derives/encode.rs:239:13
    |
239 |             parse_quote!(
    |             ^^^^^^^^^^^
    |
    = note: import resolution is stuck, try simplifying macro imports

error: cannot determine resolution for the macro `parse_quote`
  --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/derives/row.rs:56:31
   |
56 |     generics.params.insert(0, parse_quote!(R: ::sqlx::Row));
   |                               ^^^^^^^^^^^
   |
   = note: import resolution is stuck, try simplifying macro imports

error: cannot determine resolution for the macro `parse_quote`
  --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/derives/row.rs:59:35
   |
59 |         generics.params.insert(0, parse_quote!(#lifetime));
   |                                   ^^^^^^^^^^^
   |
   = note: import resolution is stuck, try simplifying macro imports

error: cannot determine resolution for the macro `parse_quote`
  --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/derives/row.rs:64:21
   |
64 |     predicates.push(parse_quote!(&#lifetime ::std::primitive::str: ::sqlx::ColumnIndex<R>));
   |                     ^^^^^^^^^^^
   |
   = note: import resolution is stuck, try simplifying macro imports

error: cannot determine resolution for the macro `parse_quote`
  --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/derives/row.rs:77:37
   |
77 |                     predicates.push(parse_quote!(#ty: ::sqlx::FromRow<#lifetime, R>));
   |                                     ^^^^^^^^^^^
   |
   = note: import resolution is stuck, try simplifying macro imports

error: cannot determine resolution for the macro `parse_quote`
  --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/derives/row.rs:78:21
   |
78 |                     parse_quote!(<#ty as ::sqlx::FromRow<#lifetime, R>>::from_row(row))
   |                     ^^^^^^^^^^^
   |
   = note: import resolution is stuck, try simplifying macro imports

error: cannot determine resolution for the macro `parse_quote`
  --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/derives/row.rs:82:31
   |
82 |                         .push(parse_quote!(#ty: ::sqlx::decode::Decode<#lifetime, R::Database>));
   |                               ^^^^^^^^^^^
   |
   = note: import resolution is stuck, try simplifying macro imports

error: cannot determine resolution for the macro `parse_quote`
  --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/derives/row.rs:83:37
   |
83 |                     predicates.push(parse_quote!(#ty: ::sqlx::types::Type<R::Database>));
   |                                     ^^^^^^^^^^^
   |
   = note: import resolution is stuck, try simplifying macro imports

error: cannot determine resolution for the macro `parse_quote`
  --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/derives/row.rs:93:21
   |
93 |                     parse_quote!(row.try_get(#id_s))
   |                     ^^^^^^^^^^^
   |
   = note: import resolution is stuck, try simplifying macro imports

error: cannot determine resolution for the macro `parse_quote`
  --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/derives/row.rs:96:37
   |
96 |                     predicates.push(parse_quote!(#try_from: ::sqlx::FromRow<#lifetime, R>));
   |                                     ^^^^^^^^^^^
   |
   = note: import resolution is stuck, try simplifying macro imports

error: cannot determine resolution for the macro `parse_quote`
  --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/derives/row.rs:97:21
   |
97 | ...   parse_quote!(<#try_from as ::sqlx::FromRow<#lifetime, R>>::from_row(row).and_then(|v| <#ty as ::std::convert::TryFrom::<#try_from>>...
   |       ^^^^^^^^^^^
   |
   = note: import resolution is stuck, try simplifying macro imports

error: cannot determine resolution for the macro `parse_quote`
   --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/derives/row.rs:101:31
    |
101 |                         .push(parse_quote!(#try_from: ::sqlx::decode::Decode<#lifetime, R::Database>));
    |                               ^^^^^^^^^^^
    |
    = note: import resolution is stuck, try simplifying macro imports

error: cannot determine resolution for the macro `parse_quote`
   --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/derives/row.rs:102:37
    |
102 |                     predicates.push(parse_quote!(#try_from: ::sqlx::types::Type<R::Database>)); 
    |                                     ^^^^^^^^^^^
    |
    = note: import resolution is stuck, try simplifying macro imports

error: cannot determine resolution for the macro `parse_quote`
   --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/derives/row.rs:112:21
    |
112 | ...   parse_quote!(row.try_get(#id_s).and_then(|v| <#ty as ::std::convert::TryFrom::<#try_from>>::try_from(v).map_err(|e| ::sqlx::Error::...
    |       ^^^^^^^^^^^
    |
    = note: import resolution is stuck, try simplifying macro imports

error: cannot determine resolution for the macro `parse_quote`
   --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/derives/row.rs:117:22
    |
117 |                 Some(parse_quote!(let #id: #ty = #expr.or_else(|e| match e {
    |                      ^^^^^^^^^^^
    |
    = note: import resolution is stuck, try simplifying macro imports

error: cannot determine resolution for the macro `parse_quote`
   --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/derives/row.rs:124:22
    |
124 |                 Some(parse_quote!(
    |                      ^^^^^^^^^^^
    |
    = note: import resolution is stuck, try simplifying macro imports

error: cannot determine resolution for the macro `parse_quote`
   --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/derives/row.rs:166:31
    |
166 |     generics.params.insert(0, parse_quote!(R: ::sqlx::Row));
    |                               ^^^^^^^^^^^
    |
    = note: import resolution is stuck, try simplifying macro imports

error: cannot determine resolution for the macro `parse_quote`
   --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/derives/row.rs:169:35
    |
169 |         generics.params.insert(0, parse_quote!(#lifetime));
    |                                   ^^^^^^^^^^^
    |
    = note: import resolution is stuck, try simplifying macro imports

error: cannot determine resolution for the macro `parse_quote`
   --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/derives/row.rs:174:21
    |
174 |     predicates.push(parse_quote!(
    |                     ^^^^^^^^^^^
    |
    = note: import resolution is stuck, try simplifying macro imports

error: cannot determine resolution for the macro `parse_quote`
   --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/derives/row.rs:181:25
    |
181 |         predicates.push(parse_quote!(#ty: ::sqlx::decode::Decode<#lifetime, R::Database>));
    |                         ^^^^^^^^^^^
    |
    = note: import resolution is stuck, try simplifying macro imports

error: cannot determine resolution for the macro `parse_quote`
   --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/derives/row.rs:182:25
    |
182 |         predicates.push(parse_quote!(#ty: ::sqlx::types::Type<R::Database>));
    |                         ^^^^^^^^^^^
    |
    = note: import resolution is stuck, try simplifying macro imports

error: cannot determine resolution for the macro `parse_quote`
  --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/derives/type.rs:67:24
   |
67 |             .insert(0, parse_quote!(DB: ::sqlx::Database));
   |                        ^^^^^^^^^^^
   |
   = note: import resolution is stuck, try simplifying macro imports

error: cannot determine resolution for the macro `parse_quote`
  --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/derives/type.rs:71:19
   |
71 |             .push(parse_quote!(#ty: ::sqlx::Type<DB>));
   |                   ^^^^^^^^^^^
   |
   = note: import resolution is stuck, try simplifying macro imports

error: cannot determine resolution for the macro `parse_quote`
  --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/derives/type.rs:77:19
   |
77 |             .push(parse_quote!(#ty: ::sqlx::postgres::PgHasArrayType));
   |                   ^^^^^^^^^^^
   |
   = note: import resolution is stuck, try simplifying macro imports

error: cannot determine resolution for the macro `parse_quote`
   --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/derives/decode.rs:108:13
    |
108 |             parse_quote! {
    |             ^^^^^^^^^^^
    |
    = note: import resolution is stuck, try simplifying macro imports

error[E0425]: cannot find function `parse_str` in crate `syn`
  --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/database/mod.rs:18:14
   |
18 |         syn::parse_str(Self::DATABASE_PATH).unwrap()
   |              ^^^^^^^^^ not found in `syn`

error[E0425]: cannot find function `parse_str` in crate `syn`
  --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/database/mod.rs:22:14
   |
22 |         syn::parse_str(Self::ROW_PATH).unwrap()
   |              ^^^^^^^^^ not found in `syn`

error[E0425]: cannot find function `parse_str` in crate `syn`
   --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/query/output.rs:270:22
    |
270 |                 syn::parse_str(remainder)?
    |                      ^^^^^^^^^ not found in `syn`

error[E0425]: cannot find function `parse_str` in crate `syn`
   --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/query/output.rs:325:33
    |
325 |         if let Ok(ident) = syn::parse_str(&ident) {
    |                                 ^^^^^^^^^ not found in `syn`

error[E0425]: cannot find function `parse_str` in crate `syn`
   --> /home/bagol/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.6.2/src/query/mod.rs:350:46
    |
350 |                 let record_name: Type = syn::parse_str("Record").unwrap();
    |                                              ^^^^^^^^^ not found in `syn`

Some errors have detailed explanations: E0425, E0432, E0433.
For more information about an error, try `rustc --explain E0425`.
error: could not compile `sqlx-macros` due to 62 previous errors

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions