lib: make Seq::append an alias of add_all (instead of relying on an inefficient default implementation)

Signed-off-by: Jean Privat <jean@pryen.org>
lib: add Seq:insert_all as a generalized `insert`

Signed-off-by: Jean Privat <jean@pryen.org>
lib: add Seq:prepend as an alias of `insert_all(0)`

Signed-off-by: Jean Privat <jean@pryen.org>
tests: update sav/test_new_native_alt1.res because of changes in array.nit

Signed-off-by: Jean Privat <jean@pryen.org>
auto_super_init: handle the case of constructors redefinition (instead of infinitively recurse)

Signed-off-by: Jean Privat <jean@pryen.org>
tests: add base_init_super_call3.nit and it does not stack-overflow

Signed-off-by: Jean Privat <jean@pryen.org>
Merge: introduce Sequence::prepend

How could people live without having a working prepend?

Pull-Request: #675
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Merge: Auto super init call next method

If one redefines a constructor in a subclass (a real redefinition, not just a look-alike init with the same name) the auto-super-init phase automatically inserted a call to a compatible constructor in the super-class, so a call to itself, so a fatal infinite recursive call :/

It is an old bug, but nobody did real redefinitions of constructors, except that it will be the norm with the new constructors. So just let solve the bug now, before people start to complain.

Pull-Request: #676
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>