Конечно и не будет работать, потому что input одинарный тег по грубому он не имеет закрытия в нем нельзя разместить псевдоэлемент, вот делай так
.input
i.icon-search
input.input__field(type="text" placeholder="search")
Ну или просто псевдоклас повесь ток уже на .input
Кстате такой небольшой хак если у тя иконка как раз такого размера как нужно то можно ее вывести еще так
.input:before {
content: url("../img/sprites/icon-search.svg");
}