Both these code blocks work even though they use different equal signs, one with `:=` and the other with `=`. Which is correct and why? I thought tidyeval required `:=` when using dplyr functions, but strange enough `=` works just fine in my mutate call.

1
=

```
library(tidyverse)
set.seed(1)
graph.data <- tibble(cal.date = as.Date(40100:40129, origin = "1899-12-30"), 
                     random_num = rnorm(30, 8, 5))

child_function <- function(df, variable, hor.line = 6) {  
  variable <- enquo(variable)
  df <- mutate(df, mutation := 2 * !! variable, horizontal.line := hor.line)
  df
}

child_function(graph.data, variable = random_num, hor.line=8)

```

2
=

```
library(tidyverse)
set.seed(1)
graph.data <- tibble(cal.date = as.Date(40100:40129, origin = "1899-12-30"), 
                     random_num = rnorm(30, 8, 5))

child_function <- function(df, variable, hor.line = 6) {  
  variable <- enquo(variable)
  df <- mutate(df, mutation = 2 * !! variable, horizontal.line = hor.line)
  df
}

child_function(graph.data, variable = random_num, hor.line=8)

```