1 #FIG 3.2 Produced by xfig version 3.2.6a
10 2 2 0 2 1 7 61 -1 -1 0.000 0 0 -1 0 0 5
11 -1530 -1170 450 -1170 450 -540 -1530 -540 -1530 -1170
12 2 2 0 2 1 7 62 -1 -1 0.000 0 0 -1 0 0 5
13 990 -1170 4050 -1170 4050 -540 990 -540 990 -1170
14 2 1 0 2 1 7 62 -1 -1 0.000 0 0 -1 0 0 2
16 2 1 0 2 1 7 63 -1 -1 0.000 0 0 -1 0 0 2
18 2 1 0 2 1 7 62 -1 -1 0.000 0 0 -1 0 0 3
19 990 2700 1620 2880 990 3240
20 2 1 0 2 1 7 63 -1 -1 0.000 0 0 -1 0 0 3
21 990 2700 1620 2880 990 3240
22 2 2 0 2 12 7 63 -1 -1 0.000 0 0 7 0 0 5
23 990 -540 4050 -540 4050 0 990 0 990 -540
24 2 2 0 2 1 7 63 -1 -1 0.000 0 0 7 0 0 5
25 990 90 4500 90 4500 1170 990 1170 990 90
26 2 1 0 2 12 7 63 -1 -1 0.000 0 0 -1 0 0 3
27 900 5130 1710 4230 900 5580
28 2 1 0 2 1 7 62 -1 -1 0.000 0 0 -1 0 0 2
30 2 1 0 2 1 7 62 -1 -1 0.000 0 0 -1 0 0 2
32 2 5 0 1 0 -1 90 -1 20 0.000 0 0 -1 0 0 5
33 0 tour-example.txt.eps
34 -1530 2070 9900 2070 9900 6264 -1530 6264 -1530 2070
35 2 2 0 2 1 7 71 -1 -1 0.000 0 0 -1 0 0 5
36 4680 -1170 6480 -1170 6480 990 4680 990 4680 -1170
37 2 1 0 2 1 7 71 -1 -1 0.000 0 0 -1 0 0 2
39 2 1 0 2 1 7 71 -1 -1 0.000 0 0 -1 0 0 2
41 2 5 0 1 0 -1 171 -1 20 0.000 0 0 -1 0 0 5
42 0 unsafe-example.txt.eps
43 -1530 1710 9900 1710 9900 5904 -1530 5904 -1530 1710
44 2 5 0 1 0 -1 172 -1 20 0.000 0 0 -1 0 0 5
46 -1440 -1170 6212 -1170 6212 3592 -1440 3592 -1440 -1170
47 2 2 0 1 0 7 272 -1 20 0.000 0 0 -1 0 0 5
48 -1530 -1260 7020 -1260 7020 3870 -1530 3870 -1530 -1260
49 2 2 0 1 0 7 272 -1 20 0.000 0 0 -1 0 0 5
50 -1530 4140 9540 4140 9540 6120 -1530 6120 -1530 4140
51 2 5 0 1 0 -1 172 -1 20 0.000 0 0 -1 0 0 5
52 0 ffi-example-cpp.txt.eps
53 -1440 4320 9356 4320 9356 5940 -1440 5940 -1440 4320
54 2 1 0 2 1 7 72 -1 -1 0.000 0 0 -1 0 0 2
56 2 1 0 2 1 7 72 -1 -1 0.000 0 0 -1 0 0 2
58 2 1 0 2 1 7 72 -1 -1 0.000 0 0 -1 0 0 3
59 3150 2610 2970 2880 3150 2880
60 2 1 0 2 1 7 72 -1 -1 0.000 0 0 -1 0 0 2
62 2 2 0 2 1 7 72 -1 -1 0.000 0 0 -1 0 0 5
63 7470 -1260 9720 -1260 9720 540 7470 540 7470 -1260
64 4 0 1 62 -1 1 27 0.0000 4 405 6480 1980 4320 by specifying values of the members\001
65 4 0 1 63 -1 1 27 0.0000 4 405 4680 4230 1710 struct type is polymorphic\001
66 4 0 1 62 -1 1 27 0.0000 4 405 5100 1710 3870 construction of struct values\001
67 4 0 12 63 -1 1 27 0.0000 4 405 5760 2160 4500 compiler infers, eg, Point<f64>\001
68 4 0 12 63 -1 1 27 0.0000 4 405 7995 1800 4140 types of i and f not specified by programmer\001
69 4 0 1 63 -1 1 27 0.0000 4 300 2430 1890 3330 whatever T is\001
70 4 0 1 63 -1 1 27 0.0000 4 405 4050 1800 2880 members are of type T\001
71 4 0 1 62 -1 1 27 0.0000 4 405 4500 5040 2340 definition of a struct type\001
72 4 0 1 63 -1 1 27 0.0000 4 405 4905 4320 2160 there's Point<T> for any T\001
73 4 0 1 62 -1 1 27 0.0000 4 405 7365 1890 2970 definition of the members and their types\001
74 4 0 1 71 -1 1 27 0.0000 4 405 5280 4050 6300 bypasses array bounds check\001
75 4 0 1 71 -1 1 27 0.0000 4 405 5310 3960 5850 raw pointer offset calculation\001
76 4 0 1 71 -1 1 27 0.0000 4 405 6870 2700 4950 language features or library functions\001
77 4 0 1 71 -1 1 27 0.0000 4 420 7035 2700 4500 required to surround any use of unsafe\001
78 4 0 1 71 -1 1 27 0.0000 4 405 4755 4410 2250 unsafe code's assumptions\001
79 4 0 1 71 -1 1 27 0.0000 4 390 4725 4230 1890 programmer documenting\001
80 4 0 0 380 -1 2 30 0.0000 4 435 1470 -1260 -720 Syntax\001
81 4 0 0 380 -1 2 30 0.0000 4 435 2655 1080 -720 Type system\001
82 4 0 0 380 -1 2 30 0.0000 4 330 1965 1260 -90 inference\001
83 4 0 0 380 -1 2 30 0.0000 4 435 3105 1260 450 polymorphism\001
84 4 0 0 380 -1 2 30 0.0000 4 435 2625 1530 990 ("generics")\001
85 4 0 0 380 -1 2 27 0.0000 4 300 1260 4950 -180 unsafe\001
86 4 0 0 380 -1 2 27 0.0000 4 300 1245 4950 270 escape\001
87 4 0 0 380 -1 2 27 0.0000 4 300 1080 4950 720 hatch\001
88 4 0 0 380 -1 2 30 0.0000 4 435 1335 4860 -720 Safety\001
89 4 0 0 380 -1 2 30 0.0000 4 330 795 7650 -720 FFI\001
90 4 0 0 380 -1 2 27 0.0000 4 390 1350 7830 -180 talking\001
91 4 0 0 380 -1 2 27 0.0000 4 300 1605 7830 270 to C etc.\001
92 4 0 0 72 -1 2 32 0.0000 4 360 1080 -1440 3690 Rust\001
93 4 0 0 72 -1 2 32 0.0000 4 360 1020 -1440 6030 C++\001
94 4 0 1 72 -1 1 27 0.0000 4 390 2970 1170 1440 raw pointer type\001
95 4 0 1 72 -1 1 27 0.0000 4 405 2955 4230 810 array of 2 size_t\001
96 4 0 1 72 -1 1 27 0.0000 4 405 5160 2970 2070 calls out of Rust are not safe\001
97 4 0 1 72 -1 1 27 0.0000 4 405 2235 810 3060 types will be\001
98 4 0 1 72 -1 1 27 0.0000 4 315 1425 1620 3420 checked\001
99 4 0 0 50 -1 2 32 0.0000 4 465 8505 -1530 -1620 Other properties of Rust - illustrated\001