There are two kinds of resource_acquisition supported by using as per the specifications: local_variable_declaration and expression.
I believe the local using in C# 8 is a shortcut to local_variable_declaration form not expression form as per the language feature proposal, where you could see:
Restrictions around using declaration:
Must have an initializer for each declarator.
This also provides the ability to use more than one resources in a single using statement as per the language specs states:
When a resource_acquisition takes the form of a local_variable_declaration, it is possible to acquire multiple resources of a given type.
So you could do:
using IDisposable a = Foo1();
using IDisposable a = Foo1(), b = Foo2(), c = Foo3();
It may be possible that the language team could add expression form support in the future versions, but for now, expression is not yet supported.
usinglocal will extend to the end of the scope in which it is declared." - That's the current C# 8 implementation. No need to wait for C# 9.