fix side-effect compile bug