insightsengineering / insightsengineering/teal.code
qenv.error: cannot add bindings to a locked environment when evaluating qenv code:
- Lenguaje dominante
- R
- Estrellas
- 12
- Forks
- 11
- Merge medio
- 1 d 17 h
- PR fusionados (30 d)
- 1
Descripción
### What happened?
When creating an S4 class inside `eval_code` you get an error that you `cannot add bindings to a locked environment`
```r
library(teal.data)
library(teal.code)
code <- c(
"setClass('aclass', slots = c(a = 'numeric', x = 'numeric', y = 'numeric')) # @linksto a x",
"x <- new('aclass', a = 1:3, x = 1:3, y = 1:3)",
"a <- new('aclass', a = 1:3, x = 1:3, y = 1:3)",
"a@x <- a@y",
"a@x <- a@x + 2",
"a@x <- x@a"
)
tdata <- eval_code(teal_data(), code)
tdata
```
```r
```
Guía de contribución
Línea de trabajo
Comience en el punto de entrada eval_code() y ejecute el ejemplo reproducible del issue, incluida la llamada a setClass() y las asignaciones S4 posteriores. Rastree cómo se crea o bloquea el entorno de evaluación; la tarea está completa cuando el ejemplo se evalúa sin el qenv.error sobre la adición de bindings a un entorno bloqueado.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- r
- Área
- tooling
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100