Opened 5 years ago

Last modified 7 months ago

#227 new defect

Interpretation of assertions with struct declaration — at Initial Version

Reported by: f37yu Owned by:
Priority: major Component: cfa-cc
Version: 1.0 Keywords:
Cc:

Description

Currently, assertion parameters placed on a struct declaration is interpreted as assertion on special operators (ctor/dtor/assign), which means they might be elided or forcefully bypassed.

Some test results:

forall (otype T | {void foo(T);})
struct S {
  T t;
};

S(int) s1; // error: cannot satisfy assertion for ?{}
S(int) s2 = {0}; // error: cannot satisfy assertion for ?{}
S(int) s3 @= {0}; // ok ...?

forall (otype T | {void foo(T);})
struct U {
  T * t;
};

U(int) u1; // ok ...?

Change History (0)

Note: See TracTickets for help on using tickets.