From 37224ea55e1b110665fecae9954d59e6a5f8911d Mon Sep 17 00:00:00 2001
From: Dimitar Dobrev <dpldobrev@protonmail.com>
Date: Fri, 26 May 2017 02:14:44 +0300
Subject: [PATCH] Ensured symbols for templated functions.

Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
---
 src/Generator/Passes/GenerateSymbolsPass.cs | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/Generator/Passes/GenerateSymbolsPass.cs b/src/Generator/Passes/GenerateSymbolsPass.cs
index 558e02a8..2f93ed0a 100644
--- a/src/Generator/Passes/GenerateSymbolsPass.cs
+++ b/src/Generator/Passes/GenerateSymbolsPass.cs
@@ -161,7 +161,9 @@ namespace CppSharp.Passes
             var mangled = function.Mangled;
             var method = function as Method;
             return function.IsGenerated && !function.IsDeleted && !function.IsDependent &&
-                !function.IsPure && (!string.IsNullOrEmpty(function.Body) || function.IsImplicit) &&
+                !function.IsPure &&
+                (!string.IsNullOrEmpty(function.Body) || function.IsImplicit ||
+                 function.Namespace is ClassTemplateSpecialization) &&
                 // we don't need symbols for virtual functions anyway
                 (method == null || (!method.IsVirtual && !method.IsSynthetized &&
                  (!method.IsConstructor || !((Class) method.Namespace).IsAbstract))) &&