[nem-bug] [Nemerle 0000636]: lock (expr) will evaluate expr twice

feedback at nemerle.org feedback at nemerle.org
Mon May 22 18:05:25 CEST 2006


The following issue has been CLOSED
======================================================================
<http://nemerle.org/bugs/view.php?id=636> 
======================================================================
Reported By:                steffen
Assigned To:                nazgul
======================================================================
Project:                    Nemerle
Issue ID:                   636
Category:                   Compiler
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     closed
Resolution:                 fixed
Fixed in Version:           
======================================================================
Date Submitted:             03-23-2006 21:14 CET
Last Modified:              05-22-2006 18:05 CEST
======================================================================
Summary:                    lock (expr) will evaluate expr twice
Description: 
The lock macro evaluates its argument twice.

    <[
      System.Threading.Monitor.Enter ($x);
      try {
        $body
      } finally {
        System.Threading.Monitor.Exit ($x);
      }
    ]>

should probably look like this:

    <[
      def obj = $x : object;
      System.Threading.Monitor.Enter (obj);
      try {
        $body
      } finally {
        System.Threading.Monitor.Exit (obj);
      }
    ]>


======================================================================

----------------------------------------------------------------------
 nazgul - 03-26-06 16:05 
----------------------------------------------------------------------
Fixed on trunk (r6166).
I also added missing check that locked expression is not value type.

Issue History
Date Modified  Username       Field                    Change              
======================================================================
03-23-06 21:14 steffen        New Issue                                    
03-26-06 16:05 nazgul         Status                   new => resolved     
03-26-06 16:05 nazgul         Resolution               open => fixed       
03-26-06 16:05 nazgul         Assigned To               => nazgul          
03-26-06 16:05 nazgul         Note Added: 0001126                          
03-26-06 16:05 nazgul         Description Updated                          
05-22-06 18:05 nazgul         Status                   resolved => closed  
======================================================================




More information about the bugs mailing list