This fixes issue #1455 by making the return type explicit, and adds a C++17-specific test to demonstrate the bug.