Skip to content

[BUG] Const generics broken when inside struct #14844

@utkarshgupta137

Description

@utkarshgupta137

Versions:

rust-analyzer version: 2023-05-15 & Nightly

rustc version: 1.69.0

relevant settings: https://github.com/utkarshgupta137/nvim-lazy/blob/main/lua/lvim/lsp/settings/rust_analyzer.lua

Minimal reproduction:

pub const ONE: usize = 1;

pub struct Inner<const P: usize>();

pub struct Outer {
    pub inner: Inner<ONE>,
}

fn main() {
    _ = Outer {
        inner: Inner::<1>(), // Error: expected Inner<ONE>, found Inner<1> | rust-analyzer (type-mismatch) [11, 16]
    };
}

Diagnosis:

The bug doesn't exist in the 2023-05-08 release.
This PR included in the 2023-05-15 release seems relevant: #14727

Metadata

Metadata

Assignees

Labels

C-bugCategory: bug

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions