одного типа - разными типами?
У разных кложур разные типы
Каждое замыкание в расте уникальное
Да, конечно. Тут нужно понять, что для сравнения объекта с веткой матча (которая как бы тоже объект), как минимум должно быть определено равенство между этими объектами (тем, что матчится и веткой). Равенство определено только между объектами одного и того же типа. Разные типы - сразу не равны, даже пытаться нельзя. При этом, трейты - просто ограничения (интерфейсы) для каких-то конкретных типов (которые их реализуют). Поэтому, если всё что мы (тайпчекер) знаем - это то, что наличиствующие объекты реализуют один и тот же трейт (ограничения), мы вообще не можем сравнить их на равенство, так как "под капотом" там могут быть разные фактические типы, реализующие этот трейт. Ну и поскольку операционно сравнивать функции (замыкания) на равенство затруднительно, мы "волевым решением" распихиваем их все по разным типам, чтобы даже вопроса такого не возникало. 😊
Обсуждают сегодня