E0084#
警告名:unqualified_record
let で直接束縛された構造体リテラルに、明示的な T:: 型プレフィックスがありません。束縛の型注釈によって型が特定できる場合でも、リテラルにプレフィックスを残すことで、構築する型が明確になります。
誤った例#
型注釈によって構造体の型は特定されていますが、リテラル自体は修飾されていません:
///|
pub struct Point {
x : Int
y : Int
}
///|
pub fn origin() -> Point {
let point : Point = { x: 0, y: 0 }
point
}
修正方法#
リテラルに構造体型のプレフィックスを付け、束縛の型は推論させます。
///|
pub struct Point {
x : Int
y : Int
}
///|
pub fn origin() -> Point {
let point = Point::{ x: 0, y: 0 }
point
}