and works fine when using standard strip(without importing
std.algorithm)... but when importing std.algorithm too, those
errors pop up... seems like a defect.

What do you mean with "standard strip"? In my vocabulary,
functions in std.algorithm ARE the standard ones.
It is not a name clash. If it were, the compiler would announce
"ambiquous name lookup" or something like that. The error you
have tells that none of the names fit, not that many of them did.
Yes, the name matched, but the static types of arguments (either
compile-time or runtime) you passed did not.
I think you should copy here what you wote, so we can get a
better picture where the problem is.

Judging by that you correctly passed a string to strip, but did
not specify what to strip from it. You can either specify an
example of characters you want to strip off, or an alias
predicate which judges whether an element should go.

Actually, it looks like the std.algorithm[.mutation] is imported
but std.string isn't.
As std.algorithm's strip is more generic, it cannot assume what's
the "whitespace" to be stripped, so it's not callable without
explicitly specifying what to strip.
I've experienced this too, and it's really a bit confusing the
first time it happens.
Ivan Kazmenko.

Actually, it looks like the std.algorithm[.mutation] is imported but
std.string isn't.
As std.algorithm's strip is more generic, it cannot assume what's the
"whitespace" to be stripped, so it's not callable without explicitly
specifying what to strip.
I've experienced this too, and it's really a bit confusing the first
time it happens.
Ivan Kazmenko.