@dlangru

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

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
Variant не compile time
Стандартный tagged union же как в плюсах, нет?

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
А ещё можно final class
В betterc не работает

Ладно верну указатель впринципе приемлемо

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
В betterc ничего из std не работает
С чего такая уверенность?

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
только this или &this?)
this в структурах это r-value вряд ли получится его адрес взять

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

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

Valeriy
18.04.2018
19:19:46
а я вот не понял в чем преимущество SDL над JSON. и почему некоторое время дефолтным форматом для DUB был sdl
На вскидку он банально удобнее для конфигов. Если конфиги совсем простые, то какого нибудь ini за глаза. А в json например комментов нет. Синтаксис для конфигов не самый одобный.

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

Ackeard
18.04.2018
19:21:49
THX

Pavel
18.04.2018
19:37:36
полукостыльный выход: сразу после аллокации писать scope(exit) free(foo);
А как это поможет? Надо же ведь использовать структуру и после выхода из метода

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 её требуют. Так получилось по недосмотру, но похоже есть смысл это исправить несмотря на то что кое-где кое-что может сломаться

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
свой серверный в разрешённые

ну или не свой, а кому доверяешь

Страница 528 из 719