From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!mx02.eternal-september.org!.POSTED!not-for-mail From: Simon Wright Newsgroups: comp.lang.ada Subject: Re: Haskell, anyone? Date: Mon, 16 Nov 2015 08:45:32 +0000 Organization: A noiseless patient Spider Message-ID: References: <87mvue50ey.fsf@ixod.org> <87d1vaoa6y.fsf@nightsong.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: mx02.eternal-september.org; posting-host="29a2b57997615acde1fccc73c72adb9b"; logging-data="29937"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19d/pokHEMCnLRI2KZ8SYjZP/uTMBE0uug=" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (darwin) Cancel-Lock: sha1:QNRoSCIHYyzbrBoGRUkBi5SF3z8= sha1:8dxVbVRMIuXIUUqccv0hSeIfEkU= Xref: news.eternal-september.org comp.lang.ada:28393 Date: 2015-11-16T08:45:32+00:00 List-Id: "Nasser M. Abbasi" writes: > with ada.text_io; use ada.text_io; > procedure foo is > type I is range 0 .. 20; > x,y : I :=15; > z : I :=0; > begin > z:= x + y ; > end foo; > > >>gnatmake foo.adb > gcc-4.8 -c foo.adb > foo.adb:8:12: warning: value not in range of type "I" defined at line 4 > foo.adb:8:12: warning: "Constraint_Error" will be raised at run time The compiler can only do this because the values and the assignment are close enough (in the same scope?). How often does this sort of mistake happen IRL?