meaningful провереноважноПишет Хаб

Какие переключатели заданы намеренно

Маска-напарник к flags: по биту на переключатель, и она говорит, решает ли этот профиль его вообще.

Подробно

У каждого переключателя поведения в консоли три состояния, а не два: включено, выключено и «взять из умолчания». Для трёх состояний нужно два бита, и это второй из них — позиции битов те же, что у flags. Пара читается так: сброшенный бит здесь означает, что этот переключатель профиль не решает; установленный — что решает, и решение лежит в flags. Именно это делает ноль безопасным значением. Профиль flags = 0, meaningful = 0 — то, что консоль создаёт по умолчанию, — не меняет поведения вообще; профиль flags = 0, meaningful = -1 принудительно ставит каждый переключатель в положение «выключено». В выгрузке базы эти двое выглядят почти одинаково, а ведут себя совсем по-разному. Измерено прямо: переключатель, поставленный через консоль в 0, оставляет flags нулём и поднимает бит переключателя здесь; поставленный в -1 (вариант «из умолчания») сбрасывает бит в обеих колонках.

Что будет, если ошибиться

Профиль записан с ненулевым meaningful для переключателей, которых оператор не трогал.Эти переключатели перестают наследовать умолчания узла и замирают на том, что говорит этот профиль, — правка переживает любое последующее изменение умолчаний и невидима в консоли, которая показывает явный выбор в точности как унаследованный.проверено опытом · проверено