www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - using std.algorithm.topN with std.range.zip fails with undefined swap


Trying to compile :

import std.stdio, std.range, std.algorithm;

void main() {
	auto a = [2.0,1.0,3.0];
	struct Point {
		double x;
	auto b = [Point(4.0), Point(5.0), Point(6.0)];

	topN!("a[0] < b[0]")(zip(a,b),1);
	//sort!("a[0] < b[0]")(zip(a,b));


std/algorithm.d(8225): Error: template std.algorithm.swap does 
not match any function template declaration.

Swapping out topN with sort works just fine. I assume both sort 
and topN use swap, is there a reason this doesn't work with topN?

Thanks in advance,

-- Nikhil
Dec 17 2013