hard_variants.gd 948 B

1234567891011121314151617181920212223242526272829303132333435
  1. func variant() -> Variant: return null
  2. var member_weak = variant()
  3. var member_typed: Variant = variant()
  4. @warning_ignore("inference_on_variant")
  5. var member_inferred := variant()
  6. func param_weak(param = variant()) -> void: print(param)
  7. func param_typed(param: Variant = variant()) -> void: print(param)
  8. @warning_ignore("inference_on_variant")
  9. func param_inferred(param := variant()) -> void: print(param)
  10. func return_untyped(): return variant()
  11. func return_typed() -> Variant: return variant()
  12. @warning_ignore_start("unused_variable", "inference_on_variant")
  13. func test() -> void:
  14. var weak = variant()
  15. var typed: Variant = variant()
  16. var inferred := variant()
  17. weak = variant()
  18. typed = variant()
  19. inferred = variant()
  20. @warning_ignore("unsafe_call_argument") # TODO: Hard vs Weak vs Unknown.
  21. param_weak(typed)
  22. param_typed(typed)
  23. param_inferred(typed)
  24. if typed == null: pass
  25. if typed != null: pass
  26. if typed is Node: pass
  27. print("ok")