Как это сделать через макросы я понимаю, вопрос можно ли чисто на системе типов такое организовать
так вариант - это же не тип, а значение) Так что только если макросами...
Хорошо, а можно ли достать это значение не вызывая конструктор?
в общем случае без прогона конструктора нельзя, т.к. там могут быть варианты, конструкторы которых выглядят абсолютно одинаково с точки зрения системы типов. Вот если у тебя будет enum в котором каждый вариант имеет строго разные наборы внутренних типов, то ещё можно как-то извратиться с таким... Но в общем случае невозможно.
а нельзя тут у енама сделать какой-то метод, который вернет PartialEq, получить значения обоих ивентов и сравнить?
Эм, мне кажется нет
если речь про твои enum'ы (а не про работу с чужими), то тут можно попробовать пойти извращаться в другую сторону: сделать свой enum времени компиляции... Ну чтобы варианты задавались типами и т.д. и т.п. В общем извращения типа метапрограммирования на шаблонах плюсов... )))
Макросами тогда проще
Если бы был typeof...
и что он даст для энума?
Пока что проблема как раз в том, чтобы избавиться от необходимости в Default
может помогло бы, если бы была описана конкретная задача?
да, но с Ваших слов надо же избавиться от Default. Короче, я не понял, сдаюсь ¯\_(ツ)_/¯
Чтобы избавиться от Default надо не вызывать конструктор вообще
а, то есть не от дефолт избавиться, а от функции, так понятнее
От вызова функции
Потому что это либа в которой Event это дженерик и я понятия не имею сколько там вариантов и какие они
а, теперь понятно
Обсуждают сегодня