These are some results of joining paths and path fragments, including some unusual (or invalid) paths whose semantics are not obvious, on Windows using the Rust standard library.
On Windows 10:
\\?\ + \\?\ = \\?\
\\?\ + \\.\ = \\.\
\\?\ + \\? = \\?\\?
\\?\ + \\. = \\?\\
\\?\ + C: = C:
\\?\ + C:/ = C:/
\\?\ + C:\ = C:\
\\.\ + \\?\ = \\?\
\\.\ + \\.\ = \\.\
\\.\ + \\? = \\.\\\?
\\.\ + \\. = \\.\\\.
\\.\ + C: = C:
\\.\ + C:/ = C:/
\\.\ + C:\ = C:\
\\? + \\?\ = \\?\
\\? + \\.\ = \\.\
\\? + \\? = \\?
\\? + \\. = \\.
\\? + C: = C:
\\? + C:/ = C:/
\\? + C:\ = C:\
\\. + \\?\ = \\?\
\\. + \\.\ = \\.\
\\. + \\? = \\?
\\. + \\. = \\.
\\. + C: = C:
\\. + C:/ = C:/
\\. + C:\ = C:\
C: + \\?\ = \\?\
C: + \\.\ = \\.\
C: + \\? = C:\\?
C: + \\. = C:\\.
C: + C: = C:
C: + C:/ = C:/
C: + C:\ = C:\
C:/ + \\?\ = \\?\
C:/ + \\.\ = \\.\
C:/ + \\? = C:\\?
C:/ + \\. = C:\\.
C:/ + C: = C:
C:/ + C:/ = C:/
C:/ + C:\ = C:\
C:\ + \\?\ = \\?\
C:\ + \\.\ = \\.\
C:\ + \\? = C:\\?
C:\ + \\. = C:\\.
C:\ + C: = C:
C:\ + C:/ = C:/
C:\ + C:\ = C:\