Opened 7 years ago

Closed 3 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 by Thierry Delisle, 7 years ago

Bug has nothing to do with waitfor or threads

comment:2 by Thierry Delisle, 7 years ago

Description: modified (diff)

comment:3 by Thierry Delisle, 7 years ago

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

comment:4 by Thierry Delisle, 7 years ago

Description: modified (diff)

comment:5 by Thierry Delisle, 6 years ago

Owner: Thierry removed

comment:6 by Thierry Delisle, 3 years ago

Resolution: fixed
Status: assignedclosed

This appears to compile now.

Note: See TracTickets for help on using tickets.