Sergey
if
Мимо
Anonymous
Из функции возвращать тогда impl Tr этот?
Зачем? Конкретный тип можно.
Sergey
if
Там могут быть сильно сложнее проверки
Sergey
Ну и суть в том, чтобы не размазывать логику по всему коду
Berkus
А моделей базы например
ну и причем здесь РАСТ? спроси у своего фреймворка
Cat
наверное Сергей имел в виду какой-нибудь трейт
Cat
который реализуют драйверы баз данных
Cat
типо стандартизовано
Sergey
ну и причем здесь РАСТ? спроси у своего фреймворка
А то, что это может быть не связано
Cat
но вообще да, у каждого вендора свои заморочки с этим
Berkus
А то, что это может быть не связано
что ты используешь для создания моделей?
Berkus
мнде
Sergey
Я спрашивал есть ли такой инструмент
Berkus
окей
Berkus
в расте - да есть такой инструмент, это трейты и процедурные макросы
Sergey
Нда
Sergey
Ты вообще не понял о чем я
պլհկ
Я тоже
andrei
охуеть раст жив
Sergey
Я знаю о трейтах и макросах
Судзумия
Я понял, о чем он
Судзумия
Но канкана под раст нет
Alexander
Зачем? Конкретный тип можно.
Но ведь структуры могу быть разные. А мне надо чтобы в функции можно было указывать одну общую для всех. А потом уже специализация будет знать как с ней работать.
Судзумия
Поэтому я предложил ему инструмент if
Sergey
https://github.com/CanCanCommunity/cancancan/blob/develop/README.md https://github.com/ryanb/cancan https://github.com/vadimdemedes/cancan
Sergey
Очень дельно
Судзумия
Спасибо
Пожалуйста
Berkus
https://github.com/CanCanCommunity/cancancan/blob/develop/README.md https://github.com/ryanb/cancan https://github.com/vadimdemedes/cancan
это Rails, фреймворк для языка руби. НЕ часть языка руби. Улавливаешь разницу?
Sergey
Может тебе нахуй пойти?
Berkus
окей
Berkus
Открой третью ссылку
я нашел что-то типа https://github.com/YosaiProject/rust-authz/blob/master/src/authz.rs, но копать дальше лень - я же нахуй пошел, пока
Berkus
@mersinvald отпиньте плиз ссылку на мой пост и забаньте меня тут
Маjко
Дайте ссыль на начало ДРАМЫ
Sergey
даже if не нужен
Sergey
лол)
Anton
ЛГБТ
Anton
удобная штука
Cat
кто-нибудь понял?
Cat
Hello, I want to impl a trait for anything that implements <T: Gear + Enchantable> or <T: Gear> that creates a display method (So i dont have to write the same thing for each one) however rust wont let me because <T: Gear> will implement the trait for <T: Gear + Enchantable> is there a way of saying anything that implements one trait but not the other?
Cat
как она, имлементя один трейт, имплементит другой?
Судзумия
В Дизеле активно используется
Судзумия
Деривишь одни трейты
Судзумия
Сразу становятся доступны куча других трейтов
Судзумия
Которые требуют удовлетворения деривенных трейтов
Cat
звучит как будто в дерайве просто скрыли несколько трейтов
Cat
а у неё вроде другое
Cat
ладно, хз, я не очень понял
Cat
тогда я не понимат
Alexander
что-то я тоже через это не могу прорваться: https://play.rust-lang.org/?gist=9473714da031ba27760580394c8645a4&version=nightly&mode=debug
Alexander
как не имплементирован, когда всё ok
պլհկ
там другая ошибка на самом деле
պլհկ
добавь баунд и узнаешь какая
պլհկ
или просто сделай нормально
Alexander
я и пытаюсь :)
պլհկ
https://play.rust-lang.org/?gist=76270d3c865042eb7fcfb919f9f1fd1e&version=nightly&mode=debug
Alexander
не, сорян, так и я могу :)
Alexander
https://play.rust-lang.org/?gist=3a89f7880a4113db19c083804835f94b&version=nightly&mode=debug
Alexander
а вот так не могу :)
պլհկ
конечно не можешь
պլհկ
у тебя входящие параметры K,V, выходящие K,V, а внутри конкретные типы
Alexander
https://play.rust-lang.org/?gist=6fa92019cfc09ad63dce92561737859d&version=nightly&mode=debug
Alexander
погоди, но там входящих нет, чего он сообразить не может-то как вывести из изходящих
Alexander
в общем я что-то хз как всё сделать, кроме вариантов 1) руками параметры придётся писать при ::new 2) всё в одной структуре, я этого и хотел избежать.
պլհկ
https://play.rust-lang.org/?gist=8e5522daba49323b3e4a8f9498f234bc&version=nightly&mode=debug
պլհկ
он не будет ничего выводить из исходящих
պլհկ
это так не работает
Alexander
но тут (не трейт), он выводит для print типа то что надо в Map<T> https://github.com/inv2004/knucleotide-rs/blob/master/src/bin/main.rs
Alexander
ладно, а как правильно тогда сделать, но не мучая юзера "поставь тип руками при ::new" ?
պլհկ
он входящие выводит там
Alexander
эээ, ok, сорян, надо подумать, -> Map<T> же
պլհկ
ну может я не туда посмотрел, какая строчка?