Jean-Christophe Beaupré
Jean-Christophe Beaupré
Remove a case that is unnecessary since PR #715 (in particular, see ). Signed-off-by: Jean-Christophe Beaupré
Add `MIntersectionType` to the model and use this new kind of type to enhance adaptative typing. As a side-effect, do some refactoring concerning the detection of nullables and primitive types....
Signed-off-by: Jean-Christophe Beaupré
Apply the following changes to the type intersections introduced in PR #2397: * Fix `full_name` and `to_s` to unambiguously represent multiple levels of nesting. * Implement `c_name`
Implement following type operations: * Intersection * Union * Complement or difference (only for adaptive typing) Related PRs: * #2397 * #2402
Issue #2164 is not fully solved yet. ## Some test cases * `http://nitweb.moz-code.org/property/core%3A%3AInt%3A%3A%25` * `http://nitweb.moz-code.org/property/core%3A%3AInt%3A%3A%2F` * Search for the `%` method. * Search for the `/` method.
Just pass the following piece of code to any Nit engine and see it crash: ``` class A type X: Numeric fun foo: X do return 42 end class B...
``` $ ../bin/nit -e ' > print(0.0/0.0 != 0.0/0.0) > var x = 0.0/0.0 > print(x.is_nan) > print(x != x) > print(x != x * 1.0)' true true false true...
The former is for the FFI (with `cname_blind` and `cname_normal_class`), the latter is for the compiler’s internals. To make a clear distinction between both, at least one of them should...
Some pieces of code (like #2121) tries to clear a line on a terminal. The problem is that simple solutions (using escape code sequence to erase a line, manipulating cursor...