Nothing worth adding a confusing semantic to the langage. Just prefix your variable's name. Nobody will want to use myFunctionPrivateVariable outside of myFunction: class Foo { private size_t myFunctionPrivateCount; void myFunction() { alias myFunctionPrivateCount count; // .. count++; } }