Skip to content

Include rust-version field in package to avoid cryptic errors #1609

Closed
@ryancerium

Description

@ryancerium

Which crate is this about?

windows

Crate version

0.34.0

Summary

Windows\Win32\System\Diagnostics\Debug\mod.rs won't compile. Full cargo check output is below.

PS C:\Users\rphelps\code\ryancerium\grist> cargo check
    Blocking waiting for file lock on build directory
    Checking windows v0.34.0
error: type parameters must be declared prior to const parameters
    --> C:\Users\rphelps\.cargo\registry\src\github.com-1ecc6299db9ec823\windows-0.34.0\src\Windows\Win32\System\Diagnostics\Debug\mod.rs:9888:68
     |
9888 | ...iptTextAttributes<'a, const PARAM1: usize, Param2: ::windows::core::IntoParam<'a, ::windows::core::PCWSTR>>(&self, pszcode: &[u16; PAR...
     |                     --------------------------^^^^^^---------------------------------------------------------- help: reorder the parameters: lifetimes, then types, then consts: `<'a, Param2: ::windows::core::IntoParam<'a, ::windows::core::PCWSTR>, const PARAM1: usize>`

error: type parameters must be declared prior to const parameters
    --> C:\Users\rphelps\.cargo\registry\src\github.com-1ecc6299db9ec823\windows-0.34.0\src\Windows\Win32\System\Diagnostics\Debug\mod.rs:9892:71
     |
9892 | ...letTextAttributes<'a, const PARAM1: usize, Param2: ::windows::core::IntoParam<'a, ::windows::core::PCWSTR>>(&self, pszcode: &[u16; PAR...
     |                     --------------------------^^^^^^---------------------------------------------------------- help: reorder the parameters: lifetimes, then types, then consts: `<'a, Param2: ::windows::core::IntoParam<'a, ::windows::core::PCWSTR>, const PARAM1: usize>`

error: type parameters must be declared prior to const parameters
     --> C:\Users\rphelps\.cargo\registry\src\github.com-1ecc6299db9ec823\windows-0.34.0\src\Windows\Win32\System\Diagnostics\Debug\mod.rs:10075:68
      |
10075 | ...iptTextAttributes<'a, const PARAM1: usize, Param2: ::windows::core::IntoParam<'a, ::windows::core::PCWSTR>>(&self, pstrcode: &[u16; PA...
      |                     --------------------------^^^^^^---------------------------------------------------------- help: reorder the parameters: lifetimes, then types, then consts: `<'a, Param2: ::windows::core::IntoParam<'a, ::windows::core::PCWSTR>, const PARAM1: usize>`

error: type parameters must be declared prior to const parameters
     --> C:\Users\rphelps\.cargo\registry\src\github.com-1ecc6299db9ec823\windows-0.34.0\src\Windows\Win32\System\Diagnostics\Debug\mod.rs:10079:71
      |
10079 | ...letTextAttributes<'a, const PARAM1: usize, Param2: ::windows::core::IntoParam<'a, ::windows::core::PCWSTR>>(&self, pstrcode: &[u16; PA...
      |                     --------------------------^^^^^^---------------------------------------------------------- help: reorder the parameters: lifetimes, then types, then consts: `<'a, Param2: ::windows::core::IntoParam<'a, ::windows::core::PCWSTR>, const PARAM1: usize>`

error: type parameters must be declared prior to const parameters
     --> C:\Users\rphelps\.cargo\registry\src\github.com-1ecc6299db9ec823\windows-0.34.0\src\Windows\Win32\System\Diagnostics\Debug\mod.rs:10141:68
      |
10141 | ...iptTextAttributes<'a, const PARAM1: usize, Param2: ::windows::core::IntoParam<'a, ::windows::core::PCWSTR>>(&self, pstrcode: &[u16; PA...
      |                     --------------------------^^^^^^---------------------------------------------------------- help: reorder the parameters: lifetimes, then types, then consts: `<'a, Param2: ::windows::core::IntoParam<'a, ::windows::core::PCWSTR>, const PARAM1: usize>`

error: type parameters must be declared prior to const parameters
     --> C:\Users\rphelps\.cargo\registry\src\github.com-1ecc6299db9ec823\windows-0.34.0\src\Windows\Win32\System\Diagnostics\Debug\mod.rs:10145:71
      |
10145 | ...letTextAttributes<'a, const PARAM1: usize, Param2: ::windows::core::IntoParam<'a, ::windows::core::PCWSTR>>(&self, pstrcode: &[u16; PA...
      |                     --------------------------^^^^^^---------------------------------------------------------- help: reorder the parameters: lifetimes, then types, then consts: `<'a, Param2: ::windows::core::IntoParam<'a, ::windows::core::PCWSTR>, const PARAM1: usize>`

error: type parameters must be declared prior to const parameters
     --> C:\Users\rphelps\.cargo\registry\src\github.com-1ecc6299db9ec823\windows-0.34.0\src\Windows\Win32\System\Diagnostics\Debug\mod.rs:28628:68
      |
28628 | ...iptTextAttributes<'a, const PARAM1: usize, Param2: ::windows::core::IntoParam<'a, ::windows::core::PCWSTR>>(&self, pstrcode: &[u16; PA...
      |                     --------------------------^^^^^^---------------------------------------------------------- help: reorder the parameters: lifetimes, then types, then consts: `<'a, Param2: ::windows::core::IntoParam<'a, ::windows::core::PCWSTR>, const PARAM1: usize>`

error: could not compile `windows` due to 7 previous errors

Toolchain version/configuration

PS C:\Users\rphelps\code\ryancerium\grist> rustup show
Default host: x86_64-pc-windows-msvc
rustup home:  C:\Users\rphelps\.rustup

installed toolchains
--------------------

stable-x86_64-pc-windows-msvc
nightly-x86_64-pc-windows-msvc

active toolchain
----------------

stable-x86_64-pc-windows-msvc (default)
rustc 1.57.0 (f1edd0429 2021-11-29)

Reproducible example

fn main() {
    println!("Hello, world!");
}

Crate manifest

[package]
name = "sample"
version = "0.1.0"
edition = "2021"

[package.metadata.docs.rs]
default-target = "x86_64-pc-windows-msvc"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]

[dependencies.windows]
version = "0.34.0"
features = [
    "Win32_System_Diagnostics_Debug"
]

Expected behavior

I thought it would compile.

Actual behavior

It did not compile.

Additional comments

I love the good work and community involvement on this crate!

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions