Denis
26.10.2018
11:12:50
што?
Глеб
26.10.2018
11:14:14
Хм. в моём городе вакансии на D? Как интересно...
или это казахстанская вакансия, и просто город пишется по ip? :)
zts
26.10.2018
14:38:34
Нет не Казахстан
Google
zts
26.10.2018
14:38:35
Рашка
Глеб
26.10.2018
15:21:33
забавно. думал, я в Томске один такой при... э... чудак - любитель ?
Denis
28.10.2018
09:04:40
$ dub build
The dependency resolution process is taking too long. The dependency graph is likely hitting a pathological case in the resolution algorithm. Please file a bug report at https://github.com/dlang/dub/issues and mention the package recipe that reproduces this error.
что-то сломали где-то?
Igor
28.10.2018
09:06:18
у меня отрабатывает
Denis
28.10.2018
09:06:36
я щас бисекцией ищу проблему, но похоже дело не в нашем проекте
а где-то в репозитории пакетов или в самом конпеляторе
Igor
28.10.2018
09:07:00
откройте мне глаза, что не так с этим кодом? https://run.dlang.io/is/CBxPpt
Denis
28.10.2018
09:08:14
сделай opEquals trusted
попробуй
Igor
28.10.2018
09:08:37
то же самое
Denis
28.10.2018
09:08:38
суть в том что похоже разные вот эти декораторы подразумевают разные версии функций
Igor
28.10.2018
09:09:57
почему-то cmp превращается в void cmp(c a, c b)
{
opEquals(a, b);
}
Google
Igor
28.10.2018
09:10:23
а opEquals(a,b) не знаю как override
Denis
28.10.2018
09:10:33
ааа
const убери?
ты перегружаешь другую функцию может, которая const?
и которой нет?
но тогда бы на override ругалось...
Igor
28.10.2018
09:12:08
Contrary to structs, the compiler does not call a.opEquals(b) right away when it sees the expression a == b. When two class objects are compared by the == operator, a four-step algorithm is executed:
bool opEquals(Object a, Object b) {
if (a is b) return true; // (1)
if (a is null || b is null) return false; // (2)
if (typeid(a) == typeid(b)) return a.opEquals(b); // (3)
return a.opEquals(b) && b.opEquals(a); // (4)
}
у меня typeid(a) == typeid(b)
Oleg
28.10.2018
09:14:29
Igor
28.10.2018
09:14:35
да
Denis
28.10.2018
09:14:44
а почему ей нельзя поднять сафети?
Admin
Oleg
28.10.2018
09:14:51
системную внутри безопасной можно вызвать блоком trusted
Denis
28.10.2018
09:14:57
я буквально 2 недели назад здесь с этим же ебался
Igor
28.10.2018
09:15:03
а как мне сделать что-бы a == b было @safe?
Denis
28.10.2018
09:15:11
trusted это оно и есть
(но почему-то не сработало)
Oleg
28.10.2018
09:15:27
Igor
28.10.2018
09:15:28
тут дело не в trusted
Oleg
28.10.2018
09:15:35
в нём
Google
Oleg
28.10.2018
09:17:21
https://run.dlang.io/is/pznZ5F
Denis
28.10.2018
09:18:33
так вот
https://run.dlang.io/is/FFYlhr
Igor
28.10.2018
09:19:11
но мне не это надо
Denis
28.10.2018
09:19:41
Просто видимо при перегружке нельзя менять сафети?