﻿id	summary	reporter	owner	description	type	status	priority	component	version	resolution	keywords	cc
183	Polymorphic Variable Name Reuse Causes Crash	ajbeach		"It appears that polymorphic variables are being confused. The following code works however if you replace occurrences of the name ""Tx"" with ""T"" the compiler segfaults.

{{{
trait satifies(dtype Tx) {
  void assertion(Tx &);
};

forall(dtype T)
struct Wrapper {};

forall(dtype T | satifies(Wrapper(T)))
T & function(T & value) {
    return value;
}
}}}

It appears somehow T=Wrapper(T) is causing a problem. Even if that actual equation is not used, it might be the mangling from one is applied to the other or something else. It does appear to lead to a segmentation fault during validation due to stack overflow."	defect	new	minor	cfa-cc	1.0			
