Used a struct name as if it were a value; usually a missing constructor or fields.
struct Point { x: i32, y: i32 }
let p = Point; // E0423: expected value, found struct `Point`
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.
- 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;.