Добавить возможность ручного контроля доступа к глобальным переменным внутри определения функций или метода класса, например, с помощью ключевого слова using
- using global var1, var2; обращение к любой другой глобальной переменной, кроме
var1 и var2 будет приводить к ошибке времени компиляции
- а запрет к обращению к любым глобальным переменным using global _; превратит текущую функцию почти в чистую.
По сути, это реализация требования 5G. Scope of Variables. из REQUIREMENTS FOR HIGH ORDER COMPUTER PROGRAMMING LANGUAGES "STEELMAN" June 1978
- Такое дополнение будет полезно для создания чистых функций в С++ на уровне синтаксиса и с проверкой во время компиляции.
- Явное перечисление глобальных переменных, к которым планируется доступ внутри текущей функции дает более полное понимание намерений программиста при реализации алгоритма.
- Явное перечисление глобальных переменных с которыми планируется работать, позволит во время компиляции контролировать потенциальные ошибки из-за возможного затенения имен между глобальными и локальными переменными.