Move warning rule to top, expand func ptr typedef