Структуры
Вы узнаете
Как объявить struct и packed struct и сколько их может быть в модуле.
pub struct Point { x: i32, y: i32 } объявляет тип с двумя полями. Поле — это имя и тип, поля разделяются запятыми. packed struct кладёт поля вплотную, без выравнивания, как устроен аппаратный регистр. В модуле может быть несколько структур; в спеке урока их две, и вердикт чист на всех 7 бэкендах.
Попробуйте
Добавьте в Point поле z: i32 и проверьте, какие бэкенды его по-прежнему компилируют.

A t27 struct and a packed struct drawn as tables of fields, with how many backends compiled them. Lesson 17 of the t27 basics course.
specs/basics/17_structs.t27
// SPDX-License-Identifier: Apache-2.0
; t27 basics, lesson 17: Structs.
; A struct groups named fields, each with its own type.
module basics_17_structs;
pub struct Point {
x: i32,
y: i32,
}
pub const Flags = packed struct {
ready: bool,
error: bool,
};
pub const FIELDS_IN_POINT : u8 = 2;
test a_point_has_two_fields {
assert FIELDS_IN_POINT == 2;
}
Все уроки
Модуль 1 · Файл спеки
Что лежит в файле .t27: строка module, строки прозы и комментарии.
Модуль 2 · Значения и типы
Константы, ширина целого числа, а также true, false и текст.
Модуль 3 · Массивы, триты и выражения
Списки значений, три значения трита и что вычисляют операторы.
Модуль 4 · Тесты и функции
Блок test, несколько маленьких тестов в одной спеке и функция с типизированными входами.
Модуль 5 · Внутри функции
Имена через let и var, выбор через if и switch и циклы.
Модуль 6 · Видимость и свои типы
Что pub открывает другим модулям, и структуры и перечисления, которые вы объявляете.
Модуль 7 · Модули, правила и gen-ts
Чтение другого модуля, правило, которое выполняется всегда, и спека, превращённая в TypeScript.
Модуль 8 · Компилятор и tri
Бэкенды, которые пишет t27c, стадии, в которых он читает спеку, и команда tri.
Модуль 9 · Ошибки, программа и что дальше
Как читать ошибку компилятора, одна маленькая законченная программа и какой курс пройти дальше.