Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

198
Vistas
Why is Swift compiler complaining about circular reference when I comment out seemingly unrelated code?

Creating a brand new macOS Command Line Tool project in Xcode Version 13.3 (13E113), and replacing the contents of main.swift with the following code:

import Foundation

enum StructA {
    // case case1(value: StructB)
    case case2(expr: StructB)
}

indirect enum StructB {
    case case3
    case case4(expr: StructB)
}

Results in the following compile-time error:

<unknown>:0: error: circular reference
/Users/alextj/projects/TestProject/main.swift:8:15: note: through reference here
indirect enum StructB {
              ^
<unknown>:0: note: through reference here

However, if you uncomment the case1 line, then the circular reference error goes away!

So the following code compiles without errors:

import Foundation

enum StructA {
    case case1(value: StructB)
    case case2(expr: StructB)
}

indirect enum StructB {
    case case3
    case case4(expr: StructB)
}

Why?

Why does commenting out case1 cause a circular reference?

over 4 years ago · Santiago Trujillo
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda