Видимо в двух местах по разному пишут.
Functions may declare a set of input variables as parameters, through which the caller passes arguments into the function, and the output type of the value the function will return to its caller on completion.
Соре, не нашёл в спеке места, где говорится "definition = declaration + initialization".
fn f() {}
, то логично предположить что это объявление и инициализация, т.к. объявление выглядит так: fn f();
.Добро пожаловать в реальный мир, где люди жонглируют словами так, как им удобно, пока это не несёт никаких рисков из-за неоднозначности.
Что реально изменяется от того, как я назову штуки в скобочках?)
По спеке и то и другое - параметры.
Конкретно тут - это declaration with initializer expression, вполне однозначно.
Определение (Definition) - объявление и инициализация.
Связывание (Binding) — связывает имя с чем-то (значением, шаблоном, параметром).
- Пусть будет меньше, но надёжней, кто хорошо разбирается в теме - и на помойке железки найдёт, а рядовой юзер и с витрины не выберет вменяемое.