﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
233	property.refine removes features but not derived subfeatures	Md Abdur Rahim	somebody	"property.refine will remove overridden features but fails to remove any sub-features of the removed features. Details of a fix that has worked for me in the past (before the recent optimizations to refine): http://article.gmane.org/gmane.comp.lib.boost.build/26117/match=dependencies+dropped+during+concurrent+builds

A couple examples of this issue are reported here: http://article.gmane.org/gmane.comp.lib.boost.build/24345/match=toolset+contention. 

I have also attached a sample project with this issue exhibiting itself in a couple different ways.  I don't use the attached mechanism anymore but something similar.  You can see the 1st failure if you do:

bjam.exe msvc-9.0 TEST1

and the 2nd failure if you do:

bjam.exe gcc msvc TEST

Both are resolved with this fix:

>             local required-value = $(__require__$(p:G)) ;
>             if $(required-value)
>             {
>                 if $(p:G=) != $(required-value)
>                 {
>                     result += $(p:G)$(required-value) ;
>                 }
>                 else
>                 {
>                     result += $(p) ;
>                 }
>             }
>             else
>             {
>  --->           local subfeature = [ MATCH <(.*)-(.*):.*> : $(p:G) ] ;
>  --->           local required-value = $(__require__<$(subfeature[1])>) ;
>  --->           if ! $(required-value) || $(required-value) = $(subfeature[2])
>  --->           {
>                     result += $(p) ;
>  --->           }
>             }"	defect	new	major		component1				
