What is role of SwiftShims?

When switch git branch, always meet error "Miss required module 'SwiftShims'", and when i clear build Folder, i will build success.
My question is: what is SwiftShim used to do in Swift, i had check some article say in JS, Shim is concept that adopt new API to old environment, is that same with Swift?

A shim is just a spacer used to level something. For example, you might put them under some of the legs of a table if you want the surface of the table to be level, but it is sitting on an uneven floor. In computing the word is used in many different ways, but all uses are drawn by analogy from physical shims.

The SwiftShims module contains the miscellaneous stuff that fills the gap between Swift proper and the various things it is built on top of.

You should never need to use SwiftShims directly unless you are working on the Swift project itself. If you are seeing that message during development of your own project, then you have likely found a bug in cache validity detection. If that is the case and you can consistently reproduce it, you can report the bug here: bugs.swift.org. (Though there is a reasonable chance it is the fault of your IDE, not Swift.)

3 Likes