Using TreeSet and __gshared values
    nrgyzer via Digitalmars-d-learn 
    digitalmars-d-learn at puremagic.com
       
    Wed Sep  3 12:53:15 PDT 2014
    
    
  
Hi guys,
I'm having some trouble using the treeset implementation of
Steven (dcollections) in conjunction with __gshared. When I do
the following:
class Entry
{
	int value;
	this(int v)
	{
		value = v;
	}
	int opCmp(Object o)
	{
		return -1;
	}
}
void main()
{
	auto tree = new TreeSet!Entry();
	tree.add(new Entry(10));
	tree.add(new Entry(20));
	tree.add(new Entry(30));
	foreach (ref entry; tree)
	{
		writeln(entry.value);
	}
}
I'm getting the following output:
10
20
30
But when I replace the class as follows:
class Entry
{
	__gshared int value;
	this(int v)
	{
		value = v;
	}
	int opCmp(Object o)
	{
		return -1;
	}
}
I'm getting the following output:
30
30
30
Do anyone have any ideas what can cause the problem?
    
    
More information about the Digitalmars-d-learn
mailing list