Skip to content

Performance regressions for -Wunused and inlined trees #24266

@WojciechMazur

Description

@WojciechMazur

Based on OpenCB failures in donderom/llm4s

-Wunused now can lead to long compilation times, every added field to the case class (used for deriviation later) triples the compilation

Most likely caused by #24043 (would bisect to confirm later today) We're probably going to revert this change in 3.7.4-RC3, but we should try to fix it before releasing 3.8.0

Compiler version

3.7.4-RC2
3.8-nightly

Minimized code

No self-contained minimization yet, would try to provide it soon.

//> using options -Wunused:all 
//> using dep fr.hammons::slinc-core:0.6.0

import fr.hammons.slinc.types.CBool
import fr.hammons.slinc.Struct

object Llama:
  final case class SomeParams(
    param1: CBool,
    param2: CBool,
    param3: CBool,
    param4: CBool,
    param5: CBool,
    param6: CBool,
    param7: CBool,
    param8: CBool,
    param9: CBool, // 1s
    param10: CBool, // 2s
    param11: CBool, // 6s
    param12: CBool, // 18s
    // param13: CBool, // 54s
  ) derives Struct

Output

Expectation

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions