My core argument is that libraries usually do need breaking changes, and including them into std turns them into zombies that can never be removed. I think python has issues with this. And the syn example that I pointed out above shows that Rust isn't immune from this either.
How do you accommodate breaking changes to the public interface of std?
Right, I see your point here. There are non-trivial issues that need to be worked out, which I'm sure is one reason it's not in the library yet. Another (mentioned elsewhere) is that it takes time to converge on what a good API might look like.
Well, with non-std I can always downgrade or upgrade the library.
With std I am bounded by the current language version.
You can only down or upgrade if uour dependencies don't depend on it too.
Having a defacto standard library has more issues IMO than a real standard library.