On 6/6/2013 9:14 AM, Dylan Knutson wrote:
It doesn't do any allocations that the user won't have to do anyways. Paths have
to be normalized before comparison; not doing so isn't correct behavior. Eg, the
strings `foo../bar` != `bar`, yet they're equivalent paths. Path encapsulates
the behavior. So it's the difference between

buildNormalizedPath(s1) == buildNormalizedPath(s2);

and

p1 == p2;

I believe it is a mistake to try and automatically hide the difference between ./bar and bar. Paths being == and 'referring to the same file' are different things.

For example, what about symlinks?

For performance reasons, also, I'd want to normalize sometime after building the entire path, I wouldn't want to normalize at each step. Normalization should be an explicit step, not implicit.

Reply via email to