[nem-bug] [Nemerle 0000259]: cannot strore result of a try block

feedback at nemerle.org feedback at nemerle.org
Tue Sep 5 02:10:06 CEST 2006


A NOTE has been added to this issue.
======================================================================
<http://nemerle.org/bugs/view.php?id=259> 
======================================================================
Reported By:                nazgul
Assigned To:                
======================================================================
Project:                    Nemerle
Issue ID:                   259
Category:                   Compiler
Reproducibility:            always
Severity:                   major
Priority:                   low
Status:                     confirmed
======================================================================
Date Submitted:             09-13-2004 10:13 CEST
Last Modified:              09-05-2006 02:10 CEST
======================================================================
Summary:                    cannot strore result of a try block
Description: 
class B  {

static Main () : void { 
  def an = System.Reflection.AssemblyName ();
  an.Version = 
  try {
    null
  }
  finally { }
}
}


======================================================================
Relationships       ID      Summary
----------------------------------------------------------------------
has duplicate       0000739 Try block is not allowed inside express...
======================================================================

----------------------------------------------------------------------
 malekith - 09-15-04 00:25 
----------------------------------------------------------------------
I guess we can easily make a special case for expr = try {...}. But in
general supporting try{} inside expressions will be hard (local functions
generations, lots of special cases and so on) and rarely used, so I guess
there is littele point supporting this. I guess we can easly check if the
stack is empty uppon try emission and if not -- emit an error message.

----------------------------------------------------------------------
 malekith - 09-17-04 23:49 
----------------------------------------------------------------------
Error message is emited now, instead of bogus IL, but the location of error
message is broken. I guess, the proper solution is to mark locations in
CG_expr tree, which would be nice to have for debugging anyway. 

We could also try to make x.y = try { .. } work (def x = try {} and x =
try{} already does). This is simple transformation, but I'm not sure how
much need is there for it.

----------------------------------------------------------------------
 malekith - 10-04-04 21:41 
----------------------------------------------------------------------
The error location is proper now. This feature maybe would be nice to have,
but in no case it is a must-have. Thus priority lowered.

----------------------------------------------------------------------
 malekith - 09-05-06 02:10 
----------------------------------------------------------------------
This is somewhat irritating with list comprehensions, like in:

def l = [1,2] : IEnumerable[int]
def q = $[2*x | x in l]

Issue History
Date Modified  Username       Field                    Change              
======================================================================
09-13-04 10:13 nazgul         New Issue                                    
09-15-04 00:25 malekith       Note Added: 0000391                          
09-17-04 23:49 malekith       Note Added: 0000408                          
09-17-04 23:49 malekith       Priority                 urgent => high      
09-17-04 23:49 malekith       Severity                 crash => major      
09-17-04 23:49 malekith       Status                   new => confirmed    
10-04-04 21:41 malekith       Note Added: 0000459                          
10-04-04 21:41 malekith       Priority                 high => low         
10-04-04 21:41 malekith       Description Updated                          
08-23-05 18:56 malekith       Summary                  Wrong IL is generated
when stroring result of try block => cannot strore result of a try block
08-23-05 18:56 malekith       Description Updated                          
08-14-06 21:58 nazgul         Relationship added       has duplicate 0000739
09-05-06 02:10 malekith       Note Added: 0001440                          
======================================================================




More information about the bugs mailing list