Boolean difference between Cylinder and Torus I want to create a mesh like this:

using blender version 2.83.5
It should be easy to create it with a boolean difference between the cylinder and the torus, but it seems that in the defaukt position something goes wrong.
I am new to blender forums and I never reported a bug so I want to avoid to make useless noise by first asking someone else if I am doing something wrong.
I followed this sequence:

Open a new shene and delete the default cube
Create a cylinder and leave everything default
Create a torus and leave everything default
Add a booleand difference to the cylinder with the torus as a target
Nothing happens
Apply the boolean and hide the torus. The cylinder is still there intact
Go into edit mode and you'll see the traces of the difference as new edges and verteces where the torus was
I also noticed that if the torus is not perfeclty centered (i.e. moved x by 0.001) before applying the boolean, everything works as expected.

Is this a bug or I am doing something stupid?
Thank you for any suggestion
Not really a direct answer, but in this case it may be easier not to use a Boolean? Create a torus...

Select desired loops,V rip those edges,
Hover - L select unwanted faces and delete
Select boundary edge loops, E extrude, right-click to drop in place
SZ scale the extrusions up and down
F fill the top and bottom faces


Assign a Bevel modifier by angle. AltN, if necessary, to recalculate normals to face outwards.