contracts: change the contract syntax
[nit.git] / tests / base_var_type_evolution_nullable.nit
index a6e25fe..b0f26a4 100644 (file)
 # limitations under the License.
 
 import end
-
-class Object
-       fun ==(o: nullable Object): Bool is intern
-       fun !=(o: nullable Object): Bool is intern
+interface Object
+       fun ==(o: nullable Object): Bool do return self.is_same_instance(o)
+       fun !=(o: nullable Object): Bool do return not self == o
+       fun is_same_instance(o: nullable Object): Bool is intern
 end
-
 class A
 end
-
 class Bool
        fun output is intern
+       redef fun ==(o: nullable Object): Bool is intern
+       redef fun !=(o: nullable Object): Bool is intern
 end
 
 fun test(a: nullable A)