Skip to content

spikey green ball seems to change the semantics #806

@rfindler

Description

@rfindler

When DrRacket is in "No debugging of profiling" mode, and online expansion has completed, DrRacket will send the compiled file back from the result of online expansion to speed up running the program. But, with the program is the one below, it signals an error saying that "class ListQueue does not implement interface QUEUE", possibly because there end up being multilpe instantations of some struct somewhere?. The problem goes away when the QUEUE interface is in the file instead of being imported via ring_buffer.

#lang dssl2
import ring_buffer 

class ListQueue[T] (QUEUE):
    let _head
    let _tail

    def __init__ (self):
        self._head = None
        self._tail = None
    
    def enqueue(self, element: T) -> NoneC:
       1 

    def dequeue(self) -> T:
       2

    def empty?(self) -> bool?:
        return self._head == None 

def fill_playlist (q: QUEUE!): 
    1

fill_playlist(ListQueue())

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions