Alexander
Я об этом тоже думал, но удобно генерить вектора в имплементации new. Но где их тогда хранить. Так как это первая точка где появляются эти вектора по сути.
Денис
блин
Денис
Item = CheeseRef<'a>
Денис
это ваще проблема
Αλεχ
Денис
потому что если Cheese имплементит этот TestTrait, то CheeseRef нифига не имплементит
Αλεχ
и принимай &self
Alexander
Я может не очень понял, и может не очень удобно. Но я в итоге решил просто имплементить Test for SRef. А не для S. И мне кажется с этим жить можно. Так что наверное лучше забить на этот Test для S, может и можно реализовать, но не легко.
Денис
@inv2004 https://gist.github.com/mexus/e9b70ac9c7b51878c7d00ec37a448a79
Нави
вместо function overloading колдую так
https://play.rust-lang.org/?gist=141ee235d624f5b9fb10672fe3e1a6e9&version=stable
Нави
но пока неполучается
Денис
(ты выложил то же самое)
Денис
(забыл нажать на share походу)
Нави
https://play.rust-lang.org/?gist=2df011580f8b1e2cc4536df7c533f31a&version=stable
Alexander
Денис
Денис
и чтобы не писать какие-то жёсткие обёртки
Денис
как у тебя было сделано
Денис
и не надо никаких ни new ничего
Alexander
Мне кажется тут проблема. Без ::new, мне логику создания векторов надо выносить наверх, а она для каждой S* своя, из-за этого удобно из генерить в имплементации new для S1..n
Денис
@NaviArh https://play.rust-lang.org/?gist=d46508396eeaca5272ec79061fce4dc2&version=stable
Alexander
Получается бинарник должен для каждой S по разному делать вектора и генерить SVec, а в моём случае такого делать вроде как не надо.
Денис
я ничего не понял
Денис
сорян)
Alexander
Например для S1 b должен быть 2*a. А для S3 b:a+a, c:a+b. Ну просто как пример. Где мне это правильно описать? По идее в new
Денис
👍
Денис
@inv2004 я по-прежнему нихера не понимаю))
Alexander
Сорян. Щас напишу.
Alexander
Есть структура S1{a,b}. Есть S2{a,b,c}
Денис
так, пока понятно)
Денис
ааа
Денис
типа fn test(&self) -> f32 по-разному для разных структур задаётся?..
Денис
если да, то это и в моей версии поддерживается :)
Alexander
Именно! И главное что new тоже.
Денис
а зачем new-то?
Денис
там данные фиксированные что ли?
Денис
берутся из воздуха?)
Alexander
Потому что у меня не push в цикле делается. А есть некие зависимости. Например b это может быть производная от a
LexsZero
вангую прогон биржевых роботов по историческим данным
Денис
😆
Alexander
LexsZero
ноуп
Alexander
ноуп
Тогда давай мои допилим, уже много собрал и даже посчитал. Щас немного рефакторинг просто, чтоб новые модели было удобнее имплементить :)
Alexander
Вообще могу репортовать что Раст хорошо отработал пока - на домашнем компе чуть больше часа. А знакомый аналогичное на питоне начал пилить, так через сутки просто остановил даже одной модели не проиграв.
Денис
просто я не вижу вообще никакого смысла выносить эту процедуру в трейт
Денис
можно же просто функцию сделать generate_cheese() -> CheeseVec и усё
Alexander
Но тогда в бинарнике ты должен дёргать именно её. А у меня я сейчас делаю S1::new(&some_data) и все. Хотя я согласен, тут по сути не большая разница. Просто показалось удобно когда все просто в одном месте внутри имплементации S1.
Денис
хм
Alexander
Получается я пишу S2,внутри new и test, потом просто заменяю S1 на S2 и всё работает. В самом бинарнике и имплементации S* никакого бойлерплейта.
Денис
https://gist.github.com/mexus/e9b70ac9c7b51878c7d00ec37a448a79
Денис
в test_boobar я написал Cheese ровно один раз
Alexander
В общем мне кажется это почти одно и тоже, я конечно не уверен точно. Просто из-за этой проблемы пришлось .iter наружу вытащить, а если бы этого не было, наверняка же бы ты передавал в play просто &slice?
Денис
чем &slice отличается от slice.iter()?
Денис
ну кроме того, что slice.iter() длиннее чуть-чуть)
Alexander
Наверное я тут не прав в том плане, что не написал, что в оригинальном коде у меня есть ещё структура Params, которая тоже сохраняется в Player и передаётся в .test
Денис
начинается)
Денис
AB проблема)
Alexander
:)
Денис
короче смотри сам
Alexander
Но я дико брагодарен за помощь, я б ещё неделю разбирался бы что тут имплементируется, а что нет.
Денис
не за что)
պլհկ
Bugworm
Чо пацаны вр
Bugworm
Mozilla Servo Team To Begin Focusing On VR / Mixed Reality
http://www.phoronix.com/scan.php?page=news_item&px=Mozilla-Servo-Mixed-Reality
Nardis
ne_on
@nirfse о привет
Nardis
Alexander
доигрался: error: internal compiler error: librustc\traits\project.rs:1434: Failed to unify obligation
分解物質
Loo
Loo
https://intellij-rust.github.io/2018/03/08/changelog-69.html
Dårk
Kerrigan
Alex
"одыквата" похоже на биологическое номенклатурное именование
Alex
Brachyura Odykvata
Saphire
Это канал про Раст? Какое посмотреть аниме?
\ s