Is missingness always passed on?
There's a StackOverflow question https://stackoverflow.com/q/22024082/2554330 that references this text from ?missing: "Currently missing can only be used in the immediate body of the function that defines the argument, not in the body of a nested function or a local call. This may change in the future." Someone pointed out (in https://stackoverflow.com/a/58169498/2554330) that this isn't true in the examples they've tried: missingness does get passed along. This example shows it (this is slightly different than the SO example): f1 <- function(x, y, z){ if(missing(x)) cat("f1: x is missing\n") if(missing(y)) cat("f1: y is missing\n") } f2 <- function(x, y, z){ if(missing(z)) cat("f2: z is missing\n") f1(x, y) } f2() which produces f2: z is missing f1: x is missing f1: y is missing Is the documentation out of date? That quote appears to have been written in 2002. Duncan Murdoch