Ответ 1
Вызывающая строковая интерполяция - это, по-моему, абсолютно абстракция. Хотя в большинстве случаев он отлично работает, есть много краевых случаев, когда он просто не работает так, как этого можно ожидать. Это еще одно воплощение такого краевого случая.
Я не знаю, почему s"$_"
не принимается компилятором. Некоторое время назад был запрос на растяжение, который представил этот синтаксис для сопоставления шаблонов: PR 2823
Интересно, что этот PR также содержит тестовые примеры, которые проверяют, что подчеркивание вне соответствия шаблону вызывает ошибку.
К сожалению, нет дальнейшего описания, почему это реализовано так, как оно реализовано.
Som Snytt, парень, который реализовал PR, активен на SO, надеюсь, что он сможет рассказать больше.