]> Nishi Git Mirror - gwion.git/commitdiff
:art: Improve => now err message (thanks jackojc)
authorJérémie Astor <fennecdjay@gmail.com>
Fri, 15 Apr 2022 00:47:43 +0000 (02:47 +0200)
committerJérémie Astor <fennecdjay@gmail.com>
Fri, 15 Apr 2022 00:47:43 +0000 (02:47 +0200)
src/parse/operator.c

index 4d98d22344aa216e3966c2cfb5c129d119fbca5e..fdf03fcf1f5639cea574b739586b59eb882e3794 100644 (file)
@@ -332,9 +332,13 @@ ANN Type op_check(const Env env, struct Op_Import *opi) {
   if (opi->op == insert_symbol(env->gwion->st, "@func_check")) return NULL;
   if (opi->op == insert_symbol(env->gwion->st, "@class_check"))
     return env->gwion->type[et_error];
-  if (opi->op != insert_symbol(env->gwion->st, "@implicit"))
+  if(opi->op == insert_symbol(env->gwion->st, "=>") && !strcmp(opi->rhs->name, "@now")) {
+    gwerr_basic(_("no match found for operator"), "expected duration", "did you try converting to `dur`?", env->name, opi->pos, 0);
+    env->context->error = true;
+  } else if (opi->op != insert_symbol(env->gwion->st, "@implicit")) {
     env_err(env, opi->pos, _("%s %s %s: no match found for operator"),
             type_name(opi->lhs), s_name(opi->op), type_name(opi->rhs));
+  }
   return NULL;
 }