If it's C++11 compliant, it will work without the inner {}. Shouldn't be up to chance, or the compiler is just wrong. And I think all the major compilers are good by now. I emphasize this only so that it's clear this isn't just some non-portable compiler-specific feature; this is the core language.
That compiles fine for me on Visual Studio 2015, with or without the inner {}. I don't see why it would stop working in Visual Studio 2017, but I can't test that right now.