Skip to content

Commit 5c35166

Browse files
committed
lib/modules: improve mismatching class error mesage
1 parent 34a9dfb commit 5c35166

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

lib/modules.nix

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -367,7 +367,14 @@ let
367367
if m._class == null || m._class == class
368368
then m
369369
else
370-
throw "The module ${m._file or m.key} was imported into ${class} instead of ${m._class}."
370+
throw ''
371+
The module `${m._file or m.key}` (class: ${lib.strings.escapeNixString m._class}) cannot be imported into a module evaluation that expects class ${lib.strings.escapeNixString class}.
372+
373+
Help:
374+
- Ensure that you are importing the correct module.
375+
- Verify that the module's `_class`, ${lib.strings.escapeNixString m._class} matches the expected `class` ${lib.strings.escapeNixString class}.
376+
- If you are using a custom class, make sure it is correctly defined and used consistently across your modules.
377+
''
371378
else
372379
m: m;
373380

0 commit comments

Comments
 (0)