{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreiggtkfqthco3xg3zhzomzfu3fwrgdqfwvktahtghpyuvef5fwsblm",
    "uri": "at://did:plc:ivbknywyskln22er3nkssdhl/app.bsky.feed.post/3mgfpejngxz52"
  },
  "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?"
}