Tested with DMD 1.049 and svn r208. It's a blocker for Tango. Error: cannot implicitly convert expression (stack.pop()) of type Pair!(uint) to uint struct Pair(T) { static Pair opCall(T a, T b) { return Pair.init; } } struct Stack(T) { T pop() { return T.init; } } void main() { Stack!(Pair!(uint)) stack; Pair!(uint) item = stack.pop; //this line fails, works with stack.pop() or auto }
Why is it a blocker if using stack.pop() works?
This was probably caused by my fix to bug 2702. It also caused the other (D2 only) critical regression bug 3367. Both need to be fixed in the next release.
I've checked in a fix to this one, but not 3367.
>Why is it a blocker if using stack.pop() works? This is of course a trivial workaround. But it would break existing code (User and Tango code). Anyway, this syntax also isn't encouraged in Tango.
DMD svn r215 now segfaults on this test case.
Works with 1.051.
Fixed dmd 1.051 and 2.036
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル