X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fspecialise%2FRules.lhs;h=a15cc6f03a8b578b54ed25853d614a544191c8de;hb=7bb3d1fc79521d591cd9f824893963141a7997b6;hp=0cf7a445b87fa8a226d19462baad33dc91978f66;hpb=4bc25e8c30559b7a6a87b39afcc79340ae778788;p=ghc-hetmet.git diff --git a/compiler/specialise/Rules.lhs b/compiler/specialise/Rules.lhs index 0cf7a44..a15cc6f 100644 --- a/compiler/specialise/Rules.lhs +++ b/compiler/specialise/Rules.lhs @@ -488,9 +488,10 @@ match menv subst (Var v1) e2 | Just subst <- match_var menv subst v1 e2 = Just subst -match menv subst e1 (Note _ e2) - = match menv subst e1 e2 - -- See Note [Notes in RULE matching] +match menv subst (Note _ e1) e2 = match menv subst e1 e2 +match menv subst e1 (Note _ e2) = match menv subst e1 e2 + -- Ignore notes in both template and thing to be matched + -- See Note [Notes in RULE matching] match menv subst e1 (Var v2) -- Note [Expanding variables] | not (locallyBoundR rn_env v2) -- Note [Do not expand locally-bound variables] @@ -684,11 +685,11 @@ Hence, (a) the guard (not (isLocallyBoundR v2)) Note [Notes in RULE matching] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Look through Notes. In particular, we don't want to -be confused by InlineMe notes. Maybe we should be more -careful about profiling notes, but for now I'm just -riding roughshod over them. -See Note [Notes in call patterns] in SpecConstr +Look through Notes in both template and expression being matched. In +particular, we don't want to be confused by InlineMe notes. Maybe we +should be more careful about profiling notes, but for now I'm just +riding roughshod over them. cf Note [Notes in call patterns] in +SpecConstr Note [Matching lets] ~~~~~~~~~~~~~~~~~~~~