The following does *not* work, because &A.foo also performs a vtbl lookup when put inside A…
--- class A { void foo() {} void bar() { auto thisDg = &this.foo; writeln(&A.foo is thisDg.funcptr); } } ---Besides, it also returns a delegate because of this, which is why the code does not even compile, but that would be worked around easily.