The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Выпуск языка программирования Rust 1.57"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Заметили полезную информацию ? Пожалуйста добавьте в FAQ на WIKI.
. "Выпуск языка программирования Rust 1.57" +1 +/
Сообщение от От.Со.Сишник (?), 03-Дек-21, 20:03 
> Есть ещё маленький вопрос: я правильно понимаю, что
> const _: () = assert!(std::mem::size_of::<u64>() == 8);
> это эквивалент
> static_assert(sizeof(uint64_t) == 8);
> ???

"Эквивалент" - это вот тут https://docs.rs/static_assertions/0.1.1/static_assertions/in...
Нюанс в том, что растовый assert/static_assert - реализуется макросами, а не в недрах компилятора.


use std::mem::*;
#[macro_export]
macro_rules! static_assert {
    ($condition:expr) => {
        const _: &() = &[()][1 - ($condition) as usize];
    }
}

static_assert!(size_of::<usize>() == 8);
static_assert!(size_of::<*const u8>() == 8);
static_assert!(align_of::<*const u8>() >= align_of::<u128>());
static_assert!(5>3);

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Выпуск языка программирования Rust 1.57, opennews, 02-Дек-21, 21:53  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру