Существуют различные проблемы с автофункциями в целом, поэтому вполне может быть, что вы не можете выполнить
void main()
{
auto bar() { return "hello world"; }
writeln(bar());
}
из-за ошибки в авто, а не в том виде, как она была спроектирована.Я не уверен, каковы точные планы на это, хотя я бы подумал , что вы могли бы использовать auto в качестве возвращаемого типа вложенной функции.В любом случае есть запрос расширения .
Однако, независимо от того, работает ли auto с вложенными функциями, вы можете объявить делегата аналогичным образом:
void main()
{
auto bar = () { return "hello world"; };
writeln(bar());
}
Итак, основные функциональные возможности все еще существуют, даже если в настоящее время искомый синтаксис не работает.