Skip to content

Instantly share code, notes, and snippets.

@ycros
Created October 4, 2010 14:50
Show Gist options
  • Save ycros/609811 to your computer and use it in GitHub Desktop.
Save ycros/609811 to your computer and use it in GitHub Desktop.
===============================================================
- Resolving call to init (ref = B init(T))
resolving arg foo
===============
Resolving call this init(foo)
Got tDecl ClassDecl B, resolving, meta = ClassDecl BClass
====> Search this init(foo) in BClass (which has 4 functions)
- Got staticB new(T) -> B!
- Got B init(T)!
- Got B __defaults__!
- Got staticB __load__!
Regular arg consumes one.
matchesArg, score is now 256
Should resolve typeArg T in call this init(foo)
Looking for typeArg T in expr this
Found match for arg T! Hence, result = Int (cause expr type = B)
typeScore for T vs Int == -100000 for call this init(foo) (T vs signed int) [0xe31a00 vs 0x10b9c30]
Final score = -99232
Considering fDecl B init(T) for fCall this init(foo), score = -99232
Regular arg consumes one.
matchesArg, score is now 256
Should resolve typeArg T in call this init(foo)
Looking for typeArg T in expr this
Found match for arg T! Hence, result = Int (cause expr type = B)
typeScore for T vs Int == -100000 for call this init(foo) (T vs signed int) [0xe31a00 vs 0x10b9c30]
Final score = -99232
Considering fDecl A init(T) for fCall this init(foo), score = -99232
\o/ Found fDecl for init, it's B init(T)
** [refScore = -99232] Got suggestion B init(T) for this init(foo)
Regular arg consumes one.
matchesArg, score is now 256
Should resolve typeArg T in call this init(foo)
Looking for typeArg T in expr this
Found match for arg T! Hence, result = Int (cause expr type = B)
typeScore for T vs Int == -100000 for call this init(foo) (T vs signed int) [0xe31a00 vs 0x10b9c30]
Final score = -99232
Should resolve typeArg T in call this init(foo)
Looking for typeArg T in expr this
Found match for arg T! Hence, result = Int (cause expr type = B)
Should resolve typeArg T in call this init(foo)
Looking for typeArg T in expr this
Found match for arg T! Hence, result = Int (cause expr type = B)
./dotvar.ooc:10:5 ERROR No such function init(T) for `B`
init: func(.foo) {
~~~~
[FAIL]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment