no warn for redefine