Bug 17893 – [REG 2.076.1] contract in templatized final class require nothrow

Status
RESOLVED
Resolution
FIXED
Severity
regression
Priority
P1
Component
dmd
Product
D
Version
D2
Platform
x86_64
OS
Linux
Creation time
2017-10-11T10:16:00Z
Last change time
2017-11-03T18:41:19Z
Assigned to
No Owner
Creator
Basile B.

Comments

Comment #0 by b2.temp — 2017-10-11T10:16:00Z
test case: --- final class Foo(T) { void bar() in { import std.algorithm.iteration: reduce; auto b = [0].reduce!((a,b) => a + b); } body { } } Foo!int foo; --- compiles if A or B or C: A. code is not in contract B. Foo is not final C. Foo is not a template
Comment #1 by ibuclaw — 2017-10-11T22:43:10Z
Comment #2 by github-bugzilla — 2017-10-14T09:09:11Z
Commit pushed to stable at https://github.com/dlang/dmd https://github.com/dlang/dmd/commit/185fa004c8292214371b841b8f4fd2c5a6dfa2b8 Merge pull request #7208 from ibuclaw/issue17893 Fix 17893: [REG 2.076.1] contract in templatized final class require nothrow merged-on-behalf-of: Walter Bright <[email protected]>
Comment #3 by github-bugzilla — 2017-10-16T06:37:45Z
Commit pushed to master at https://github.com/dlang/dmd https://github.com/dlang/dmd/commit/185fa004c8292214371b841b8f4fd2c5a6dfa2b8 Merge pull request #7208 from ibuclaw/issue17893
Comment #4 by b2.temp — 2017-11-03T18:41:19Z
the bot didn't detect the pull as auto closable but this is well fixed now: https://github.com/dlang/dmd/pull/7208