Is it legal to use an incomplete type in a template if the type is complete when the template is instantiated? As below #include <iostream> struct bar;
postasync
infragistics
weighted-graph
vertxoptions
serilog-sinks-file
nativecall
transitive-dependency
hasura
erlang-nif
pyqtgraph
keras-tuner
useimperativeref
kik
tinkerpop3
magickwand
hashicorp-vault
share
data-caching
b-plus-tree
aws-sdk-cpp
express
emr
public-fields
matrix-indexing
google-cloud-endpoints-v2
android-cutout
white-labelling
aspnet-compiler
team-explorer
crashlytics-android