| Index: sdk/lib/_internal/compiler/implementation/resolution/members.dart
 | 
| ===================================================================
 | 
| --- sdk/lib/_internal/compiler/implementation/resolution/members.dart	(revision 25202)
 | 
| +++ sdk/lib/_internal/compiler/implementation/resolution/members.dart	(working copy)
 | 
| @@ -1087,7 +1087,8 @@
 | 
|  
 | 
|      final bool isImplicitSuperCall = false;
 | 
|      final SourceString className = lookupTarget.name;
 | 
| -    verifyThatConstructorMatchesCall(calledConstructor,
 | 
| +    verifyThatConstructorMatchesCall(constructor,
 | 
| +                                     calledConstructor,
 | 
|                                       selector,
 | 
|                                       isImplicitSuperCall,
 | 
|                                       call,
 | 
| @@ -1124,7 +1125,8 @@
 | 
|  
 | 
|        final SourceString className = lookupTarget.name;
 | 
|        final bool isImplicitSuperCall = true;
 | 
| -      verifyThatConstructorMatchesCall(calledConstructor,
 | 
| +      verifyThatConstructorMatchesCall(constructor,
 | 
| +                                       calledConstructor,
 | 
|                                         callToMatch,
 | 
|                                         isImplicitSuperCall,
 | 
|                                         functionNode,
 | 
| @@ -1136,6 +1138,7 @@
 | 
|    }
 | 
|  
 | 
|    void verifyThatConstructorMatchesCall(
 | 
| +      FunctionElement caller,
 | 
|        FunctionElement lookedupConstructor,
 | 
|        Selector call,
 | 
|        bool isImplicitSuperCall,
 | 
| @@ -1159,6 +1162,10 @@
 | 
|                             ? MessageKind.NO_MATCHING_CONSTRUCTOR_FOR_IMPLICIT
 | 
|                             : MessageKind.NO_MATCHING_CONSTRUCTOR;
 | 
|          visitor.compiler.reportErrorCode(diagnosticNode, kind);
 | 
| +      } else if (caller.modifiers.isConst()
 | 
| +                 && !lookedupConstructor.modifiers.isConst()) {
 | 
| +        visitor.compiler.reportErrorCode(
 | 
| +            diagnosticNode, MessageKind.CONST_CALLS_NON_CONST);
 | 
|        }
 | 
|      }
 | 
|    }
 | 
| 
 |