Size: a a a

2021 May 18

Е

Евгений in pro.elixir
Не скомпилируется. Упадет на попытке вызвать foo(A("aaa"))
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Значит структурная
источник

Е

Евгений in pro.elixir
Но всю жизнь это называли утиной типизацией.
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Утиная это в питоне
источник

Е

Евгений in pro.elixir
А так получается что в C++ структурная типизация.
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Но там как раз упадёт в рантайме
источник

LL

Lama Lover in pro.elixir
Если упадёт тут, то номинальная
источник

Е

Евгений in pro.elixir
Упадет во время компиляции.
источник

Е

Евгений in pro.elixir
Точнее просто выдаст ошибку, можете попробовать, там можно редактировать код.
источник

LL

Lama Lover in pro.elixir
Не знаю, у меня не упало и всё вывело
источник

Е

Евгений in pro.elixir
Ваша авторитетная википедия не согласна:
https://en.wikipedia.org/wiki/Comparison_of_programming_languages_by_type_system
D объявлен как с номинальной типизацией.
Ну и кому верить?
источник

LL

Lama Lover in pro.elixir
источник

Е

Евгений in pro.elixir
Не верю:
источник

LL

Lama Lover in pro.elixir
Ну я так и написал, @Virviil просто хотел сказать что не утиная)
источник

Е

Евгений in pro.elixir
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Википедии
источник

Е

Евгений in pro.elixir
Так ты не поменял t.x на t.y
источник

LL

Lama Lover in pro.elixir
А, ну с t.y ни в номинальной, ни в структурной не должно скомпилироваться
источник

ŹR

Źmićer Rubinštejn in pro.elixir
А вот с утиной может
источник

Е

Евгений in pro.elixir
Ну вот. Показания расходятся :)
источник