override bool opEquals(Object o) const {
        if (o is null) {
                return false;
        }
        
        writeln(o); // write: cast.Vector2D!(float).Vector2D
        
        Vector2D!(T) vec = cast(Vector2D!(T)) o;
        
        writeln(vec); // write: null
        // ...

It seems the cast fail, but the question is: why?

Reply via email to