{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreiggtkfqthco3xg3zhzomzfu3fwrgdqfwvktahtghpyuvef5fwsblm",
"uri": "at://did:plc:ivbknywyskln22er3nkssdhl/app.bsky.feed.post/3mgfinmhocj42"
},
"path": "/t/should-we-have-set-static-field-for-trait/24058#post_1",
"publishedAt": "2026-03-06T04:08:53.000Z",
"site": "https://internals.rust-lang.org",
"textContent": "I want something like this:\n\n\n trait Person\n where Self::name:&str /* This should be Self::Person::name -> It's still compicate*/\n {\n fn name(&self)->Self.name{\n self.name\n }\n }\n\n\nor we can do it by\n\n\n #[field(name,...)] /* It can create **bad code** and bad habbit */\n trait Person{}\n\n\nrightnow I am doing like this :\n\n\n struct Person{\n fulname: String,\n midname:String,\n ....\n }\n trait Identify {\n fn person(&self)->&Person;\n fn fname(&self)->&str{\n self.person().fulname\n }\n fn mname(&self)->&str{\n self.person().midname\n }\n ....\n\n\nand it's quite boring.we have getters crate. but I doesn't want to use it yet\n\n**P/S : I have changed my mind. Actually Op3 is better then option1 and option2. Nothing should be change**",
"title": "Should we have set static field for Trait?"
}