Can't convert variables using __traits

Anonymouse zorael at gmail.com
Mon Apr 18 16:25:40 UTC 2022


On Monday, 18 April 2022 at 11:31:29 UTC, Wusiki jeronii wrote:
> [...]

You can use `.tupleof` too to access or foreach over individual 
members of a struct or a class.


```d
void somefun()
{
     string[string] test = ["login" : "login", "type" : "42"];
     Users* user = new Users();

     assert(user.login == "");
     assert(user.type == 0);

     foreach (i, ref member; user.tupleof)
     {
         enum memberName = __traits(identifier, Users.tupleof[i]);

         if (memberName in test)
         {
             member = to!(typeof(member))(test[memberName]);
         }
     }

     assert(user.login == "login");
     assert(user.type == 42);
}
```


More information about the Digitalmars-d mailing list