Compiler errors Typereference无法引用容器

Compiler errors Typereference无法引用容器,compiler-errors,typescript,Compiler Errors,Typescript,我在编译过程中有一个错误,我不明白 declare module M { export interface A { value1: string; } } declare module M.A { export interface B { value2: string; } } declare module D { export interface E { test1: M.A[]; // works

我在编译过程中有一个错误,我不明白

declare module M {
    export interface A {
        value1: string;
    }
}

declare module M.A {
    export interface B {
        value2: string;
    }
}

declare module D {
    export interface E {
        test1: M.A[]; // works
        test2: M.A; // error TS4022 : type reference cannot refer to container 'M.A'
        test3: {[key: number] : M.A}; // same error
    }
}
我想在我的程序中使用M.A和M.A.B接口。可能吗

$tsc --version
Version 0.9.1.1
我对这个问题的看法是一致的

语言规范中的示例在TypeScript中失败:

module X {
    export module Y {
        export interface Z { 

        }
    }
    export interface Y { 

    }
}

var z: X.Y.Z; // error!

您对规范的阅读是正确的;这是0.9.1.1编译器中的一个错误。代码在0.9.5.0测试版()中编译时没有错误。

是的,这是一个很好的解决方案。但在参考文献的«2.2名称空间和命名类型»一章中:(第13页或第20页),似乎可以使用相同的名称。但这个例子不起作用。