@@ -38,10 +38,12 @@ to be run.
38
38
* Built-in [ negation] , [ arithmetic] , [ logical] , [ comparison] or [ lazy boolean]
39
39
operators used on integer and floating point types, ` bool ` , and ` char ` .
40
40
* Shared [ borrow] s, except if applied to a type with [ interior mutability] .
41
- * The [ dereference operator] .
41
+ * The [ dereference operator] except for raw pointers .
42
42
* [ Grouped] expressions.
43
- * [ Cast] expressions, except pointer to address and
44
- function pointer to address casts.
43
+ * [ Cast] expressions, except
44
+ * pointer to address casts,
45
+ * function pointer to address casts, and
46
+ * unsizing casts to trait objects.
45
47
* Calls of [ const functions] and const methods.
46
48
* [ loop] , [ while] and [ ` while let ` ] expressions.
47
49
* [ if] , [ ` if let ` ] and [ match] expressions.
@@ -65,13 +67,13 @@ return type may use, as well as prevent various expressions from being used with
65
67
66
68
Notable features that const contexts have, but const fn haven't are:
67
69
68
- * floating point types
70
+ * floating point operations
71
+ * floating point values are treated just like generic parameters without trait bounds beyond
72
+ ` Copy ` . So you cannot do anything with them but copy/move them around.
69
73
* ` dyn Trait ` types
70
74
* generic bounds on generic parameters beyond ` Sized `
71
- * dereferencing of raw pointers
72
- * casting raw pointers to integers
73
75
* comparing raw pointers
74
- * union field access
76
+ * union field access or ` transmute ` invocations.
75
77
76
78
[ arithmetic ] : expressions/operator-expr.md#arithmetic-and-logical-binary-operators
77
79
[ array expressions ] : expressions/array-expr.md
0 commit comments