| // EXTRA_FILES: imports/test20530a.d imports/plainpackage/plainmodule.d imports/pkgmodule/package.d imports/pkgmodule/plainmodule.d |
| module mod; |
| static assert(is(mod == module)); |
| static assert(is(mixin("mod") == module)); |
| static assert(!is(mod == package)); |
| static assert(!is(mixin("mod") == package)); |
| |
| import imports.test20530a; |
| static assert(is(imports == package)); |
| static assert(is(mixin("imports") == package)); |
| static assert(!is(imports == module)); |
| static assert(!is(mixin("imports") == module)); |
| |
| import imports.plainpackage.plainmodule; |
| import imports.pkgmodule.plainmodule; |
| |
| struct MyStruct; |
| |
| alias a = mixin("imports.plainpackage"); |
| alias b = mixin("imports.pkgmodule.plainmodule"); |
| |
| static assert(is(mixin("imports.plainpackage") == package)); |
| static assert(is(mixin("a") == package)); |
| static assert(!is(mixin("imports.plainpackage.plainmodule") == package)); |
| static assert(!is(mixin("b") == package)); |
| static assert(is(mixin("imports.pkgmodule") == package)); |
| mixin("static assert(is(imports.pkgmodule == package));"); |
| |
| static assert(!is(mixin("MyStruct") == package)); |
| |
| static assert(!is(mixin("imports.plainpackage") == module)); |
| static assert(!is(mixin("a") == module)); |
| static assert(is(mixin("imports.plainpackage.plainmodule") == module)); |
| static assert(is(mixin("b") == module)); |
| static assert(is(mixin("imports.pkgmodule") == module)); |
| mixin("static assert(is(imports.pkgmodule == module));"); |
| |
| static assert(!is(mixin("MyStruct") == module)); |
| |
| static assert(!is(mixin("imports.nonexistent") == package)); |
| static assert(!is(mixin("imports.nonexistent") == module)); |
| |
| // this won't work due to mixin argument .stringof expansion, |
| // it will expand to mixin(package imports.pkgmodule). Issue 20519. |
| //static assert(is(mixin(imports.pkgmodule) == package)); |
| //static assert(is(mixin(imports.pkgmodule) == module)); |