Untyped action usage bound to an invocation does not resolve the invoked action's parameters
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 52/100
Línea de trabajo
Start by reproducing the issue with the sysml -action I::caller inherited.sysml command and compare it with the explicitly typed run : Base form. Trace member lookup and inferred typing for an action usage whose value is an invocation expression. Done means run.r resolves without an explicit type and the model executes with result = 7.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
An action usage whose value is an invocation expression, written without an explicit type, does not expose the invoked action's parameters to member access. Validation reports unresolved member for a parameter that the invoked definition declares, and the model cannot be executed.
Reproduction
package I {
private import ScalarValues::*;
action def Base {
in x : Integer = 3;
in z : Integer = x * 2;
out r : Integer;
first start;
then assign x := 10;
then assign r := z;
then done;
}
action caller {
out attribute result : Integer;
first start;
then action run = Base(x = 3, z = 7);
then action keep { assign result := run.r; }
then done;
}
}
$ sysml -action I::caller inherited.sysml
inherited.sysml:17:45: error: unresolved member: r
then action keep { assign result := run.r; }
^
sysml: inherited.sysml did not analyse cleanly; no check was made
The result is the same on develop at 3d45ca6fb.
Expected
run is the result of Base(x = 3, z = 7), which is typed by Base, so run.r resolves to Base::r and the model runs with result = 7.
Writing the type explicitly, then action run : Base = Base(x = 3, z = 7);, resolves run.r and runs with result = run.r = run.z = 7. That suggests the member lookup on run does not use the type implied by its invocation value.
- Lenguaje dominante
- Go
- Estrellas
- 42
- Forks
- 13
- Merge medio
- 16 h 17 min
- PR fusionados (30 d)
- 868
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de Open-MBEE/OpenSysML
-
Definition of requirementsAbiertoquestion
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
Open-MBEE/OpenSysML#1359 · 4 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
Open-MBEE/OpenSysML#1576 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 1-2 días Aptitud para principiantes 48/100
Los mantenedores suelen responder en 1 día
-
Review branding assetsAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
Los mantenedores suelen responder en 1 día
Todos los issues de Open-MBEE/OpenSysML
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
yetone/magpie#4095 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
docs: Google Safe Browsing flags go-bonnie.dev as "deceptive" (pipe-to-shell install instructions)Abiertodocumentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 2 días
-
[Bug]: Telegram bot (v3.11.0): "Ban log" no longer sends the current 3xipl-banned.logPosiblemente ocupada @HamedSanaei la tomó hoy. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
MHSanaei/3x-ui#6990 · 1 comentario ·
Los mantenedores suelen responder en 3 días
-
bug(tool/internal/instrument): identical inject_code rules from two rule packages are applied twiceAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
open-telemetry/opentelemetry-go-compile-instrumentation#1611 ·
Los mantenedores suelen responder en 2 días