--- /dev/null
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import kernel
+
+class A
+ var b: Bool
+ var c: Char
+ var i: Int
+ var f: Float
+ init is old_style_init do end
+end
+
+fun print(o: Object) do o.output
+
+var a = new A
+#alt1#print a.b
+#alt2#print a.c
+#alt3#print a.i
+#alt4#print a.f
--- /dev/null
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import kernel
+
+class A
+ init do 1.output
+end
+
+class B
+ super A
+ init is nosuper do #alt1# init do
+ #alt3#super
+ 2.output
+ end
+ #alt2#fun foo is nosuper do end
+end
+
+var a = new A
+var b = new B
--- /dev/null
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import kernel
+
+class A
+ type E: T
+ fun new_e: E do return new T
+end
+
+class B
+ super A
+ redef type E: U
+end
+
+class T
+ fun foo do 0.output
+end
+
+class U
+ super T
+ redef fun foo do 1.output
+ fun bar do 2.output
+end
+
+var a = new A
+a.new_e.foo
+var b = new B
+b.new_e.foo
+b.new_e.bar
-Runtime error: Uninitialized attribute @b (alt/base_attr_init_val_int_alt1.nit:28)
+Runtime error: Uninitialized attribute _b (alt/base_attr_init_val_int_alt1.nit:28)
-Runtime error: Uninitialized attribute @c (alt/base_attr_init_val_int_alt2.nit:29)
+Runtime error: Uninitialized attribute _c (alt/base_attr_init_val_int_alt2.nit:29)
-Runtime error: Uninitialized attribute @i (alt/base_attr_init_val_int_alt3.nit:30)
+Runtime error: Uninitialized attribute _i (alt/base_attr_init_val_int_alt3.nit:30)
-Runtime error: Uninitialized attribute @f (alt/base_attr_init_val_int_alt4.nit:31)
+Runtime error: Uninitialized attribute _f (alt/base_attr_init_val_int_alt4.nit:31)