LINUX.ORG.RU

История изменений

Исправление MOPKOBKA, (текущая версия) :

Можно ещё спецификатором обозвать

Я понял о чем ты хочешь сказать, но rec не относится к типам, это про область видимости.

интерфейсы в жабе как раз тип соответственно есть что стирать

Я про генерики, типа и там и там дурацкая концепция. В Rust просто учитывать нужно, что трейт это абстрактный класс. Хочешь сказать что это не так? Почему вот это работает в С:

typedef const int Trait;

Trait add(Trait x, Trait y)
{
  return x + y;
}
А это в Rust не работает?
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;
}
А это в Rust не работает?
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;
}
А это в Rust не работает?
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;
}
А это в Rust не работает?
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;
}
А это в Rust не работает?
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;
}
А это в Rust не работает?
trait Trait {
}

impl Trait for i32 {}

pub fn add<T: Trait>(a: T, b: T) -> T {
    return a + b;
}