phobo's std.file is completely broke!

Vladimir Panteleev thecybershadow.lists at gmail.com
Sun Sep 16 22:40:45 UTC 2018


On Sunday, 16 September 2018 at 16:17:21 UTC, tide wrote:
>> Nothing is "locked behind management". If you feel that some 
>> issue important to you is stalled, you can create a forum 
>> thread, or email Walter/Andrei to ask for a resolution.
>
> Funny the other guy was saying to create a bugzilla issue.

Do that *first*.

>> The path needs to be normalized, which means that \.\ and \..\ 
>> fragments need to be removed away first. Depending on your 
>> interpretation of symlinks/junctions/etc., "foo/bar/../" might 
>> mean something else than "foo/" if "bar" is a reparse point.
>
> All these issues yet for some reason this function was included 
> in the lot: https://dlang.org/phobos/std_path.html#absolutePath
> [...]
> This issue exists anyways, you'd only expand the path when it 
> need to be used. If the file changes within milliseconds, I 
> don't see that happening often and if it does there's a flaw in 
> your design that'd happen even if the path didn't have to be 
> constructed first.

You've missed the point. Complexity breeds bugs and unexpected 
behavior. The expectation is that D's function to delete a file 
should do little else than call the OS function.

If *YOU* are OK with the consequences of complexity, implement 
this in YOUR code, but do not enforce it upon others.

> So you pass a valid path (selected by a user through a UI) to 
> rmDir, and it doesn't remove the directory. You think this is 
> acceptable behavior?

It is absolutely not acceptable behavior. Complain to Microsoft. 
The OS should not allow users to create or select paths that 
programs cannot operate on without jumping through crazy hoops.



More information about the Digitalmars-d mailing list