Skip to content

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

@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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions