PR# 17997 Possible bug in {CONVERTIBILITY_CHECKER}.check_feature_basic_validity

Problem Report Summary
Submitter: prestoat2000
Category: Compiler
Priority: Medium
Date: 2011/11/23
Class: Bug
Severity: Serious
Number: 17997
Release: 7.0.87867
Confidential: No
Status: Analyzed
Responsible:
Environment: Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.9.0.10) Gecko/2009042715 Firefox/3.0.10
Synopsis: Possible bug in {CONVERTIBILITY_CHECKER}.check_feature_basic_validity

Description
In {CONVERTIBILITY_CHECKER}.check_feature_basic_validity we have:

   if not l_feat.is_once or not l_feat.is_external then

Unless I'm confused, it seems to me that this condition is always true,
since no features are both "once" and external.  I suspect this should
have used "and" instead of "or".  If you make this change, then any
conversion features that are once or external will no longer compile.
I'm don't know what ECMA says about conversion features and I'm also not
sure whether once-per-object conversion procedures are allowed.

To Reproduce

										
Problem Report Interactions
From:manus_eiffel    Date:2011/11/23    Status: Analyzed    Download   
I believe that there is no such restriction on externals in ECMA. However for onces, I'm not sure. I believe they are accepted but they will be rejected when used as creation procedure because of the other rule we have that disallow them as creation procedure.

We should add some eweasel tests to cover that part.