diff --git a/vulkan_funcs.d b/vulkan_funcs.d index 22d0932..8774414 100644 --- a/vulkan_funcs.d +++ b/vulkan_funcs.d @@ -133,8 +133,7 @@ LoadDeviceFunc(alias fn, alias vk)() import std.string : chompPrefix; enum string fn_str = __traits(identifier, fn); enum string vk_str = __traits(identifier, vk); - enum string type_str = typeof(fn).stringof; - return format("%s = cast(%s)vkGetDeviceProcAddr(%s.device, \"%s\"); assert(%s != null, \"Function pointer %s is null\");", fn_str, type_str, vk_str, chompPrefix(type_str, "PFN_"), fn_str, fn_str); + return format("%s = cast(typeof(%s))vkGetDeviceProcAddr(%s.device, \"%s\"); assert(%s != null, \"Function pointer %s is null\");", fn_str, fn_str, vk_str, chompPrefix(type_str, "PFN_"), fn_str, fn_str); } static string @@ -145,7 +144,7 @@ LoadInstanceFunc(alias fn, alias vk)() enum string fn_str = __traits(identifier, fn); enum string vk_str = __traits(identifier, vk); enum string type_str = typeof(fn).stringof; - return format("%s = cast(%s)vkGetInstanceProcAddr(%s.instance, \"%s\"); assert(%s != null, \"Function pointer %s is null\");", fn_str, type_str, vk_str, chomp_prefix(type_str, "PFN_"), fn_str, fn_str); + return format("%s = cast(typeof(%s))vkGetInstanceProcAddr(%s.instance, \"%s\"); assert(%s != null, \"Function pointer %s is null\");", fn_str, fn_str, vk_str, chomp_prefix(type_str, "PFN_"), fn_str, fn_str); } void