- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
class Node<T> {
v: T;
k: string;
next: Node<T>;
}
function main()
{
let n = new Node<number>()
n.next = n
n.k = "Hello";
n.v = 10.0;
print("done.");
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
class Node<T> {
v: T;
k: string;
next: Node<T>;
}
function main()
{
let n = new Node<number>()
n.next = n
n.k = "Hello";
n.v = 10.0;
print("done.");
}
Вы не поверите как сложно сделать простые вещи в LLVM. встречаем рекурсивные типы :)
Во J123123 охуеет ))
GC вообще говно и не нужно
Внедри пожалуйста RC типа эппловского ARC или типа С++ного смарт поинтера вместо GC.
Спасибо.
Худшее из двух миров, ей-богу. И оверхед, и течки.
З.Ы. Интересно, можно ли "аккуратно юзать" заэнфорсить на уровне типов? Иммутабельности ссылок в принципе хватает для защиты от колец. Но может что-то более тонкое можно?
class Node<T> {
v: T;
k: string;
next: Node<T> | undefined | null;
}
Почему вообще так все против NULL? Отличный хак же
(*(void(*)())NULL)();
?
Надо ещё одну индирекцию. Ну и стек потом как-то сбросить.
Так что проще документированным способом ребутнуть.
Именно поэтому я за lidt.
Я просто вспомнил, как «Нидлесс» перемешал и взболтал слова «лямбда», «Lamoda», «блямба» и ещё какие-то.