The UrlGenerator::doGenerate method expects the "_scheme" requirement to be part of $route->getRequirements() which is deprecated. It's in $route->getSchemes() now.
So the signiture of the method enforces people to use a deprecated feature.
I think it should be fixed for 2.3.