From https://stat.ethz.ch/pipermail/r-devel/2017-December/075233.html :
Tags (argument names) in call to 'list' becomes names of the result. It is not necessarily so with call to 'c'. The default method of 'c' has 'recursive' and 'use.names' arguments.
In R devel r73778, with
x <- 0; names(x) <- "recursive" ,
dput(x, control = "all")
c(recursive = 0)
However, actual result of c(recursive = 0) is NULL.
In R 3.5.0, 'dput' still behaves like that.
Now fixed in R-devel (svn c74756). Plan to port to R 3.5.0 patched