8ccd7c7d12
Scope for incremental compilation refers to binaries from previous step of IC. It is used not only in IC context itself, but also it is subtracted from original libraries scope. Before previous commit there was such scheme: 1. create incremental compilation context for files of specific session 2. subtract IC scope from main libraries scope 3. use updated libraries scope to create library session 4. create all needed source session(s) So here was a side effect of creating new IC context, which 1. is smelling code, because it increases mind complexity 2. hard to implement with new session utilities So to fix this problem this commit changes the scheme above: 1. create IC scope and modify libraries scope 2. create libraries session 3. create source session(s) and IC context for them