From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id 695A47F30A for ; Wed, 6 Mar 2013 11:36:22 +0100 (CET) Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of dra-news@metastack.com) identity=pra; client-ip=115.124.103.27; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="dra-news@metastack.com"; x-sender="dra-news@metastack.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of dra-news@metastack.com designates 115.124.103.27 as permitted sender) identity=mailfrom; client-ip=115.124.103.27; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="dra-news@metastack.com"; x-sender="dra-news@metastack.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@relay.metastack.com) identity=helo; client-ip=115.124.103.27; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="dra-news@metastack.com"; x-sender="postmaster@relay.metastack.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AhYFAMUaN1FzfGcb/2dsb2JhbAA7CYRdgyW8aoFXFnOCKgEBAQQnE08CAQgYChQQMiUCBAEaiAoCA7t/jVOBCTiCX2EDlkqBHo9QgwiCJw X-IPAS-Result: AhYFAMUaN1FzfGcb/2dsb2JhbAA7CYRdgyW8aoFXFnOCKgEBAQQnE08CAQgYChQQMiUCBAEaiAoCA7t/jVOBCTiCX2EDlkqBHo9QgwiCJw X-IronPort-AV: E=Sophos;i="4.84,794,1355094000"; d="scan'208";a="5728394" Received: from relay.metastack.com ([115.124.103.27]) by mail2-smtp-roc.national.inria.fr with ESMTP; 06 Mar 2013 11:36:19 +0100 Received: from romulus.metastack.com ([81.102.132.77]) by relay.metastack.com over TLS secured channel with Microsoft SMTPSVC(6.0.3790.4675); Wed, 6 Mar 2013 10:36:19 +0000 Received: from remus.metastack.local (remus.metastack.com [172.16.0.1]) by romulus.metastack.com (8.14.2/8.14.2) with ESMTP id r26AaDRn002860 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Wed, 6 Mar 2013 10:36:13 GMT Received: from Remus.metastack.local ([fe80::547c:3c42:e1da:eda2]) by Remus.metastack.local ([fe80::547c:3c42:e1da:eda2%10]) with mapi id 14.03.0123.003; Wed, 6 Mar 2013 10:36:13 +0000 From: David Allsopp To: Hendrik Tews , "caml-list@inria.fr" Thread-Topic: [Caml-list] What is an unsafe feature? Thread-Index: AQHOGlM7OV3j3Q2pFEqrw9O0zt4fGJiYdr+A Date: Wed, 6 Mar 2013 10:36:13 +0000 Message-ID: References: <20791.5808.750356.139380@blau.inf.tu-dresden.de> In-Reply-To: <20791.5808.750356.139380@blau.inf.tu-dresden.de> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [172.16.0.18] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Organization: MetaStack Solutions Ltd. X-Scanned-By: MIMEDefang 2.65 on 172.16.0.20 X-OriginalArrivalTime: 06 Mar 2013 10:36:19.0721 (UTC) FILETIME=[707F1790:01CE1A56] Subject: RE: [Caml-list] What is an unsafe feature? Hendrik Tews wrote: > Hi, >=20 > I always thought that the Obj module is unsafe and that functions > containing "unsafe" in their name are unsafe too. However, when I run > ocamlobjinfo on the .cmo of >=20 > let f b =3D > let a =3D "abcde" in > let c =3D Obj.magic b in > String.unsafe_blit c 0 a 0 5 >=20 > I see (with 3.12.1 and 4.00.1) >=20 > Uses unsafe features: no >=20 > So what is considered unsafe by ocamlobjinfo? I think, looking at tools/objinfo.ml and tools/primreq.ml that this only re= fers to the compilation unit itself, not interfaces which it imports (try r= unning ocamlobjinfo on stdlib.cma). The .cmo above simply imports Pervasive= s, String, Obj - the information that those are primitives is not recorded.= If you changed it to: external magic : 'a -> 'b =3D "%identity" let f b =3D let a =3D "abcde" in let c =3D magic b in String.unsafe_blit c 0 a 0 5 Then you will see the unsafe features warning from ocamlobjinfo. David