Size: a a a

2021 April 27

TK

Traveller Kolsky in rust_offtopic
Нет, заметно медленнее
источник

Т8

Т-34 85 in rust_offtopic
у ЛИНКЕДлиста!
источник

TK

Traveller Kolsky in rust_offtopic
Там специализируют коллекции
источник

B

Börgar in rust_offtopic
да
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
нет
источник

KR

Kai Ren in rust_offtopic
Это я понимаю. Я не понимаю почему List<int> не возможен. Генерики не умеют с примтивами там работать?
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
но немного схоже
источник

B

Börgar in rust_offtopic
ну который еще std::list
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
потому что все объект
источник

KR

Kai Ren in rust_offtopic
так а int тогда что?
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
в терминах раста Vec<Box<dyn Any>>
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
Vec<Box<i32» в него коэрсится а, Vec<i32> - нет
источник

Т8

Т-34 85 in rust_offtopic
в C# лист ПОЧЕМУ-ТО не лист, а аррей
источник

Т8

Т-34 85 in rust_offtopic
хз почему
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
int это i32 а Integer это Box<i32>
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
ArrayList<int> у тебя тупо не скомпилится потому что не имеет представления в рантайме
источник

DS

Doge Shibu in rust_offtopic
Ну при этом именно массивы примитивов возможны.

Невозможно именно засунуть примитив в дженерик.

(Скала может через специализацию дженериков специальным атрибутом)
источник

KR

Kai Ren in rust_offtopic
Аааа… то есть дело в коэрсии для работы ВМ? И она не умеет примитивы в колекции оборачивать? И язык сверху обязан учитывать это её ограничение?
источник

Т8

Т-34 85 in rust_offtopic
погоди. Ну вот у меня есть иерархия
животное->человек->доктор

если я на человек навешу тайпкласс, это отразится на доктор?
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
Дело в том что ВМ ничего про генерики не знает. Их не сущетсвует. Поэтому язык подсовывает вместо всех генериков Box<dyn Any>.

И да, отсюда все ограничения.

В шарпе знает поэтому язык подсовывает честный генерик
источник