@@ -142,7 +142,7 @@ Future <- function(expr = NULL, envir = parent.frame(), substitute = TRUE, stdou
142142
143143 gp <- NULL
144144 }
145- packages <- unique(packages )
145+ if (length( packages ) > 1L ) packages <- unique(packages )
146146
147147 with_assert({
148148 if (! is.null(globals )) {
@@ -710,7 +710,7 @@ getFutureCapture <- function(future, ..., debug = isTRUE(getOption("future.debug
710710 exclude <- attr(conditionClasses , " exclude" , exact = TRUE )
711711 muffleInclude <- attr(conditionClasses , " muffleInclude" , exact = TRUE )
712712 if (is.null(muffleInclude )) muffleInclude <- " ^muffle"
713- conditionClasses <- unique( c(conditionClasses , immediateConditionClasses ) )
713+ conditionClasses <- c(conditionClasses , immediateConditionClasses )
714714 attr(conditionClasses , " exclude" ) <- exclude
715715 attr(conditionClasses , " muffleInclude" ) <- muffleInclude
716716 }
@@ -750,10 +750,12 @@ getFutureContext <- function(future, mc.cores = NULL, local = TRUE, ..., debug =
750750 # # Identify package namespaces needed for strategies
751751 backendPackages <- lapply(strategiesR , FUN = environment )
752752 backendPackages <- lapply(backendPackages , FUN = environmentName )
753- backendPackages <- unique(unlist(backendPackages , use.names = FALSE ))
754- # # CLEANUP: Only keep those that are loaded in the current session
755- backendPackages <- intersect(backendPackages , loadedNamespaces())
756- backendPackages <- unique(backendPackages )
753+ backendPackages <- unlist(backendPackages , use.names = FALSE )
754+ if (length(backendPackages ) > 1L ) backendPackages <- unique(backendPackages )
755+ if (length(backendPackages ) > 0L ) {
756+ # # CLEANUP: Only keep those that are loaded in the current session
757+ backendPackages <- intersect(backendPackages , loadedNamespaces())
758+ }
757759 if (debug ) mdebugf(" Packages needed by future strategies (n = %d): %s" , length(backendPackages ), commaq(backendPackages ))
758760 }
759761
0 commit comments