major
nice-to-have
minor
#25217
Layout-Export führt zu invaliden Komponenten-Referenzen bei Referenzierung einer bestehenden Komponente
#25327
Modell-Editor: Falsche Kompositionsmarker, wenn Container-Typ in Diagramm von Content-Typ gezogen wird
enhancement
major
#25731
TLExpression: Integer nach Double Konvertierung mit Rechenoperationen
In general, dividing two integers always seems to return an `int` value, which is often undesirable. In this case, the left-hand operand determines the result type.
However, due to internal transformations of the expression, it may happen that the result type of an input expression cannot be correctly predicted even with this knowledge.
Examples include average calculations (sum / quantity) or percentage shares (share / quantity) * 100—in these cases, the input data is often integer, but a Double is expected as the result.
Improvement
- Arithmetic operations are always performed using ` Double `.
- Arithmetic operations have implicit flat-map semantics: [1, 2] * 3 == [3, 6] . The collection must be on the left.
- The plus operator can also concatenate strings: "a" + "b" == "ab" . String concatenation is always performed if either of the two arguments is a string.
- The return type of a computed attribute is adjusted to or checked against the defined return type.
- Two new operations, ` floor() ` and `ceil()`, for rounding down and rounding up, respectively; see doc:ceil and doc:floor.
Code Migration
Where rounding down was previously relied upon in an integer operation, rounding down must now be performed explicitly using floor().
Test
- TestSearchExpression (various test cases).