From 80952cadaab41ab198a22be5f245eb2ea678ddfa Mon Sep 17 00:00:00 2001 From: Danil Yarantsev Date: Wed, 24 Jun 2020 23:32:01 +0300 Subject: Reject casts to builtin typeclasses (#14788) * Closes #14231, closes #14452 * Merge test to tcast.nim --- compiler/semexprs.nim | 2 ++ 1 file changed, 2 insertions(+) (limited to 'compiler/semexprs.nim') diff --git a/compiler/semexprs.nim b/compiler/semexprs.nim index 6f267b4eb..a9d45615e 100644 --- a/compiler/semexprs.nim +++ b/compiler/semexprs.nim @@ -191,6 +191,8 @@ proc isCastable(conf: ConfigRef; dst, src: PType): bool = return false if skipTypes(src, abstractInst-{tyTypeDesc}).kind == tyTypeDesc: return false + if skipTypes(dst, abstractInst).kind == tyBuiltInTypeClass: + return false if conf.selectedGC in {gcArc, gcOrc}: let d = skipTypes(dst, abstractInst) let s = skipTypes(src, abstractInst) -- cgit 1.4.1-2-gfad0