dmd/compiler/test/fail_compilation/alias_instance_member.d
Nick Treleaven 56a0ea80b1
Fix Bugzilla 14128 - AliasDeclaration allows expressions, causing false … (#15863)
* Fix Issue 14128 - AliasDeclaration allows expressions, causing false code for ThisExp

* Add test case

* Fix deprecation comment

* Add changelog

* Use dummy out param, not null

* Change to error with __edition_latest_do_not_use
2024-04-19 17:55:31 +03:00

28 lines
488 B
D

/*
TEST_OUTPUT:
---
fail_compilation/alias_instance_member.d(18): Error: cannot alias member of variable `that`
fail_compilation/alias_instance_member.d(18): Use `typeof(that)` instead to preserve behaviour
---
*/
@__edition_latest_do_not_use
module aim;
struct Foo
{
int v;
void test(Foo that) const
{
alias a = this.v; // OK
alias b = that.v;
assert(&a is &b);
}
}
void main()
{
Foo a = Foo(1);
Foo b = Foo(2);
a.test(b);
}