<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://www.w3.org/Bugs/Public/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4"
          urlbase="https://www.w3.org/Bugs/Public/"
          
          maintainer="sysbot+bugzilla@w3.org"
>

    <bug>
          <bug_id>16447</bug_id>
          
          <creation_ts>2012-03-20 14:40:01 +0000</creation_ts>
          <short_desc>Inheritance loop</short_desc>
          <delta_ts>2012-03-31 21:14:50 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebAppsWG</product>
          <component>WebIDL</component>
          <version>unspecified</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Marcos Caceres">w3c</reporter>
          <assigned_to name="Cameron McCormack">cam</assigned_to>
          <cc>mike</cc>
    
    <cc>public-script-coord</cc>
          
          <qa_contact>public-webapps-bugzilla</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>65830</commentid>
    <comment_count>0</comment_count>
    <who name="Marcos Caceres">w3c</who>
    <bug_when>2012-03-20 14:40:01 +0000</bug_when>
    <thetext>The following is a statement of fact (drop &quot;MUST NOT&quot; and say &quot;can&apos;t&quot;):

An exception must not be declared such that its inheritance hierarchy has a cycle. That is, an interface A cannot inherit from itself, nor can it inherit from another interface B that inherits from A, and so on.

The inheritance loop check needs to be performed during binding (it is redundant to say MUST here).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65895</commentid>
    <comment_count>1</comment_count>
    <who name="Marcos Caceres">w3c</who>
    <bug_when>2012-03-21 12:10:07 +0000</bug_when>
    <thetext>I&apos;ve thought a bit more about this one... keep it. But the algorithm in the binding section needs to take this requirement into consideration! I.e., binding needs to have error handling defined, if it doesn&apos;t already. And I don&apos;t think it currently does.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65930</commentid>
    <comment_count>2</comment_count>
    <who name="Cameron McCormack">cam</who>
    <bug_when>2012-03-21 22:56:22 +0000</bug_when>
    <thetext>Do you mean the requirements for the prototype property in #es-interfaces needs to handle invalid IDL like

  interface A : B { };
  interface B : A { };

?  I don&apos;t think we really need to.  It&apos;s clearly an error, and we don&apos;t want implementors to deal with the problem in some way, we want the specs to be fixed. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66314</commentid>
    <comment_count>3</comment_count>
    <who name="Marcos Caceres">w3c</who>
    <bug_when>2012-03-31 21:14:50 +0000</bug_when>
    <thetext>ok, fair enough. Easy enough to fix later if it comes up as an issue.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>