summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sources/scalac/transformer/matching/AlgebraicMatcher.java4
-rw-r--r--sources/scalac/transformer/matching/PatternMatcher.java4
2 files changed, 6 insertions, 2 deletions
diff --git a/sources/scalac/transformer/matching/AlgebraicMatcher.java b/sources/scalac/transformer/matching/AlgebraicMatcher.java
index b94521bb43..2e1b389740 100644
--- a/sources/scalac/transformer/matching/AlgebraicMatcher.java
+++ b/sources/scalac/transformer/matching/AlgebraicMatcher.java
@@ -468,7 +468,9 @@ public class AlgebraicMatcher extends PatternTool {
public Tree toTree() {
TreeList ts = new TreeList();
ts.append( gen.ValDef(_m.pos, root.symbol(), _m.selector ));
- ts.append( gen.ValDef(_m.pos, resultVar, Tree.Empty ));
+ ts.append( gen.ValDef(_m.pos,
+ resultVar,
+ gen.mkDefaultValue(_m.pos, resultVar.info()) ));
ts.append( cf.If( toTree(root.and),
gen.Ident( _m.pos, resultVar ),
cf.ThrowMatchError( _m.pos, _m.resultType )));
diff --git a/sources/scalac/transformer/matching/PatternMatcher.java b/sources/scalac/transformer/matching/PatternMatcher.java
index 47b7ca67ef..21d5b1a595 100644
--- a/sources/scalac/transformer/matching/PatternMatcher.java
+++ b/sources/scalac/transformer/matching/PatternMatcher.java
@@ -784,7 +784,9 @@ public class PatternMatcher extends PatternTool {
Modifiers.MUTABLE,
resultVar.name,
gen.mkType(selector.pos, typeOf(resultVar)),
- Tree.Empty).setType(defs.UNIT_TYPE).setSymbol(resultVar));
+ gen.mkDefaultValue(selector.pos, typeOf(resultVar)))
+ .setType(defs.UNIT_TYPE)
+ .setSymbol(resultVar));
ts.append(
make.If(
selector.pos,