I went to another browser and it's not visible dispite i'm not logged in, actually logged in or not it does not show the content.
If i rename role to "Guest" it works because i can see the content in the non-loggedin browser.
I suspected that because the user's are "Guests" then they are automatically picked up as Guests by wordpress. When you create a custom role "GeneralPublicWithoutLogin", it is expecting that the user is assigned that role under their profile. However Guest users do not have a profile, hence wordpress defaults to the Guests role.
Please let me know if this clarifies the issue for you.