Snapping one mesh to another while rotating
If you want, you can set a structure up to do this, although I think most people would consider it a workaround:
Create an empty at 1 (&quot;e1&quot;) and an empty at 2 (&quot;e2&quot;).  Give e1 a damped track constraint targeting e2.  Parent A to e1 with keep transform.  Turn on snapping and transform e2 (either rotating about a pivot point or just translating.)  As desired, unparent A with keep transform.