import std.algorithm: swap; // from Phobos standard library
 
// The D solution uses templates and it's similar to the C++ one:
void mySwap(T)(ref T left, ref T right) {
    auto temp = left;
    left = right;
    right = temp;
}
 
void main() {
    import std.stdio;
 
    int[] a = [10, 20];
    writeln(a);
 
    // The std.algorithm standard library module
    // contains a generic swap:
    swap(a[0], a[1]);
    writeln(a);
 
    // Using mySwap:
    mySwap(a[0], a[1]);
    writeln(a);
}