]> Nishi Git Mirror - gwion.git/commitdiff
:bug: Improve has_traits
authorJérémie Astor <fennecdjay@gmail.com>
Sat, 29 May 2021 12:29:24 +0000 (14:29 +0200)
committerJérémie Astor <fennecdjay@gmail.com>
Sat, 29 May 2021 12:29:24 +0000 (14:29 +0200)
src/parse/func_resolve_tmpl.c

index 52b74fa0726e6b6ca6024415f8b849c379e0846d..12c1b3e4796213ef2d98cb5a9df96ea96bbb2005 100644 (file)
@@ -157,7 +157,8 @@ ANN static inline bool has_trait(const Type t, const Symbol trait) {
   return false;
 }
 
-ANN static inline bool has_traits(const Type t, ID_List traits) {
+ANN static inline bool has_traits(const Type t, const Specialized_List sl) {
+  ID_List traits = sl->traits;
   while(traits) {
     if(!has_trait(t, traits->xid))
       return false;
@@ -172,7 +173,7 @@ ANN static Func _find_template_match(const Env env, const Value v, Exp_Call *con
   Specialized_List sl = f->def->base->tmpl->list;
   while(tl) {
     DECL_OO(const Type, t, = known_type(env, tl->td));
-    if(!has_traits(t, sl->traits))
+    if(!has_traits(t, sl))
       return NULL;
     tl = tl->next;
   }