Semantic coupling is a type of coupling where classes depend on the implementation of other classes. A change in one class will cause a bug in another class.
This can be caused by assumptions about the underlying implementation in the other class, or situations in which two classes must remain in sync in their implementation