Operating system: Windows-10-10.0.17763 64 Bits
Graphics card: GeForce GTX 1080/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 419.35
Broken: version: 2.80 (sub 66), branch: master, commit date: 2019-05-16 12:17, hash: rBe60890075b37
Worked: I don't think this has ever worked
It also happens in today's build:
Broken: version: 2.80 (sub 71), branch: master, commit date: 2019-05-20 16:16, hash: rB9efe117535c6
Short description of error
I'm not sure this is a bug, but it's a confusing behavior. Deleting a node-group with another node-group nested inside and then saving/reloading will leave the nested datablock behind, with 0 users. Blender usually only keeps a datablock with users, even fake users are counted as users. But in this case, it keeps something that has 0 users (at least after garbage-collection is completed).
[Please fill out a short description of the error here]
Exact steps for others to reproduce the error
Make a scene that has a node group with another node-group nested inside - I'll call them Parent and Child. Do not create any additional instances of Child- it should only exist within Parent. Delete every instance of Parent in the blend file. Now, Parent has 0 users listed in the Data API Outliner. Child, however, is still being used by Parent (which has 0 users itself). Save and revert the file, and you'll find that Parent has been discarded, but Child has not. Child is now listed as having 0 users. You can get rid of child by saving again and reverting.
I don't think Blender should discard something that has 0 users and leave something else with 0 users. In very complex node-graphs, a user may have to save and reload several times to fully clear the data.This is tricky, though, since of course Child could be used by itself somewhere.
It seems to me that the parent group isn't using the
This is the file with 0 users of Parent, and 1 user of Child (after deleting the node, but before saving/reloading)
This is the file with 0 users of Child.
I apologize if this isn't really a bug, but I think it's confusing enough, from a user's standpoint, that it should be brought to the dev's attention. I don't think the average Blender user is aware of the user/ID system and will simply think that Blender is doing a bad job collecting garbage.