Formal arguments of the form x=x are causing this issue. So eliminating them we get the updated and working code as follows:
f <- function(x, T) { 10 * sin(0.3 * x) * sin(1.3 * x^2) + 0.001 * x^3 + 0.2 * x + 80 } g <- function(x, T, f. = f) {## 1.just note f. exp(-f.(x)/T) } test<- function(g. = g, T = 1) {## 2.just note g. g.(1,T) }