void EnumAliases(T[] aliases)
                  
                  
                    {
                  
                  
                      import std.stdio, std.traits, std.conv : to;
                  
                  
                      foreach (a; aliases)
                  
                  
                      {
                  
                  
                        string T = typeof(a);
                  
                  
                        string V = a.to!string();
                  
                  
                        mixin("alias " ~ V ~ " = " ~ T.stringof ~ "." ~ V ~ ";");
                  
                  
                      }
                  
                  
                    }
                  
                  
                  }
                  
                  
                  
                  
                  
                  mixin EnumAliases!([SQ.A1, SQ.H8]);
                  
                  
                  
                  
                  
                  вроде всё правильно написал, но ругается что типы не совпадают Error: mixin square.EnumAliases!([cast(SQ)cast(ubyte)0u, cast(SQ)cast(ubyte)63u]) does not match template declaration EnumAliases(T)(T[] aliases)
                  
                  
                
Мне кажется что ты не правильно вообще идею сделал. У тебя все миксины будут внутри функции EnumAliases
 Nikita
                          Kurgin
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Nikita
                          Kurgin
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  а это не eponymous pattern? или видимо я неправильно его понимаю
Ну он, только вот тут ничего не меняется. mixin работает на уровне шаблона, функцию он не развернёт
Обсуждают сегодня