E0423name-resolution

Expected value, found struct

Used a struct name as if it were a value; usually a missing constructor or fields.

Repro

struct Point { x: i32, y: i32 }
let p = Point;   // E0423: expected value, found struct `Point`

Why

Point is a type, not a value. Normal structs need a constructor — either struct literal syntax or an associated function. Tuple structs have a constructor function automatically; unit structs are themselves values.

Fix

- Use struct literal: let p = Point { x: 0, y: 0 };. - Add an associated new: impl Point { pub fn new() -> Self { Self { x: 0, y: 0 } } }. - For tuple structs, use the function form: let id = UserId(42);. - For unit structs, drop the parens: let m = Marker;.

Patterns that solve this