Size: a a a

2021 June 14

МВ

Макс Воробьев... in dlang.ru
а что "то"? переменные окружения/argc+argv**?
источник

0

000Sanya in dlang.ru
Так он про компил тайм вроде
источник

МВ

Макс Воробьев... in dlang.ru
version? static if?
источник

0

000Sanya in dlang.ru
Ну и я про это
источник

И

Игорь in dlang.ru
Что пользователь должен в своем дубе указать что бы моя либа собралась с нужной фичей?
источник

KF

Konstantin Firsov in dlang.ru
как-то экспериментировал по переключению либ. У меня проект завязан на свою кастомную обертку под гошную либу и если она отвалится, то это беда + неудобство с указанием пути к либе, насколько я знаю, из кода его не проставить. Вроде как dub понимает, что если dependencies объявить в конфигурации, то их нужно добавить к списку глобальных зависимостей, получается часть зависимостей в руте, часть - в самих конфигурациях. Итого, в коде для полной версии импортируется и используется моя либа (в т.ч. биндинг через extern) через условную компиляцию version, а если нет, то тогда используется дешный arsd и прога вроде бы нормально (на первый взгляд) переключается между этими двумя либами, по крайней мере ругается на отсутствующие символы, если что-то напутать. Хотя насчет корректности зависимостей в конфигурации я до конца не уверен...
источник

И

Игорь in dlang.ru
сейчас покажу на примере Cargo как это выглядит. В моём файле cargo.toml, описывющем проект есть строка зависимости от пакета tokio:

tokio = { version = "1.0.2", features = ["macros", "net", "io-util", "time", "rt-multi-thread"]}

это значит что в мой проект будет вкомпилен токио только с этим набором фич. Я в своём проекте управляю тем, как будут собираться зависимости.
источник

g

gavr in dlang.ru
помойму только в расте реализована система фич которые можно включать выключать, этим они развязывают себе руки от внедрения ломающих изменений
источник

ID

Iv@n Dereviankin in dlang.ru
Есть такое. Работает неплохо, и упрощает жизнь, когда например, жирные зависимости по типу токио выносят в отдельную фичу
источник

ID

Iv@n Dereviankin in dlang.ru
Но большинство не парятся по этому поводу, поэтому "маємо що маємо"
источник

И

Игорь in dlang.ru
иногда дело не в жирости а в выборе варианта реализации
источник

И

Игорь in dlang.ru
в том-же токио можно выбрать реализацию шедулера
источник

И

Игорь in dlang.ru
и тд
источник

И

Игорь in dlang.ru
важнее возможность выбора между "стабильной" и "нестабильной" реализацией фичи
источник
2021 June 15

OB

Oleg B in dlang.ru
кстати, если тебе сложно разнести код на подпроекты, то можно же просто вынести объявление ct переменных в подпроекты и уже static if'ами в основном коде реализовывать те или иные фичи (но кажется что это путь в лапшу)
источник

DH

Dark Hole in dlang.ru
А через version не получится такое замутить?
источник

OB

Oleg B in dlang.ru
ну можно и через version, только это менее гибко, значения version нельзя комбинировать логически
источник

OB

Oleg B in dlang.ru
типа version (posix || windows) нельзя делать
источник

OB

Oleg B in dlang.ru
и это специально так
источник

OB

Oleg B in dlang.ru
если нужно комбинировать, то нужно делать константы
источник