Size: a a a

2021 April 04

Е

Евгений in dlang.ru
Нет.
источник

Е

Евгений in dlang.ru
uint foo(T)(T t) { return t.hello(); }
Сунь сюда что угодно.
источник

0

000Sanya in dlang.ru
любой тип суну и ругнется оно изнутри
источник

Е

Евгений in dlang.ru
Ну так оно не скомпилируется. Значит нельзя сунуть.
источник

0

000Sanya in dlang.ru
так тут не шаблон не дает скомпилироваться
источник

Е

Евгений in dlang.ru
А какая разница? Отличие только в степени разборчивости сообщения об ошибке.
источник

EP

Egor Pugin in dlang.ru
на шаблон тоже условие можно навесить
источник

0

000Sanya in dlang.ru
но необязательно
источник

EP

Egor Pugin in dlang.ru
тебе дают вариативность, используешь уже ты
источник

Е

Евгений in dlang.ru
По мне так небольшой плюс у жабовских дженериков только в том, что нет распухания кода. Все.
источник

Е

Евгений in dlang.ru
Ну и может быть еще сообщения об ошибке не такие криптографические получатся. Это ощутимый плюс.
источник

DP

Dmitry Popov in dlang.ru
Некоторые трюки вроде final tagless encoding / object algebras работают лишь с "настоящими" генериками, без мономорфизации.
Там нужно в уметь в переменную записать полиморфную функцию без потери полиморфизма.
источник

МВ

Макс Воробьев... in dlang.ru
очередное wtf https://godbolt.org/z/16eqooxPK
источник

DH

Dark Hole in dlang.ru
Вангую: он принимает [' ', ','] то бишь char[] за string, а для string у него особая(c) имплементация
источник

DH

Dark Hole in dlang.ru
Агась, я был прав
источник

DH

Dark Hole in dlang.ru
string s = "Some string ,to tokenize.last." ;
s.split([' ']).writeln; // => ["Some", "string", ",to", "tokenize.last."]
s.split([' ', ',']).writeln; // => ["Some string", "to tokenize.last."]
источник

МВ

Макс Воробьев... in dlang.ru
а для string[] особой имплементации нет...
источник

DH

Dark Hole in dlang.ru
В плане, а зачем?
источник

МВ

Макс Воробьев... in dlang.ru
что-бы через [" ", ","] работало хотя-бы
источник

МВ

Макс Воробьев... in dlang.ru
а не через
    string s = "Some string,to tokenize.last." ;
   s.split(' ')
        .map!(a => a.split('.')).join()
        .map!(a => a.split(',')).join()
        .each!(a => writeln("{",a,"}"));
источник