contract_name_08.sol 666 B

12345678910111213141516171819202122232425262728
  1. contract a {
  2. function x() public {
  3. b y = new b();
  4. }
  5. }
  6. contract b {
  7. function x() public {
  8. c y = new c();
  9. }
  10. }
  11. contract c {
  12. function x() public {
  13. a y = new a();
  14. }
  15. function y() public {
  16. a y = new a({});
  17. }
  18. }
  19. // ---- Expect: diagnostics ----
  20. // warning: 4:19-20: local variable 'y' is unused
  21. // warning: 10:19-20: local variable 'y' is unused
  22. // error: 16:23-30: circular reference creating contract 'a'
  23. // error: 20:23-32: circular reference creating contract 'a'