Here is some code that works: 
    
    
    import sets
    import sequtils
    import typetraits
    
    type
      WordSet = HashSet[string]
      WordList = seq[string]
    
    const
      WORDS = @["a", "b", "c", "d", "e", "a", "b", "b", "c"]
    
    proc getWords(wordseq: WordList): WordList =
      var words: WordSet
      words.init()
      for word in wordseq:
        words.incl(word)
      WordList(toSeq(words.items)) # HERE
    
    block:
      var words = getWords(WORDS)
      echo words, words.type.name
    

However, if I add this line with the other imports: 
    
    
    import nre
    

The program won't compile any more and gives this error: 
    
    
    Error: undeclared field: 'items'
    

on the line marked HERE.

Clearly there is a name clash. But how do I avoid it so that I can use the 
HashSet.items() iterator _and_ the nre's items() function?

Thanks! 

Reply via email to