Size: a a a

2020 June 07

DF

Dollar Føølish in rust_offtopic
Зато нельзя void* присвоить int*
источник

DF

Dollar Føølish in rust_offtopic
Прогресс!
источник

NL

Nick Linker in rust_offtopic
Да понятно, понятно. Но сколько буков было потрачено в той толстой книжке на слова type и class
источник

DF

Dollar Føølish in rust_offtopic
Кек
источник

Т8

Т-34 85 in rust_offtopic
Dollar Føølish
Давай пример ct контракта на с++
вот аналог такого на Rust.  Текущий пример не компилится при передаче в constexpr функцию значения меньше 0. При меньше 10 возвращает это же значение, от - его квадрат

#include <iostream>

template <int N>
constexpr int CTFunction()
{
   static_assert (N > 0, "the parameter is nagative, blyat!");

   if constexpr (N >= 10)
   {
       return N * N;
   }
   else
   {
       return N;
   }
}

int main()
{
   constexpr auto result = CTFunction<-4>();
   std::cout << result << std::endl;
   return 0;
}
источник

DF

Dollar Føølish in rust_offtopic
Блин , я тебя понял теперь
источник

DF

Dollar Føølish in rust_offtopic
Ct контракты это контракты для consteval контекста
источник

DF

Dollar Føølish in rust_offtopic
Да,такого в Раст нет в виде отдельного понятия. Но есть const fn
источник

Т8

Т-34 85 in rust_offtopic
Dollar Føølish
Я бы ожидал что хорошую систему контрактов можно построить на идрисе или АТС. Рантаймовую,например на зависимых типах.
Как это сделать в бестиповом языке типа с++ я не знаю
обрати внимания, ты туда должен передать int, а не любую хуйню
источник

Т8

Т-34 85 in rust_offtopic
Dollar Føølish
Да,такого в Раст нет в виде отдельного понятия. Но есть const fn
а что const fn может? Вот такое можно написать?
источник

DF

Dollar Føølish in rust_offtopic
В шаблнах нет преобразований при дедукции типа, это тоже верно
источник

DF

Dollar Føølish in rust_offtopic
Const fn может определить constexpr функцию по сути
источник

DF

Dollar Føølish in rust_offtopic
Все остальные части контракта можно сделать через процмакро
источник

DF

Dollar Føølish in rust_offtopic
Если конкретно этот пример брать
источник

G

Gymmasssorla in rust_offtopic
Dollar Føølish
Все остальные части контракта можно сделать через процмакро
+
источник

Т8

Т-34 85 in rust_offtopic
кстати, а чё там по простым сям - будет constexpr?
источник

G

Gymmasssorla in rust_offtopic
Т-34 85
кстати, а чё там по простым сям - будет constexpr?
__attribute__((pure/const)) только сейчас в расширениях. В C2x не знаю
источник

DF

Dollar Føølish in rust_offtopic
Ого дурка ебать
источник

G

Gymmasssorla in rust_offtopic
Dollar Føølish
Ого дурка ебать
Ага, я на них CRS делал)
источник

G

Gymmasssorla in rust_offtopic
Удобно
источник