Opened 6 years ago

Closed 2 years ago

#107 closed defect (fixed)

tuple depth problem

Reported by: pabuhr Owned by:
Priority: minor Component: cfa-cc
Version: 1.0 Keywords:
Cc:

Description (last modified by Thierry Delisle)

Changed this ticket completely as it has nothing to do with monitors, threads or waitfor statements:

The following code :

typedef void (*fptr_t)();
typedef * [void] ( [int, int] m ) foo_t;

struct Test{};
void ?{}(Test & this, int, fptr_t func);

[void] foo([int, int] m ) {
	Test test = {2, (fptr_t)(foo_t) foo};
}

produces :

bug107-2.cfa:17:1 error: Managed object's initializer is too deep test: instance of struct Test with body 1 with initializer (maybe constructed)
  Compound initializer: 
    Simple Initializer: constant expression (2 2: signed int)
    Simple Initializer: Cast of:
      Cast of:
        Name: foo
      ... to:
        pointer to function
        ... with parameters
          m: tuple of types
            signed int
            signed int

        ... returning nothing

    ... to:
      pointer to function
        accepting unspecified arguments
      ... returning nothing

Change History (6)

comment:1 Changed 5 years ago by Thierry Delisle

Bug has nothing to do with waitfor or threads

comment:2 Changed 5 years ago by Thierry Delisle

Description: modified (diff)

comment:3 Changed 5 years ago by Thierry Delisle

Description: modified (diff)
Summary: task/waitfor tuple problemtuple depth problem

comment:4 Changed 5 years ago by Thierry Delisle

Description: modified (diff)

comment:5 Changed 5 years ago by Thierry Delisle

Owner: Thierry deleted

comment:6 Changed 2 years ago by Thierry Delisle

Resolution: fixed
Status: assignedclosed

This appears to compile now.

Note: See TracTickets for help on using tickets.