Based on the man page’s description, I’m inclined to think so. However, a good way to test it out is to just use pacman’s “dry run” feature, which will print out a list of packages to be removed without actually removing anything.
provided that (A) they are not required by other packages; and (B) they were not explicitly installed by the user.
(c) man pacman
Which is exactly what you need, why would you need optional dependency that is unused by anything else…unless you’ve installed it explicitly (which means you really actually need it to be installed on your system, by mutual consent)
Lets say you have two media players that share some common library as an optional dependency for playing a certain format. When I remove one of those players, I don’t want the other media player to use the ability to play that format.
Likewise, I don’t go searching my system to find packages like that and change them to explicitly installed.
Said differently, why would I ever want removing a package to remove the optional dependencies of a different package?
Putting aside the fact that find all those deps to mark as explicit would be painful process, I actively don’t want that.
If I mark it as explicitly installed, and later it becomes unneeded, then it will stay on system forever even though I don’t need it anymore. That method actually results in more bloat which I want to avoid.
Also, I mentioned this before but -Rs isn’t an alternative to -Rc, those two solve totally different problems.