
Denis
18.04.2018
13:36:27
там же есть выбор типа приложения

Dark
18.04.2018
14:35:49

Denis
18.04.2018
14:38:23

Dark
18.04.2018
14:39:25

Google

Dark
18.04.2018
14:40:16
Но все равно, то, что компилятор не выдает warning при попытке использовать неинициализированный указатель - явная недоработка

Denis
18.04.2018
14:48:01
пожалуйтесь
плиз
а то забудем

Oleg
18.04.2018
14:48:16
но по мне так это компилятор должен делать
кстати я тут такое узнал!
Variant не compile time
из-за memcpy в коде

Max
18.04.2018
14:49:19

Oleg
18.04.2018
14:49:37
std.variant
вроде он не совсем tagged
из-за этого Людвиг какой-то свой велосипед делал

Google

Oleg
18.04.2018
14:50:13
taggedAlgebraic или как-то так

Dark
18.04.2018
15:04:02
есть мнение что это дело линтера
Дело линтера - отслеживание null, а неинициализированные (но используемые) - явная ошибка
Например, дело компилятора:
A a;
// ...
a.B();
Дело линтера:
A a = new A;
// ...
while(true) {
a.B();
a = null;
}

Oleg
18.04.2018
15:57:32
в 1.9.0 значит должно быть
https://forum.dlang.org/post/zcfqujlgnultnqfksbjh@forum.dlang.org

Pavel
18.04.2018
16:15:40
А как можно скастовать указатель на структуру в ref?

Oleg
18.04.2018
16:18:32
Foo* abc;
myFunc(*abc);
где myFunc(ref Foo)
не?

Pavel
18.04.2018
16:23:13
Мне нужно аллоцировать структуру в функции и вернуть ссылку на нее

Denis
18.04.2018
16:27:31
ссылка не учитывается GC вроде, а значит при возврате из функции объект по ней помрёт. такое поведение зепрещено потому что ссылка это указатель с гарантией что по нему есть объект
только что этот вопрос отвечал про С++ )

Stanislav
18.04.2018
16:29:00
а чего по значению не копирнуть просто?

Pavel
18.04.2018
16:29:10
Ну я хочу через malloc выделить память под структуру и вернуть ссылку
Короче нужна структура со ссылочной семантикой

Denis
18.04.2018
16:30:06

Stanislav
18.04.2018
16:30:16
окей, почему тогда не объявить объект где-то во вне
память там аллоцируется

Denis
18.04.2018
16:30:23
есть DIP насчёт этого но пока никак

Google

Stanislav
18.04.2018
16:30:33
а заполнить уже в функции через ref

Oleg
18.04.2018
16:31:15
А ещё можно final class
А ещё можно аллоцировать не один объект, а массив из одного объекта

Pavel
18.04.2018
16:32:16
Ладно верну указатель впринципе приемлемо

Oleg
18.04.2018
16:32:53
И вообще использовать не malloc а аллокаторы из std
Чтобы по стилю)

Pavel
18.04.2018
16:34:07
В betterc ничего из std не работает

Oleg
18.04.2018
16:46:55
meta, traits должны работать
Хотя аллокаторы могут статически быть в std, без инстанцирования

Pavel
18.04.2018
17:08:25
Ну compiletime да

Pavel
18.04.2018
17:08:37
Но все остальное не работает

Maxim
18.04.2018
17:30:42
в режиме betterc стандартные аллокаторы ругаются на typeinfo
остается только malloc)

Pavel
18.04.2018
17:55:58
Блин когда дело дошло до аллокаций стало сложно
Я не хочу ничего решать, я хочу auto и чтобы все само чистилось и выделялось

Maxim
18.04.2018
17:57:05
для этого есть D)

Pavel
18.04.2018
17:58:20
А если я free(&this) сделаю в деструкторе структуры то это спасет от всех проблем?

Maxim
18.04.2018
17:59:34
а ты структуру аллоцируешь через malloc?

Google

Pavel
18.04.2018
17:59:42
Да

Maxim
18.04.2018
17:59:53
ну, в принципе должно прокатить)
только this или &this?)

Pavel
18.04.2018
18:01:15
Адрес

Valeriy
18.04.2018
18:03:25

Pavel
18.04.2018
18:04:21
Ну можно хранить поинтер в поле в структуре. Впринципе не проблема

Maxim
18.04.2018
18:07:19
через &this должно прокатить)
а нет, не прокатит же

Admin
ERROR: S client not available

Maxim
18.04.2018
18:09:04
при выходе из скоупа деструктор не вызовется
полукостыльный выход: сразу после аллокации писать scope(exit) free(foo);
ну и вообще, обязательно структуру в куче выделять?

Oleg
18.04.2018
18:22:24
написал сериализатор для SDL, мож кому надо будет
https://code.dlang.org/packages/sdlss

Valeriy
18.04.2018
18:27:39

Ackeard
18.04.2018
19:17:46
а я вот не понял в чем преимущество SDL над JSON. и почему некоторое время дефолтным форматом для DUB был sdl

Valeriy
18.04.2018
19:19:46
Просто json привычнее его спецификацию больше людей знает.
Но вот большие конфиги в нём описывать не удобно

Ackeard
18.04.2018
19:21:49
THX

Pavel
18.04.2018
19:37:36

Maxim
18.04.2018
19:38:29
А, ну тогда только руками освобождать

Google

Maxim
18.04.2018
19:41:12
Ну или как вариант, делать обертку с аллокатором внутри
Но тоже уродливо будет, короче, самый прямой способ — явно вызывать free
В принципе, обёртка с подсчётом ссылок — удобный выход, тогда копироваться будет максимум структура-обертка, а когда количество ссылок 0, внутренняя структура освобождается

Oleg
18.04.2018
22:52:13
у кого винда под рукой?
isNumeric!bool что выдаёт?
ааа, ох
на 2.080

qwerty
19.04.2018
03:27:10

Igor
19.04.2018
11:36:49
Прошу мнения сообщества - по умолчанию dlang-requests не требует верификации ssl, хотя и libcurl и python-requests её требуют. Так получилось по недосмотру, но похоже есть смысл это исправить несмотря на то что кое-где кое-что может сломаться

Denis
19.04.2018
11:37:24
Если да то это опасный секурный баг, надо исправлять.

Stanislav
19.04.2018
11:38:39
сертификата наверн

Igor
19.04.2018
11:38:41
https://curl.haxx.se/libcurl/c/CURLOPT_SSL_VERIFYPEER.html

Stanislav
19.04.2018
11:38:43
или чо имеется ввиду?

Igor
19.04.2018
11:39:01
Да, верификация подлинности сертификата
Это сломается на всех самоподписанных сертификатах

Oleg
19.04.2018
11:40:04

Igor
19.04.2018
11:41:03
Свой клиентский? Или добавить свой серверный в разрешенные?

Oleg
19.04.2018
11:41:17
свой серверный в разрешённые
ну или не свой, а кому доверяешь