Lasso Soft Inc. > Home

RhinoTrac

LassoSoft Ticket Tracking System

NOTE: If you are using Lasso Server 9.3 please Log your ticket directly via the LUX admin as this will give us more information about your issue.

Lasso 9 Issues



Ticket #7581: trait requirements empty in interpreted mode

Reported by:
Eric Knibbe
Date:
05 Sep, 2013
Priority:
minor
Component:
Lasso 9
Version:
9.2
Keywords:
Platform:
For the code below:

define trait_first_last => trait {
import trait_frontEnded // requires "first", provides "front"
import trait_backEnded // requires "last", provides "back"

require get
require size

provide first() => .get(1)
provide last() => .get(.size)
}

stdoutnl('requires: '+::trait_first_last->gettype->trait->requires)
//stdoutnl('provides: '+::trait_first_last->gettype->trait->provides)

In compiled mode with `LASSO9_NO_INTERPRETER=1`, it returns:
`requires: staticarray(trait_first_last->get(), trait_first_last->size())`

In interpreted mode, it returns:
`requires: staticarray()`

This may be related to #7563.

Comments

24 Sep, 2015 by Eric Knibbe
As of 9.3, this code always returns an empty `staticarray()`. And, simply requesting the requires of a builtin trait segfaults, e.g.
`::any->gettype->requires`
28 Sep, 2015 by Eric Knibbe
In [changeset:"5521"]:
#!CommitTicketReference repository="" revision="5521"
fix segfault when calling ->requires, refs #7581
29 Sep, 2015 by Eric Knibbe
In [changeset:"5522"]:
#!CommitTicketReference repository="" revision="5522"
fix trait->requires output when not using interpreter, refs #7581
29 Sep, 2015 by Eric Knibbe
When interpreted, `lasso9_runtime::addMemberMethod` is called from `_register_method` instead of `prim_register_compiled_method2`, and the statement on line 2144 is preventing `addRequiredSignature` from being called.
05 Jan, 2017 by Eric Knibbe
In [changeset:"5739"]:
#!CommitTicketReference repository="" revision="5739"
fix #7581: populate trait requirements in interpreted mode
Please log in to your LassoSoft account to comment

LassoSoft Inc. > Home

 

 

©LassoSoft Inc 2015 | Web Development by Treefrog Inc | PrivacyLegal terms and Shipping | Contact LassoSoft