How to render a template in Drupal 8
In general in Drupal 8 you should leave out the template line and name the template the same as your hook, converting the underscores to dashes. This was changed because templates are the default output format for themeable output in D8. So in your case this hook_theme():

/**
 *  Implements hook_theme().
 */
function twitter_pull_theme($existing, $type, $theme, $path) {
  return [
    'twitter_pull_tweet_listing' =&gt; [
      'variables' =&gt; [
        'description' =&gt; [],
      ],
    ],
  ];
}


…would point to a template at templates/twitter-pull-tweet-listing.html.twig. (That's using short array syntax.)

Relevant change record: https://www.drupal.org/node/2231673

And also, from a block or controller, please return a render array instead of a string. That way the results can be manipulated afterwards and the raw data is still accessible down the line. In other words, avoid calling drupal_render() from your code whenever possible. This applies to Drupal 7 as well: https://www.drupal.org/node/930760#creating

So from your block:

return [
  '#theme' =&gt; 'twitter_pull_tweet_listing',
  '#description' =&gt; 'foo',
  '#attributes' =&gt; [],
];