No integer/float subtype: integral floats print as integers, next(t, k) with float k computed at runtime continues (#42 literal-only)
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 12/100
Línea de trabajo
Start with GAPS.md, which does not yet declare this gap, and with the three Lua snippets in the issue body, which show the reference output against EigenLua's current output. The next(t, k) float-key check lives on the fix-small-4 branch and only matches float literals passed at the call site. Done means either the runtime carries an integer/float subtype so the three snippets match as a Tier D row, or GAPS.md lists the consequences (integral-float printing, // and % by zero, the next cursor quirk, math.type).
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Found by the blind critic for fix-small-4 (#40/#42/#44/#45). Reproduces on origin/main 9536f4c.
EigenLua has no integer/float subtype at runtime: every Lua number becomes an EigenScript num. Several reference behaviours depend on the subtype:
print(1.0, "10.0"+1, math.type("10.0"+1)) -- ref: 1.0 11.0 float
print("1.0" // "0") -- ref: inf
local t = {}; t[1] = "one"; t[2.0] = "two"
local k = 1.0
print(pcall(next, t, k)) -- ref: false invalid key to 'next'
eigenlua: 1 11 integer, attempt to divide by zero, true 2 two.
The fix-small-4 branch makes next(t, 1.0) match only when a float literal is passed to next(...) or pcall(next, ...), using call-site metadata. A float that is computed, stored in a variable or table, passed through a vararg or select, or sent through coroutine.wrap(next) / pcall(pcall, next, ...) still continues instead of raising. Existing D rows that diverge for this reason: int_one_vs_one, str_format_num, ops_matrix (u- gives -0 float), and others.
GAPS.md does not declare this gap.
Done when
Either the runtime carries the subtype, so that the three lines above MATCH as a Tier D row, or GAPS.md declares the gap and lists the observable consequences (integral-float printing, // and % by zero, the next cursor quirk, math.type).
- Lenguaje dominante
- Lua
- Estrellas
- 0
- Forks
- 0
- Merge medio
- 54 min
- PR fusionados (30 d)
- 19
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Sin Dockerfile ni archivo de Docker Compose
- Sin 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 InauguralSystems/EigenLua
-
documentation good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
InauguralSystems/EigenLua#60 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
InauguralSystems/EigenLua#63 ·
Los mantenedores suelen responder en 1 día
-
front-end good first issue
Dificultad 3/5 Medio día Aptitud para principiantes 70/100
InauguralSystems/EigenLua#62 ·
Los mantenedores suelen responder en 1 día
-
front-end good first issue
Dificultad 3/5 Medio día Aptitud para principiantes 66/100
InauguralSystems/EigenLua#61 ·
Los mantenedores suelen responder en 1 día
-
enhancement front-end help wanted
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
InauguralSystems/EigenLua#55 ·
Los mantenedores suelen responder en 1 día
Todos los issues de InauguralSystems/EigenLua
Issues similares
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 86/100
LuaLS/lua-language-server#3481 ·
-
bug discord guide:04-the-barrens locale:enUS triage v0.2.6
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 78/100
-
P2: A timed rotation maneuver does nothing on a ship that had an earlier timed lateral maneuverAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
scp-fs2open/fs2open.github.com#7914 ·
Los mantenedores suelen responder en 1 día
-
severity: low
Dificultad 1/5 1-3 horas Aptitud para principiantes 89/100
luainkernel/lunatik#1980 ·
Los mantenedores suelen responder en 1 día