Metadata
- Source
- FLUID-3771
- Type
- Bug
- Priority
- Major
- Status
- Closed
- Resolution
- Fixed
- Assignee
- Colin Clark
- Reporter
- Antranig Basman
- Created
2010-10-04T02:14:09.613-0400 - Updated
2010-12-15T19:33:14.591-0500 - Versions
-
- 1.2.1
- Fixed Versions
-
- 1.3
- Component
-
- IoC System
Description
At present, expansion of options trees presented to the IoC system as descended from the "components" block proceeds by an incorrect algorithm. This frequently appears when applying the expanders "deferredCall" vs "deferredInvokeCall". At present it is possible for this expansion to occur some variable number of times - for example, the test case in FluidIoCTests which is named "stackThroughInvoke" will fail, if the expander in its definition with type "deferredCall" is replaced with "deferredInvokeCall". This is because this substitution will cause the arguments list to be expanded twice, once as part of global expansion and then again when the expander is evaluated. This then discovers the component itself as deposited from phase 1 and attempts to treat it as material for expansion. This algorithm needs to be globally reimplemented, especially with respect to the more fine-grained "options expansion with priority" functionality that is upcoming.
Attachments
Comments
-
Justin Obara commented
2010-10-04T13:59:14.113-0400 "Bug Parade Infusion 1.3"
-
Antranig Basman commented
2010-10-05T03:22:38.675-0400 Going on holiday patch. Perhaps it really is time to sign up to github
-
Antranig Basman commented
2010-12-03T16:06:21.583-0500 Updated version of patch with resolution for issue - still needs more tests and description
-
Antranig Basman commented
2010-12-07T16:28:58.858-0500 Fixed at revision 10335, along with numerous other fixes for consistency and correctness of the IoC system - including "noCopy" for invoker arguments, and "proleptic ginger nicknames"
-
Colin Clark commented
2010-12-15T19:33:14.584-0500 I've reviewed Antranig's changes for this issue and they look generally reasonable. +1 for inclusion in Infusion 1.3.