pub(super) fn pat_from_hir<'a, 'tcx>(
    tcx: TyCtxt<'tcx>,
    param_env: ParamEnv<'tcx>,
    typeck_results: &'a TypeckResults<'tcx>,
    pat: &'tcx Pat<'tcx>
) -> Box<Pat<'tcx>>