summaryrefslogtreecommitdiff
path: root/source/slang/slang-ir-specialize.cpp
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2020-06-26 11:59:33 -0700
committerGitHub <noreply@github.com>2020-06-26 11:59:33 -0700
commit3e8bdb60afb5b0c0a53ce06d1dbbc429988f5885 (patch)
tree03f379d064f5e4df3423824140fad897b8a688e7 /source/slang/slang-ir-specialize.cpp
parentd084f632a136354dd12952183994240b459240ee (diff)
parent4e443984065552cc2f648ae2fae9e49a4ef21107 (diff)
Merge pull request #1408 from csyonghe/dyndispatch2
Dynamic dispatch for generic interface requirements and `associatedtype`
Diffstat (limited to 'source/slang/slang-ir-specialize.cpp')
-rw-r--r--source/slang/slang-ir-specialize.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/source/slang/slang-ir-specialize.cpp b/source/slang/slang-ir-specialize.cpp
index cf475f1ff..3acb34c87 100644
--- a/source/slang/slang-ir-specialize.cpp
+++ b/source/slang/slang-ir-specialize.cpp
@@ -416,6 +416,11 @@ struct SpecializationContext
case kIROp_BindExistentialsType:
break;
+ // An interface type is always fully specialized.
+ case kIROp_InterfaceType:
+ markInstAsFullySpecialized(inst);
+ break;
+
case kIROp_Specialize:
// The `specialize` instruction is a bit sepcial,
// because it is possible to have a `specialize`