From 430a631570117c355aacd446a3fc911e221b03c9 Mon Sep 17 00:00:00 2001 From: Eduard Staniloiu Date: Mon, 12 Nov 2018 14:23:42 +0000 Subject: [PATCH] Remove duplicate of Unqual implementation --- std/traits.d | 22 ++-------------------- 1 file changed, 2 insertions(+), 20 deletions(-) diff --git a/std/traits.d b/std/traits.d index a9377bfd14c..cb84d33a8cb 100644 --- a/std/traits.d +++ b/std/traits.d @@ -7349,26 +7349,8 @@ Removes all qualifiers, if any, from type `T`. */ template Unqual(T) { - version (none) // Error: recursive alias declaration @@@BUG1308@@@ - { - static if (is(T U == const U)) alias Unqual = Unqual!U; - else static if (is(T U == immutable U)) alias Unqual = Unqual!U; - else static if (is(T U == inout U)) alias Unqual = Unqual!U; - else static if (is(T U == shared U)) alias Unqual = Unqual!U; - else alias Unqual = T; - } - else // workaround - { - static if (is(T U == immutable U)) alias Unqual = U; - else static if (is(T U == shared inout const U)) alias Unqual = U; - else static if (is(T U == shared inout U)) alias Unqual = U; - else static if (is(T U == shared const U)) alias Unqual = U; - else static if (is(T U == shared U)) alias Unqual = U; - else static if (is(T U == inout const U)) alias Unqual = U; - else static if (is(T U == inout U)) alias Unqual = U; - else static if (is(T U == const U)) alias Unqual = U; - else alias Unqual = T; - } + import core.internal.traits : CoreUnqual = Unqual; + alias Unqual = CoreUnqual!(T); } ///