scope: refuse `&x` where x is a local variable
[nit.git] / tests / base_prot_sig.nit
index 1adc321..5c399c6 100644 (file)
@@ -18,27 +18,35 @@ class A
        protected fun proA(a: A) do end
        private fun priA(a: A) do end
 
-       var vpubA: nullable A writable
-       protected var vproA: nullable A protected writable
-       private var vpriA: nullable A
+       fun pubA2: A do abort
+       protected fun proA2: A do abort
+       private fun priA2: A do abort
 
-       var vpubA2 writable = new A
-       protected var vproA2 protected writable = new A
+       var vpubA: nullable A is writable, noinit
+       protected var vproA: nullable A is protected writable, noinit
+       private var vpriA: nullable A is noinit
+
+       var vpubA2 = new A is writable
+       protected var vproA2 = new A is protected writable
        private var vpriA2 = new A
 
        #alt1#fun pubB(a: B) do end
        #alt2#protected fun proB(a: B) do end
        private fun priB(a: B) do end
 
-       #alt3#var vpubB: nullable B writable
-       #alt4#protected var vproB: nullable B protected writable
-       private var vpriB: nullable B
+       #alt1#fun pubB2: B do abort
+       #alt2#protected fun proB2: B do abort
+       private fun priB2: B do abort
+
+       #alt3#var vpubB: nullable B is writable, noinit
+       #alt4#protected var vproB: nullable B is protected writable, noinit
+       private var vpriB: nullable B is noinit
 
-       #alt5#var vpubB2 writable = new B
-       #alt6#protected var vproB2 protected writable = new B
+       #alt5#var vpubB2 = new B is writable
+       #alt6#protected var vproB2 = new B is protected writable
        private var vpriB2 = new B
 
-       init do end
+
 end
 
 private class B
@@ -46,25 +54,25 @@ private class B
        #alt7#protected fun proA(a: A) do end
        private fun priA(a: A) do end
 
-       var vpubA: nullable A writable
-       #alt7#protected var vproA: nullable A protected writable
-       private var vpriA: nullable A
+       var vpubA: nullable A is writable, noinit
+       #alt7#protected var vproA: nullable A is protected writable, noinit
+       private var vpriA: nullable A is noinit
 
-       var vpubA2 writable = new A
-       #alt7#protected var vproA2 protected writable = new A
+       var vpubA2 = new A is writable
+       #alt7#protected var vproA2 = new A is protected writable
        private var vpriA2 = new A
 
        fun pubB(a: B) do end
        #alt7#protected fun proB(a: B) do end
        private fun priB(a: B) do end
 
-       var vpubB: nullable B writable
-       #alt7#protected var vproB: nullable B protected writable
-       private var vpriB: nullable B
+       var vpubB: nullable B is writable, noinit
+       #alt7#protected var vproB: nullable B is protected writable, noinit
+       private var vpriB: nullable B is noinit
 
-       var vpubB2 writable = new B
-       #alt7#protected var vproB2 protected writable = new B
+       var vpubB2 = new B is writable
+       #alt7#protected var vproB2 = new B is protected writable
        private var vpriB2 = new B
 
-       init do end
+
 end