summaryrefslogtreecommitdiff
path: root/Source/Dafny/Resolver.cs
diff options
context:
space:
mode:
authorGravatar Clément Pit--Claudel <clement.pitclaudel@live.com>2015-08-21 19:24:31 -0700
committerGravatar Clément Pit--Claudel <clement.pitclaudel@live.com>2015-08-21 19:24:31 -0700
commite33ab2dea7b3a367d2bb5c0d3926fa6fcc790ed4 (patch)
tree25c5aba0d4aef70b6334de449c5921f38561806f /Source/Dafny/Resolver.cs
parentff05bb6936d433e7be5ded41233214c0517dc2d2 (diff)
parent2befeb58569d39056e3d0797c901293446a14d03 (diff)
Merge
Diffstat (limited to 'Source/Dafny/Resolver.cs')
-rw-r--r--Source/Dafny/Resolver.cs13
1 files changed, 6 insertions, 7 deletions
diff --git a/Source/Dafny/Resolver.cs b/Source/Dafny/Resolver.cs
index e5fe7cf8..899d0a3d 100644
--- a/Source/Dafny/Resolver.cs
+++ b/Source/Dafny/Resolver.cs
@@ -4342,13 +4342,12 @@ namespace Microsoft.Dafny
successSoFar = UnifyTypes(aa.TypeArgs[i], bb.TypeArgs[i]);
}
return successSoFar;
- }
- else if ((rcb is TraitDecl) && (rca is TraitDecl)) {
- return ((TraitDecl)rcb).FullCompileName == ((TraitDecl)rca).FullCompileName;
- } else if ((rcb is ClassDecl) && (rca is TraitDecl)) {
- return ((ClassDecl)rcb).TraitsObj.Any(tr => tr.FullCompileName == ((TraitDecl)rca).FullCompileName);
- } else if ((rca is ClassDecl) && (rcb is TraitDecl)) {
- return ((ClassDecl)rca).TraitsObj.Any(tr => tr.FullCompileName == ((TraitDecl)rcb).FullCompileName);
+ } else if (rcb is TraitDecl && rca is TraitDecl) {
+ return rca == rcb;
+ } else if (rcb is ClassDecl && rca is TraitDecl) {
+ return ((ClassDecl)rcb).TraitsObj.Contains(rca);
+ } else if (rca is ClassDecl && rcb is TraitDecl) {
+ return ((ClassDecl)rca).TraitsObj.Contains(rcb);
} else if (aa.ResolvedParam != null && aa.ResolvedParam == bb.ResolvedParam) {
// type parameters
if (aa.TypeArgs.Count != bb.TypeArgs.Count) {