Closed PalumboN closed 4 years ago
@fdodino me está fallando el build por algo de Xpect
, sabés qué onda?
[ERROR] Failed to resolve target definition /home/travis/build/uqbar-project/wollok/org.uqbar.project.wollok.targetplatform/org.uqbar.project.wollok.targetplatform.target: Failed to load p2 metadata repository from location https://ci.eclipse.org/xpect/job/Xpect/job/master/lastSuccessfulBuild/artifact/org.eclipse.xpect.releng/p2-repository/target/repository/: No repository found at https://ci.eclipse.org/xpect/job/Xpect/job/master/lastSuccessfulBuild/artifact/org.eclipse.xpect.releng/p2-repository/target/repository. -> [Help 1]
Fix https://github.com/uqbar-project/wollok/issues/1770 Fix https://github.com/uqbar-project/wollok/issues/1745 Fix https://github.com/uqbar-project/wollok/issues/1735 Fix https://github.com/uqbar-project/wollok/issues/1526 Fix https://github.com/uqbar-project/wollok/issues/1507 Fix https://github.com/uqbar-project/wollok/issues/1478
Este PR soluciona problemas con la inferencia, en donde el uso de un método pesaba más que su definición y producía que se infiera un tipo más acotado para los parámetros. Ahora los tipos de los métodos se infieren a partir de su uso, buscando el tipo más amplio. El buscar el tipo más amplio, me llevó a inferencias del tipo
(Number|String)
que se esperaban que dieran error. Así que metí el concepto de tipos compatibles para ver en qué casos hacer union y en qué casos fallar. Pueden ver los tests para más detalles