From #160 (comment), related to #165.
We don't currently distinguish between abstract classes/interfaces and no-op implementations in the API package. We expect implementations to override the no-op opentelemetry.trace.Tracer class, which also serves as the Tracer interface. This pattern causes problems for Meter in #160 because we don't have a no-op implementation.
Consider separating these classes, and making it impossible to accidentally load interfaces by making them ABCs, as in Resource.
From #160 (comment), related to #165.
We don't currently distinguish between abstract classes/interfaces and no-op implementations in the API package. We expect implementations to override the no-op
opentelemetry.trace.Tracerclass, which also serves as theTracerinterface. This pattern causes problems forMeterin #160 because we don't have a no-op implementation.Consider separating these classes, and making it impossible to accidentally load interfaces by making them
ABCs, as inResource.