История изменений
Исправление
MOPKOBKA,
(текущая версия)
:
Можно ещё спецификатором обозвать
Я понял о чем ты хочешь сказать, но rec не относится к типам, это про область видимости.
интерфейсы в жабе как раз тип соответственно есть что стирать
Я про генерики, типа и там и там дурацкая концепция. В Rust просто учитывать нужно, что трейт это абстрактный класс. Хочешь сказать что это не так? Почему вот это работает в С:
typedef const int Trait;
Trait add(Trait x, Trait y)
{
return x + y;
}
trait Trait {}
impl Trait for i32 {}
pub fn add<T: Trait>(a: T, b: T) -> T {
return a + b;
}
Зачем он стер тип до абстрактного класса который передали в add? Понятно что в С я указал что const к int идет, но ты говоришь что трейт это свойство типа, так почему я не могу передать тип?
Исправление
MOPKOBKA,
:
Можно ещё спецификатором обозвать
Я понял о чем ты хочешь сказать, но rec не относится к типам, это про область видимости.
интерфейсы в жабе как раз тип соответственно есть что стирать
Я про генерики, типа и там и там дурацкая концепция. В Rust просто учитывать нужно, что трейт это абстрактный класс. Хочешь сказать что это не так? Почему вот это работает в С:
typedef const int Trait;
Trait add(Trait x, Trait y)
{
return x + y;
}
trait Trait {
}
impl Trait for i32 {}
pub fn add<T: Trait>(a: T, b: T) -> T {
return a + b;
}
Зачем он стер тип до абстрактного класса который передали в add? Понятно что в С я указал что const к int идет, но ты говоришь что трейт это свойство типа, так почему я не могу передать тип?
Исправление
MOPKOBKA,
:
Можно ещё спецификатором обозвать
Я понял о чем ты хочешь сказать, но rec не относится к типам, это про область видимости.
интерфейсы в жабе как раз тип соответственно есть что стирать
Я про генерики, типа и там и там дурацкая концепция. В Rust просто учитывать нужно, что трейт это абстрактный класс. Хочешь сказать что это не так? Почему вот это работает в С:
typedef const int Trait;
Trait add(Trait x, Trait y)
{
return x + y;
}
trait Trait {
}
impl Trait for i32 {}
pub fn add<T: Trait>(a: T, b: T) -> T {
return a + b;
}
Зачем он стер тип до абстрактного класса который передали в add?
Исправление
MOPKOBKA,
:
Можно ещё спецификатором обозвать
Я понял о чем ты хочешь сказать, но rec не относится к типам, это про область видимости.
интерфейсы в жабе как раз тип соответственно есть что стирать
Я про генерики, типа и там и там дурацкая концепция. В Rust просто учитывать нужно, что трейт это абстрактный класс. Хочешь сказать что это не так? Почему вот это работает в С:
#include <stdio.h>
typedef const int Trait;
Trait add(Trait x, Trait y)
{
return x + y;
}
trait Trait {
}
impl Trait for i32 {}
pub fn add<T: Trait>(a: T, b: T) -> T {
return a + b;
}
Зачем он стер тип до абстрактного класса который передали в add?
Исправление
MOPKOBKA,
:
Можно ещё спецификатором обозвать
Я понял о чем ты хочешь сказать, но rec не относится к типам, это про область видимости.
интерфейсы в жабе как раз тип соответственно есть что стирать
А в Rust не так? Почему вот это работает в С:
#include <stdio.h>
typedef const int Trait;
Trait add(Trait x, Trait y)
{
return x + y;
}
trait Trait {
}
impl Trait for i32 {}
pub fn add<T: Trait>(a: T, b: T) -> T {
return a + b;
}
Зачем он стер тип до абстрактного класса который передали в add?
Исходная версия
MOPKOBKA,
:
Можно ещё спецификатором обозвать
Я понял о чем ты хочешь сказать, но rec не относится к типам, это про область видимости.
интерфейсы в жабе как раз тип соответственно есть что стирать
А в Rust не так? Почему вот это работает в С:
#include <stdio.h>
typedef const int Trait;
Trait add(Trait x, Trait y)
{
return x + y;
}
trait Trait {
}
impl Trait for i32 {}
pub fn add<T: Trait>(a: T, b: T) -> T {
return a + b;
}