Self(x): Self
вызов метода через точку перестанет работать
вроде же можно как-то сохранить вызов через точку
насколько знаю для вызова через точку, нужно чтоб в сигнатуре был self, &self, не помню можно ли в стейбле умные указатели если нельзя то arbitrary_self_types в найтли но в любом случае нужно слово self. а вот для деконструктаризации нужно типом оперировать, а тип Self(или указатель/обертка на Self) интересно если ли ишью чтоб это скрестить
забавно, что такой байндинг работает нормально fn f(a @ Self(v): Self) { println!("{}", a.0); } fn f(self @ Self(v): Self) { println!("{}", self.0); } а вот так уже ошибка байндинга
от пользовательского акка?)
Я считаю, что это больше, чем Memory Safe, это уже Memory Victory, выше всех похвал 0_о
Но где-то тут начинается тонкая проблема с ансейфным окружением
Первый раз вижу @ в синтаксисе, пошёл учить матчасть
https://doc.rust-lang.org/book/ch18-03-pattern-syntax.html#-bindings
я охуел когда увидел подобное в си шарпе))) А в расте не удивляешься уже
Мощь паттерн матчинга
То есть в этом сценарии в теле функции можно использовать и v, и a?
Кажись, мне это было нужно уже какое-то время назад, просто не знал об этом
Обсуждают сегодня