
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
а почему ей нельзя поднять сафети?

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
в нём
https://run.dlang.io/is/pznZ5F

Google

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
Просто видимо при перегружке нельзя менять сафети?