Questions tagged [static-dispatch]
15 questions
                    
                    9
                    
            votes
                
                3 answers
            
        What is the difference between Binding and Dispatching in Java?
There are too many associated names: Early and Late Binding, Static and Dynamic Dispatch, Runtime vs. Compile-time Polymorphism, etc. that I don't understand the difference. 
I found a clear explanation, but is it correct? I'll paraphrase…
         
    
    
        Code_Steel
        
- 437
- 2
- 8
- 14
                    3
                    
            votes
                
                0 answers
            
        How do I validate the results of my visitor(variant) static dispatch versus polymorphic dynamic dispatch benchmark?
I have been trying to measure the performance of a std::variant-based (pseudo-) static dispatch scheme using std::visit.
The idea is that instead of a
struct A { 
  virtual unsigned f() const noexcept = 0;
  virtual ~A() noexcept {}
};
struct B0 :…
         
    
    
        bitmask
        
- 32,434
- 14
- 99
- 159
                    2
                    
            votes
                
                2 answers
            
        what is impl Trait + 'lifetime
I am reading the async book.  In section async lifetimes there is a code snippet whose grammar I am not familiar with:
fn foo_expanded<'a>(x: &'a u8) -> impl Future
         
    
    
        Steve Lau
        
- 658
- 7
- 13
                    2
                    
            votes
                
                1 answer
            
        How can I have static dispatch for a linked list containing different types all implementing a trait?
I have this working code:
struct Layer<'a> {
    parent: Option>>,
    value: Box,
}
I would like to have a version using static dispatch instead:
struct Layer<'a, R: Renderable> {
    parent: Option<&'a Layer<'a,…  
         
    
    
        M. Elkh
        
- 23
- 4
                    2
                    
            votes
                
                1 answer
            
        Can we use macros to statically dispatch on a return type in Clojure?
Now we know that dispatch on Clojure Protocols, strictly speaking, is dynamic. 
We see here a fantastic example of compile-time dispatch using a macro:
(defmacro case+
  "Same as case, but evaluates dispatch values, needed for referring to
   class…
         
    
    
        hawkeye
        
- 34,745
- 30
- 150
- 304
                    1
                    
            vote
                
                1 answer
            
        How to do static dispatch base on derivation on a template
How can I specialized a template function to return true if objects belong to certain templates/classes and false for other templates/classes
no classes have virtual functions.
I have a template:
template struct… 
         
    
    
        Daniel Anderson
        
- 67
- 5
                    1
                    
            vote
                
                0 answers
            
        Implementing Strategy pattern in rust without knowing which strategy are we using at compile time
I've been trying to implement a Strategy pattern in rust, but I'm having trouble understanding how to make it work.
So let's imagine we have a trait Adder and Element:
pub trait Element {
    fn to_string(&self) -> String;
}
pub trait Adder {
   …
        
    
                    1
                    
            vote
                
                0 answers
            
        Override in extension swift - Cannot or Should Not?
Below is my code snippet?
extension UISwitch{
    open override func draw(_ rect: CGRect) {
        self.tintColor = UIColor.red
    }
}
As per apple documentation, you should not override in extension. I understand this. Now I am not getting an…
         
    
    
        Tushar Limaye
        
- 106
- 2
- 7
                    0
                    
            votes
                
                0 answers
            
        Calling enum_dispatch'd instances of structs from main, outside of crate or file
If run without changes, test_method() is called correctly for both variants in the function get_test_vector():
//! handler.rs
use enum_dispatch::enum_dispatch;
#[enum_dispatch]
trait CommonTrait {
    fn test_method(&self)…
         
    
    
        TheAlmightyD
        
- 31
- 3
                    0
                    
            votes
                
                1 answer
            
        When is it appropriate to implement Send + Sync for static dispatch
I find myself playing around with warp.
I would like to pass a database Trait to a warp::Filter using static dispatch, such that the concrete database may vary.
I read that Send + Sync are unsafe to implement, but I don't fully understand when it is…
         
    
    
        kruserr
        
- 463
- 4
- 8
                    0
                    
            votes
                
                0 answers
            
        Can struct type be static dispatch in swift?
I think that I almost understand what will be static or dynamic dispatch.
As far as I know, struct instance with struct type will be always static dispatch.
struct A {
    func yo() {
        print("A")
    }
}
var a: A = A()
a.yo()
But, struct…
         
    
    
        HyunSu
        
- 155
- 7
                    0
                    
            votes
                
                1 answer
            
        Do Rust traits have runtime overhead?
Is there any runtime overhead if I create c1 of type Concrete1 in the code below?
pub trait ExampleTrait {
    fn foo(&self);
}
pub struct Concrete1 {}
impl ExampleTrait for Concrete1 {
    fn foo(&self) {}
}
pub struct Concrete2 {}
impl…
         
    
    
        user855
        
- 19,048
- 38
- 98
- 162
                    0
                    
            votes
                
                1 answer
            
        C++ Static Polymorphism––Referencing Specialized Template Methods Overloaded In Derived Class From Base Class Pointer
I am implementing a variation of the observer pattern in C++. However, because of the nature of the nature of my project, it CANNOT USE ANY VIRTUAL MEMBER FUNCTIONS, as the aggregate overhead from vtable lookups and cache misses is…
         
    
    
        photon19
        
- 9
- 1
                    0
                    
            votes
                
                1 answer
            
        Will increasing the use of dynamic dispatch reduce compile time?
In swift the compilation time is really slow the amount of code in your project increases. So i was looking for ways to reduce that time. One approach maybe is to use language keywords like final or static to change the way the compiler handles the…
         
    
    
        Mariano
        
- 79
- 6
                    -3
                    
            votes
                
                2 answers
            
        How to create a factory method based on static dispatch?
I want to study design pattern use rust language. From this code it works properly but it uses dynamic dispatch. How can I change the code to use static dispatch? Thanks!
trait Shape {
    fn draw(&self);
}
enum ShapeType {
    Rectangle,
   …
         
    
    
        minikiller
        
- 1
- 2
