22//  DynamicProperty.swift
33//  OpenSwiftUICore
44//
5- //  Audited for 6.5.4 & 3.5.2 
5+ //  Audited for 6.5.4
66//  Status: Complete
77//  ID: 49D2A32E637CD497C6DE29B8E060A506 (SwiftUI)
88//  ID: A4C1D658B3717A3062FEFC91A812D6EB (SwiftUICore)
@@ -310,7 +310,7 @@ extension DynamicProperty {
310310    } 
311311} 
312312
313- // MARK: - BodyAccessor [3 .5.2 ]
313+ // MARK: - BodyAccessor [6 .5.4 ]
314314
315315package   protocol  BodyAccessor < Container,  Body>  { 
316316    associatedtype  Container 
@@ -325,14 +325,14 @@ extension BodyAccessor {
325325        fields:  DynamicPropertyCache . Fields 
326326    )  ->  ( _GraphValue < Body > ,  _DynamicPropertyBuffer ? )  { 
327327        guard  Body . self !=  Never . self else  { 
328-             preconditionFailure ( " \( Body . self)  may not have Body == Never " ) 
328+             preconditionFailure ( " \( Container . self)  may not have Body == Never " ) 
329329        } 
330-         return  withUnsafeMutablePointer ( to:  & inputs)  {  inputsPointer  in 
331-             func  project< Flags:   RuleThreadFlags > ( flags _:  Flags . Type )  ->  ( _GraphValue < Body > ,  _DynamicPropertyBuffer ? )  { 
330+         return  withUnsafePointer ( to:  inputs)  {  pointer  in 
331+             func  project< Flags> ( flags _:  Flags . Type )  ->  ( _GraphValue < Body > ,  _DynamicPropertyBuffer ? )   where  Flags :   RuleThreadFlags  { 
332332                let  buffer  =  _DynamicPropertyBuffer ( 
333333                    fields:  fields, 
334334                    container:  container, 
335-                     inputs:  & inputsPointer . pointee 
335+                     inputs:  & inputs 
336336                ) 
337337                if  buffer. _count ==  0  { 
338338                    buffer. destroy ( ) 
@@ -345,7 +345,7 @@ extension BodyAccessor {
345345                    let  body  =  DynamicBody < Self ,  Flags > ( 
346346                        accessor:  self , 
347347                        container:  container. value, 
348-                         phase:  inputsPointer . pointee. phase, 
348+                         phase:  pointer . pointee. phase, 
349349                        links:  buffer, 
350350                        resetSeed:  0 
351351                    ) 
@@ -371,7 +371,7 @@ extension BodyAccessor {
371371    } 
372372} 
373373
374- // MARK: - BodyAccessorRule [3 .5.2 ]
374+ // MARK: - BodyAccessorRule [6 .5.4 ]
375375
376376package   protocol  BodyAccessorRule  { 
377377    static  var  container :  Any . Type  {  get  } 
@@ -380,9 +380,7 @@ package protocol BodyAccessorRule {
380380    static  func  metaProperties< T> ( as:  T . Type ,  attribute:  AnyAttribute )  ->  [ ( String ,  AnyAttribute ) ] 
381381} 
382382
383- // TO BE AUDITED
384- 
385- // MARK: - RuleThreadFlags [3.5.2]
383+ // MARK: - RuleThreadFlags [6.5.4]
386384
387385private  protocol  RuleThreadFlags  { 
388386    static  var  value :  _AttributeType . Flags  {  get  } 
@@ -396,7 +394,7 @@ private struct MainThreadFlags: RuleThreadFlags {
396394    static  var  value :  _AttributeType . Flags  {  . mainThread } 
397395} 
398396
399- // MARK: - StaticBody [3 .5.2 ]
397+ // MARK: - StaticBody [6 .5.4 ]
400398
401399private  struct  StaticBody < Accessor:  BodyAccessor ,  ThreadFlags:  RuleThreadFlags >  { 
402400    let  accessor :  Accessor 
@@ -411,7 +409,6 @@ private struct StaticBody<Accessor: BodyAccessor, ThreadFlags: RuleThreadFlags>
411409extension  StaticBody :  StatefulRule  { 
412410    typealias  Value  =  Accessor . Body 
413411
414-     // Audited with 6.5.4
415412    func  updateValue( )  { 
416413        withObservation  { 
417414            accessor. updateBody ( of:  container,  changed:  true ) 
@@ -448,7 +445,7 @@ extension StaticBody: CustomStringConvertible {
448445    var  description :  String  {  " \( Accessor . Body. self) "  } 
449446} 
450447
451- // MARK: - DynamicBody [3 .5.2 ]
448+ // MARK: - DynamicBody [6 .5.4 ]
452449
453450private  struct  DynamicBody < Accessor:  BodyAccessor ,  ThreadFlags:  RuleThreadFlags >  { 
454451    let  accessor :  Accessor 
@@ -475,7 +472,6 @@ private struct DynamicBody<Accessor: BodyAccessor, ThreadFlags: RuleThreadFlags>
475472extension  DynamicBody :  StatefulRule  { 
476473    typealias  Value  =  Accessor . Body 
477474
478-     // Audited with 6.5.4
479475    mutating  func  updateValue( )  { 
480476        if  resetSeed !=  phase. resetSeed { 
481477            links. reset ( ) 
0 commit comments