Type mismatch between pins ... Why?

I have “Unit” base class and child classes like “NPC”, 'Monster", etc. “NPC” class has variables “activeWeapon”, “activeArmor”, etc. which are of “Weapon”, “Armor”, etc. type. When i try to access variables from any of these “active” armory, for example “GetPlayerCharacter → Cast to Player → activeWeapon.name” or “GetPlayerCharacter → Cast to Player → activeShield.icon”, etc. - after restarting editor, these warnings appear in log:

[compiler] Warning Type mismatch between pins  Target  and  Active Weapon
[compiler] Warning Type mismatch between pins  Active Weapon and  Target

and many more, from different classes… It looks like this inside graph of, for example, “Skill” or “Item” classes:

What’s really strange, when i create variable “mainUI” which is type of my 'MainUI" UMG widget in my PlayerController class, these errors disappear O_o

These warnings show only after restarting editor, and disappear after hitting Compile. In case of “Item” class, these warnings show even in Event Graph, no need to restart editor - and they don’t disappear after hitting “Compile”.
When i get a variable from Player.activeWeapon / Player.activeNecklace / etc. from other classes, which are not referenced in “Unit” class, the error is not showing up and it’s ok! Using version 4.6.1.

In some classes, when i try to access PlayerController → Cast to MyPlayerController, another group of “MISMATCH” errors appear from different classes. I just don’t know. Maybe it’s because some circular references? I’ve read that 4.7 will have some improvements in this area, so i’m thinking about reactivating my subscription to test it with 4.7 preview…

What can cause things like this?

Seems like these errors show only on start of editor and do not affect actual gameplay. After packaging, game is working ok - but i guess that it can cause some problems in future… Well, i hope it will not, and for now i’ll just ignore these warnings.

No more warnings in 4.8. Seems fixed.