I'm not 100% sure that rdmd is the culprit here, or if it's something OPTLINK isn't picking up.

Given the following modules:

  module a_pkg.a_module;
  import std.exception ;

  immutable class Test
  {
        string[string] aa ;

        this( )
        {
                string[string] tmp ;
                ...fill tmp with stuff...
                aa = assumeUnique( tmp ) ;
        }
  }

and

  module main ;
  import a_pkg.a_module ;

  ...do something that uses Test...

if I rdmd main.d, I get the following error:
Error 42: Symbol Undefined _D16TypeInfo_HAyayAa6__initZ

now, if I add the following class to main.d:

  immutable class Placeholder
  {
        string[string] aa ;

        this()
        {
                string[string] tmp ;
                aa = assumeUnique( tmp ) ;
        }
  }

It all compiles/works fine. Any ideas on what I might be doing wrong here?

Reply via email to